From fe64f80fc3789f87c750ea9bc0f0ff2ffb7e22b2 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Thu, 22 Aug 2024 02:51:39 +0330 Subject: [PATCH 01/10] Add babyJubJub.ts to zk-circuits --- package-lock.json | 1332 ++++++++++++++++- .../zk-circuits/circuits/decrypt_card.circom | 5 + .../circuits/shuffle_encrypt_deck.circom | 5 + .../circuits/templates/decrypt_card.circom | 39 + .../circuits/templates/encrypt_card.circom | 50 + .../circuits/templates/encrypt_deck.circom | 25 + .../templates/multiply_matrix_vector.circom | 17 + .../circuits/templates/shuffle_deck.circom | 31 + .../templates/shuffle_encrypt_deck.circom | 39 + .../verify_permutation_matrix.circom | 27 + packages/zk-circuits/package.json | 57 + packages/zk-circuits/src/babyjubjub.test.ts | 114 ++ packages/zk-circuits/src/babyjubjub.ts | 97 ++ packages/zk-circuits/src/ffjavascript.d.ts | 38 + packages/zk-circuits/tsconfig.json | 10 + packages/zk-circuits/turbo.json | 211 +++ 16 files changed, 2053 insertions(+), 44 deletions(-) create mode 100644 packages/zk-circuits/circuits/decrypt_card.circom create mode 100644 packages/zk-circuits/circuits/shuffle_encrypt_deck.circom create mode 100644 packages/zk-circuits/circuits/templates/decrypt_card.circom create mode 100644 packages/zk-circuits/circuits/templates/encrypt_card.circom create mode 100644 packages/zk-circuits/circuits/templates/encrypt_deck.circom create mode 100644 packages/zk-circuits/circuits/templates/multiply_matrix_vector.circom create mode 100644 packages/zk-circuits/circuits/templates/shuffle_deck.circom create mode 100644 packages/zk-circuits/circuits/templates/shuffle_encrypt_deck.circom create mode 100644 packages/zk-circuits/circuits/templates/verify_permutation_matrix.circom create mode 100644 packages/zk-circuits/package.json create mode 100644 packages/zk-circuits/src/babyjubjub.test.ts create mode 100644 packages/zk-circuits/src/babyjubjub.ts create mode 100644 packages/zk-circuits/src/ffjavascript.d.ts create mode 100644 packages/zk-circuits/tsconfig.json create mode 100644 packages/zk-circuits/turbo.json diff --git a/package-lock.json b/package-lock.json index fd1bda4..825f6c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1415,6 +1415,22 @@ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, + "node_modules/@iden3/bigarray": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@iden3/bigarray/-/bigarray-0.0.2.tgz", + "integrity": "sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g==", + "license": "GPL-3.0" + }, + "node_modules/@iden3/binfileutils": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@iden3/binfileutils/-/binfileutils-0.0.12.tgz", + "integrity": "sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ==", + "license": "GPL-3.0", + "dependencies": { + "fastfile": "0.0.20", + "ffjavascript": "^0.3.0" + } + }, "node_modules/@identity-connect/api": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/@identity-connect/api/-/api-0.7.0.tgz", @@ -1502,6 +1518,10 @@ "resolved": "apps/web", "link": true }, + "node_modules/@jeton/zk-circuits": { + "resolved": "packages/zk-circuits", + "link": true + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", @@ -2718,32 +2738,28 @@ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@tsconfig/node12": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@tsconfig/node14": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@tsconfig/node16": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/@types/cacheable-request": { "version": "6.0.3", @@ -2757,6 +2773,13 @@ "@types/responselike": "^1.0.0" } }, + "node_modules/@types/chai": { + "version": "4.3.19", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.19.tgz", + "integrity": "sha512-2hHHvQBVE2FiSK4eN0Br6snX9MtolHaTo/batnLjlGRhoQzlCL61iVpxoqO7SfFyOw+P/pwv+0zNHzKoGWz9Cw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/chrome": { "version": "0.0.136", "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.136.tgz", @@ -2818,6 +2841,13 @@ "@types/node": "*" } }, + "node_modules/@types/mocha": { + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", + "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "22.5.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", @@ -2874,6 +2904,13 @@ "@types/node": "*" } }, + "node_modules/@types/snarkjs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/@types/snarkjs/-/snarkjs-0.7.8.tgz", + "integrity": "sha512-x37Jsv1vx6I6RMJdfvYEmDUOLYgzYMecwlk13gniDOcN20xLVe9hy9DlQxWeCPirqpDY/jwugQSqCi2RxehU3g==", + "dev": true, + "license": "MIT" + }, "node_modules/@vercel/build-utils": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-8.4.0.tgz", @@ -4478,6 +4515,16 @@ "zod": "^3.17.3" } }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/ansi-escapes": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", @@ -4730,6 +4777,16 @@ "printable-characters": "^1.0.42" } }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, "node_modules/ast-types": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", @@ -4743,6 +4800,12 @@ "node": ">=4" } }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, "node_modules/async-listen": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/async-listen/-/async-listen-1.2.0.tgz", @@ -4814,11 +4877,16 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/b4a": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", + "license": "Apache-2.0" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, "license": "MIT" }, "node_modules/base64-js": { @@ -4841,6 +4909,22 @@ ], "license": "MIT" }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -4865,6 +4949,16 @@ "file-uri-to-path": "1.0.0" } }, + "node_modules/blake2b-wasm": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz", + "integrity": "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==", + "license": "MIT", + "dependencies": { + "b4a": "^1.0.1", + "nanoassert": "^2.0.0" + } + }, "node_modules/blake3-wasm": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", @@ -4872,11 +4966,16 @@ "dev": true, "license": "MIT" }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -4895,6 +4994,13 @@ "node": ">=8" } }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true, + "license": "ISC" + }, "node_modules/browserslist": { "version": "4.23.3", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", @@ -5037,6 +5143,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", @@ -5078,6 +5197,23 @@ "tslib": "^2.2.0" } }, + "node_modules/chai": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/chalk": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", @@ -5090,6 +5226,22 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "license": "MIT" + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -5123,6 +5275,25 @@ "license": "ISC", "peer": true }, + "node_modules/circom_runtime": { + "version": "0.1.25", + "resolved": "https://registry.npmjs.org/circom_runtime/-/circom_runtime-0.1.25.tgz", + "integrity": "sha512-xBGsBFF5Uv6AKvbpgExYqpHfmfawH2HKe+LyjfKSRevqEV8u63i9KGHVIILsbJNW+0c5bm/66f0PUYQ7qZSkJA==", + "license": "Apache-2.0", + "dependencies": { + "ffjavascript": "0.3.0" + }, + "bin": { + "calcwit": "calcwit.js" + } + }, + "node_modules/circomlib": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/circomlib/-/circomlib-2.0.5.tgz", + "integrity": "sha512-O7NQ8OS+J4eshBuoy36z/TwQU0YHw8W3zxZcs4hVwpEll3e4hDm3mgkIPqItN8FDeLEKZFK3YeT/+k8TiLF3/A==", + "dev": true, + "license": "GPL-3.0" + }, "node_modules/cjs-module-lexer": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", @@ -5176,6 +5347,107 @@ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/clone-response": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", @@ -5200,7 +5472,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -5213,7 +5484,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, "license": "MIT" }, "node_modules/color-support": { @@ -5266,9 +5536,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/consola": { "version": "3.2.3", @@ -5340,8 +5608,7 @@ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -5419,6 +5686,19 @@ } } }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -5446,6 +5726,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, "node_modules/defer-to-connect": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", @@ -5515,12 +5811,11 @@ "license": "Apache-2.0" }, "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "license": "BSD-3-Clause", - "peer": true, "engines": { "node": ">=0.3.1" } @@ -5642,6 +5937,21 @@ "@json-rpc-tools/provider": "^1.5.5" } }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/electron-to-chromium": { "version": "1.5.18", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.18.tgz", @@ -6087,25 +6397,90 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/estree-walker": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, "engines": { - "node": ">= 0.6" + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/eth-rpc-errors": { + "node_modules/escodegen/node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eth-rpc-errors": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", @@ -6218,12 +6593,24 @@ "optional": true, "peer": true }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, "node_modules/fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", "license": "MIT" }, + "node_modules/fastfile": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/fastfile/-/fastfile-0.0.20.tgz", + "integrity": "sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA==", + "license": "GPL-3.0" + }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -6245,6 +6632,17 @@ "pend": "~1.2.0" } }, + "node_modules/ffjavascript": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.3.0.tgz", + "integrity": "sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ==", + "license": "GPL-3.0", + "dependencies": { + "wasmbuilder": "0.0.16", + "wasmcurves": "0.2.2", + "web-worker": "1.2.0" + } + }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -6253,6 +6651,27 @@ "license": "MIT", "peer": true }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -6266,6 +6685,33 @@ "node": ">=8" } }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", @@ -6375,8 +6821,7 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -6505,6 +6950,16 @@ "node": ">= 4" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-east-asian-width": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", @@ -6518,6 +6973,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/get-source": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz", @@ -6677,6 +7142,15 @@ } } }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -6698,6 +7172,25 @@ "node": ">= 0.4" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", @@ -6832,7 +7325,6 @@ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "license": "ISC", - "peer": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6919,6 +7411,16 @@ "node": ">=0.12.0" } }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", @@ -6932,6 +7434,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -6961,6 +7476,89 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jiti": { "version": "1.21.6", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", @@ -7102,6 +7700,17 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "license": "MIT", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, "node_modules/jwt-decode": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", @@ -7126,6 +7735,19 @@ "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==", "license": "MIT" }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/lilconfig": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", @@ -7202,6 +7824,22 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -7230,6 +7868,69 @@ "dev": true, "license": "MIT" }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/log-update": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", @@ -7283,6 +7984,12 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/logplease": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/logplease/-/logplease-1.2.15.tgz", + "integrity": "sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA==", + "license": "MIT" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -7295,6 +8002,16 @@ "loose-envify": "cli.js" } }, + "node_modules/loupe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, "node_modules/lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", @@ -7583,6 +8300,76 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mocha": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", + "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -7623,6 +8410,12 @@ "thenify-all": "^1.0.0" } }, + "node_modules/nanoassert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", + "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==", + "license": "ISC" + }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -7916,6 +8709,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/os-paths": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/os-paths/-/os-paths-4.4.0.tgz", @@ -7947,6 +8757,38 @@ "node": ">=8" } }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/package-json-from-dist": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", @@ -7984,6 +8826,16 @@ "license": "MIT", "peer": true }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -8084,6 +8936,16 @@ "dev": true, "license": "MIT" }, + "node_modules/pathval": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, "node_modules/pcre-to-regexp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pcre-to-regexp/-/pcre-to-regexp-1.1.0.tgz", @@ -8331,6 +9193,14 @@ "integrity": "sha512-EHLlEmrUA/hALls49oBrtE7BzDXXjB9EiO4MZpsoO3R/jRuBmD+2WKQuYAbeuVEpTzrPpUTT79z2cz4qaFgPRg==", "license": "MIT" }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/pretty-ms": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", @@ -8428,6 +9298,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/r1csfile": { + "version": "0.0.48", + "resolved": "https://registry.npmjs.org/r1csfile/-/r1csfile-0.0.48.tgz", + "integrity": "sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw==", + "license": "GPL-3.0", + "dependencies": { + "@iden3/bigarray": "0.0.2", + "@iden3/binfileutils": "0.0.12", + "fastfile": "0.0.20", + "ffjavascript": "0.3.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/raw-body": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", @@ -9168,6 +10060,16 @@ "license": "MIT", "peer": true }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -9517,6 +10419,16 @@ "node": ">=10" } }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -9606,11 +10518,32 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/snarkjs": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/snarkjs/-/snarkjs-0.7.4.tgz", + "integrity": "sha512-x4cOCR4YXSyBlLtfnUUwfbZrw8wFd/Y0lk83eexJzKwZB8ELdpH+10ts8YtDsm2/a3WK7c7p514bbE8NpqxW8w==", + "license": "GPL-3.0", + "dependencies": { + "@iden3/binfileutils": "0.0.12", + "bfj": "^7.0.2", + "blake2b-wasm": "^2.4.0", + "circom_runtime": "0.1.25", + "ejs": "^3.1.6", + "fastfile": "0.0.20", + "ffjavascript": "0.3.0", + "js-sha3": "^0.8.0", + "logplease": "^1.2.15", + "r1csfile": "0.0.48" + }, + "bin": { + "snarkjs": "build/cli.cjs" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "devOptional": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -9652,6 +10585,15 @@ "license": "MIT", "peer": true }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "license": "MIT", + "dependencies": { + "escodegen": "^1.8.1" + } + }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", @@ -9895,6 +10837,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/styled-jsx": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", @@ -9957,6 +10912,22 @@ "node": ">= 6" } }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", @@ -10182,6 +11153,12 @@ "tree-kill": "cli.js" } }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "license": "MIT" + }, "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", @@ -10254,6 +11231,17 @@ "license": "MIT", "peer": true }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/ts-toolbelt": { "version": "9.6.0", "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz", @@ -11065,6 +12053,18 @@ "license": "Unlicense", "peer": true }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-fest": { "version": "4.26.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", @@ -11107,6 +12107,12 @@ "license": "MIT", "peer": true }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "license": "MIT" + }, "node_modules/undici": { "version": "5.28.4", "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", @@ -11236,8 +12242,7 @@ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/vercel": { "version": "37.4.0", @@ -11322,6 +12327,21 @@ "node": ">=8.10.0" } }, + "node_modules/wasmbuilder": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/wasmbuilder/-/wasmbuilder-0.0.16.tgz", + "integrity": "sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA==", + "license": "GPL-3.0" + }, + "node_modules/wasmcurves": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/wasmcurves/-/wasmcurves-0.2.2.tgz", + "integrity": "sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ==", + "license": "GPL-3.0", + "dependencies": { + "wasmbuilder": "0.0.16" + } + }, "node_modules/web-vitals": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-0.2.4.tgz", @@ -11330,6 +12350,12 @@ "license": "Apache-2.0", "peer": true }, + "node_modules/web-worker": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", + "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", + "license": "Apache-2.0" + }, "node_modules/webextension-polyfill": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.12.0.tgz", @@ -11459,6 +12485,15 @@ "node": ">=8" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/workerd": { "version": "1.20240821.1", "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20240821.1.tgz", @@ -11480,6 +12515,13 @@ "@cloudflare/workerd-windows-64": "1.20240821.1" } }, + "node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/wrangler": { "version": "3.75.0", "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.75.0.tgz", @@ -11696,6 +12738,16 @@ "dev": true, "license": "MIT" }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -11717,6 +12769,106 @@ "node": ">= 14" } }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", @@ -11764,11 +12916,23 @@ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=6" } }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/youch": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/youch/-/youch-3.3.3.tgz", @@ -11841,6 +13005,86 @@ "dependencies": { "undici-types": "~6.19.2" } + }, + "packages/zk-circuits": { + "name": "@jeton/zk-circuits", + "version": "0.0.0", + "dependencies": { + "ffjavascript": "^0.3.0", + "snarkjs": "^0.7.4" + }, + "devDependencies": { + "@jeton/typescript-config": "^0.0.0", + "@types/chai": "^4.3.18", + "@types/mocha": "^10.0.7", + "@types/snarkjs": "^0.7.8", + "chai": "^5.1.1", + "circomlib": "^2.0.5", + "mocha": "^10.7.3", + "ts-node": "^10.9.2", + "typescript": "^5.5.4" + } + }, + "packages/zk-circuits/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true, + "license": "MIT" + }, + "packages/zk-circuits/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "packages/zk-circuits/node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } } } } diff --git a/packages/zk-circuits/circuits/decrypt_card.circom b/packages/zk-circuits/circuits/decrypt_card.circom new file mode 100644 index 0000000..02d760b --- /dev/null +++ b/packages/zk-circuits/circuits/decrypt_card.circom @@ -0,0 +1,5 @@ +pragma circom 2.0.0; + +include "./templates/decrypt_card.circom"; + +component main { public[ publicKey, inputVector ] } = DecryptCard(); diff --git a/packages/zk-circuits/circuits/shuffle_encrypt_deck.circom b/packages/zk-circuits/circuits/shuffle_encrypt_deck.circom new file mode 100644 index 0000000..de12147 --- /dev/null +++ b/packages/zk-circuits/circuits/shuffle_encrypt_deck.circom @@ -0,0 +1,5 @@ +pragma circom 2.0.0; + +include "./templates/shuffle_encrypt_deck.circom"; + +component main { public[ aggregatedPublicKey, inputDeck ] } = ShuffleEncryptDeck(52); diff --git a/packages/zk-circuits/circuits/templates/decrypt_card.circom b/packages/zk-circuits/circuits/templates/decrypt_card.circom new file mode 100644 index 0000000..7e01a39 --- /dev/null +++ b/packages/zk-circuits/circuits/templates/decrypt_card.circom @@ -0,0 +1,39 @@ +pragma circom 2.0.0; + +include "../../../../node_modules/circomlib/circuits/bitify.circom"; +include "../../../../node_modules/circomlib/circuits/escalarmulany.circom"; +include "../../../../node_modules/circomlib/circuits/escalarmulfix.circom"; + +template DecryptCard() { + signal input secretKey; + signal input publicKey[2]; + signal input inputVector[2]; + signal output outputVector[2]; + + var BASE8[2] = [ + 5299619240641551281634865583518297030282874472190772894086521144482721001553, + 16950150798460657717958625567821834550301663161624707787222815936182638968203 + ]; + + component secretKeyBits = Num2Bits(253); + secretKeyBits.in <== secretKey; + + component multiplySecretKeyBase8 = EscalarMulFix(253, BASE8); + for (var i = 0; i < 253; i++) { + multiplySecretKeyBase8.e[i] <== secretKeyBits.out[i]; + } + for (var i = 0; i < 2; i++) { + multiplySecretKeyBase8.out[i] === publicKey[i]; + } + + component multiplySecretKeyInputVector = EscalarMulAny(253); + for (var i = 0; i < 253; i++) { + multiplySecretKeyInputVector.e[i] <== secretKeyBits.out[i]; + } + for (var i = 0; i < 2; i++) { + multiplySecretKeyInputVector.p[i] <== inputVector[i]; + } + for(var i = 0; i < 2; i++) { + outputVector[i] <== multiplySecretKeyInputVector.out[i]; + } +} \ No newline at end of file diff --git a/packages/zk-circuits/circuits/templates/encrypt_card.circom b/packages/zk-circuits/circuits/templates/encrypt_card.circom new file mode 100644 index 0000000..ca35abc --- /dev/null +++ b/packages/zk-circuits/circuits/templates/encrypt_card.circom @@ -0,0 +1,50 @@ +pragma circom 2.0.0; + +include "../../../../node_modules/circomlib/circuits/bitify.circom"; +include "../../../../node_modules/circomlib/circuits/escalarmulany.circom"; +include "../../../../node_modules/circomlib/circuits/escalarmulfix.circom"; +include "../../../../node_modules/circomlib/circuits/babyjub.circom"; + +template EncryptCard() { + signal input aggregatedPublicKey[2]; + signal input random; + signal input inputVector[4]; + signal output outputVector[4]; + + var BASE8[2] = [ + 5299619240641551281634865583518297030282874472190772894086521144482721001553, + 16950150798460657717958625567821834550301663161624707787222815936182638968203 + ]; + + component randomBits = Num2Bits(253); + randomBits.in <== random; + + component multiplyRandomBase8 = EscalarMulFix(253, BASE8); + for (var i = 0; i < 253; i++) { + multiplyRandomBase8.e[i] <== randomBits.out[i]; + } + + component multiplyRandomPublicKey = EscalarMulAny(253); + for (var i = 0; i < 253; i++) { + multiplyRandomPublicKey.e[i] <== randomBits.out[i]; + } + for (var i = 0; i < 2; i++) { + multiplyRandomPublicKey.p[i] <== aggregatedPublicKey[i]; + } + + component addFirstPoint = BabyAdd(); + addFirstPoint.x1 <== inputVector[0]; + addFirstPoint.y1 <== inputVector[1]; + addFirstPoint.x2 <== multiplyRandomBase8.out[0]; + addFirstPoint.y2 <== multiplyRandomBase8.out[1]; + outputVector[0] <== addFirstPoint.xout; + outputVector[1] <== addFirstPoint.yout; + + component addSecondPoint = BabyAdd(); + addSecondPoint.x1 <== inputVector[2]; + addSecondPoint.y1 <== inputVector[3]; + addSecondPoint.x2 <== multiplyRandomPublicKey.out[0]; + addSecondPoint.y2 <== multiplyRandomPublicKey.out[1]; + outputVector[2] <== addSecondPoint.xout; + outputVector[3] <== addSecondPoint.yout; +} \ No newline at end of file diff --git a/packages/zk-circuits/circuits/templates/encrypt_deck.circom b/packages/zk-circuits/circuits/templates/encrypt_deck.circom new file mode 100644 index 0000000..f8f7a7e --- /dev/null +++ b/packages/zk-circuits/circuits/templates/encrypt_deck.circom @@ -0,0 +1,25 @@ +pragma circom 2.0.0; + +include "./encrypt_card.circom"; + +template EncryptDeck(n) { + signal input aggregatedPublicKey[2]; + signal input randomVector[n]; + signal input inputDeck[n][4]; + signal output outputDeck[n][4]; + + component encryptCard[n]; + for (var i = 0; i < n; i++) { + encryptCard[i] = EncryptCard(); + encryptCard[i].random <== randomVector[i]; + for (var j = 0; j < 2; j++) { + encryptCard[i].aggregatedPublicKey[j] <== aggregatedPublicKey[j]; + } + for (var j = 0; j < 4; j++) { + encryptCard[i].inputVector[j] <== inputDeck[i][j]; + } + for (var j = 0; j < 4; j++) { + outputDeck[i][j] <== encryptCard[i].outputVector[j]; + } + } +} \ No newline at end of file diff --git a/packages/zk-circuits/circuits/templates/multiply_matrix_vector.circom b/packages/zk-circuits/circuits/templates/multiply_matrix_vector.circom new file mode 100644 index 0000000..5158d34 --- /dev/null +++ b/packages/zk-circuits/circuits/templates/multiply_matrix_vector.circom @@ -0,0 +1,17 @@ +pragma circom 2.0.0; + +template MultiplyMatrixVector(n, m) { + signal input matrix[n][m]; + signal input inputVector[m]; + signal output outputVector[n]; + + signal aux[n][m]; + for (var i = 0; i < n; i++) { + var sum = 0; + for (var j = 0; j < m; j++) { + aux[i][j] <== matrix[i][j] * inputVector[j]; + sum += aux[i][j]; + } + outputVector[i] <== sum; + } +} diff --git a/packages/zk-circuits/circuits/templates/shuffle_deck.circom b/packages/zk-circuits/circuits/templates/shuffle_deck.circom new file mode 100644 index 0000000..b4a9ddf --- /dev/null +++ b/packages/zk-circuits/circuits/templates/shuffle_deck.circom @@ -0,0 +1,31 @@ +pragma circom 2.0.0; + +include "./multiply_matrix_vector.circom"; +include "./verify_permutation_matrix.circom"; + +template ShuffleDeck(n) { + signal input permutationMatrix[n][n]; + signal input inputDeck[n][4]; + signal output outputDeck[n][4]; + + component verifyPermutationMatrix = VerifyPermutationMatrix(n); + for (var i = 0; i < n; i++) { + for (var j = 0; j < n; j++) { + verifyPermutationMatrix.matrix[i][j] <== permutationMatrix[i][j]; + } + } + + component multiplyMatrixVector[4]; + for (var i = 0; i < 4; i++) { + multiplyMatrixVector[i] = MultiplyMatrixVector(n, n); + for (var j = 0; j < n; j++) { + for (var k = 0; k < n; k++) { + multiplyMatrixVector[i].matrix[j][k] <== permutationMatrix[j][k]; + } + multiplyMatrixVector[i].inputVector[j] <== inputDeck[j][i]; + } + for (var j = 0; j < n; j++) { + outputDeck[j][i] <== multiplyMatrixVector[i].outputVector[j]; + } + } +} diff --git a/packages/zk-circuits/circuits/templates/shuffle_encrypt_deck.circom b/packages/zk-circuits/circuits/templates/shuffle_encrypt_deck.circom new file mode 100644 index 0000000..4952477 --- /dev/null +++ b/packages/zk-circuits/circuits/templates/shuffle_encrypt_deck.circom @@ -0,0 +1,39 @@ +pragma circom 2.0.0; + +include "./shuffle_deck.circom"; +include "./encrypt_deck.circom"; + +template ShuffleEncryptDeck(n) { + signal input permutationMatrix[n][n]; + signal input aggregatedPublicKey[2]; + signal input randomVector[n]; + signal input inputDeck[n][4]; + signal output outputDeck[n][4]; + + component shuffleDeck = ShuffleDeck(n); + for (var i = 0; i < n; i++) { + for (var j = 0; j < n; j++) { + shuffleDeck.permutationMatrix[i][j] <== permutationMatrix[i][j]; + } + for (var j = 0; j < 4; j++) { + shuffleDeck.inputDeck[i][j] <== inputDeck[i][j]; + } + } + + component encryptDeck = EncryptDeck(n); + for (var i = 0; i < 2; i++) { + encryptDeck.aggregatedPublicKey[i] <== aggregatedPublicKey[i]; + } + for (var i = 0; i < n; i++) { + encryptDeck.randomVector[i] <== randomVector[i]; + for (var j = 0; j < 4; j++) { + encryptDeck.inputDeck[i][j] <== inputDeck[i][j]; + } + } + + for (var i = 0; i < n; i++) { + for (var j = 0; j < 4; j++) { + outputDeck[i][j] <== encryptDeck.outputDeck[i][j]; + } + } +} \ No newline at end of file diff --git a/packages/zk-circuits/circuits/templates/verify_permutation_matrix.circom b/packages/zk-circuits/circuits/templates/verify_permutation_matrix.circom new file mode 100644 index 0000000..6843080 --- /dev/null +++ b/packages/zk-circuits/circuits/templates/verify_permutation_matrix.circom @@ -0,0 +1,27 @@ +pragma circom 2.0.0; + +template VerifyPermutationMatrix(n) { + signal input matrix[n][n]; + + for (var i = 0; i < n ; i++) { + for (var j = 0; j < n; j++) { + matrix[i][j] * (matrix[i][j] - 1) === 0; + } + } + + for (var i = 0; i < n; i++) { + var sum = 0; + for (var j = 0; j < n; j++) { + sum += matrix[i][j]; + } + sum === 1; + } + + for (var i = 0; i < n; i++) { + var sum = 0; + for (var j = 0; j < n; j++) { + sum += matrix[j][i]; + } + sum === 1; + } +} diff --git a/packages/zk-circuits/package.json b/packages/zk-circuits/package.json new file mode 100644 index 0000000..014996f --- /dev/null +++ b/packages/zk-circuits/package.json @@ -0,0 +1,57 @@ +{ + "name": "@jeton/zk-circuits", + "version": "0.0.0", + "private": true, + "type": "module", + "exports": { + "shuffle-encrypt-deck.wasm": "./dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck_js/shuffle_encrypt_deck.wasm", + "decrypt-card.wasm": "./dist/circuits/decrypt_card/decrypt_card_js/decrypt_card.wasm", + "shuffle-encrypt-deck.zkey": "./dist/zkeys/shuffle_encrypt_deck.zkey", + "decrypt-card.zkey": "./dist/zkeys/decrypt_card.zkey", + "shuffle-encrypt-deck-verification-key.json": "./dist/verification_keys/shuffle_encrypt_deck_verification_key.json", + "decrypt-card-verification-key.json": "./dist/verification_keys/decrypt_card_verification_key.json" + }, + "scripts": { + "circom:build:shuffle-encrypt-deck:mkdir": "mkdir -p dist/circuits/shuffle_encrypt_deck", + "circom:build:shuffle-encrypt-deck:compile": "circom --r1cs --wasm --output dist/circuits/shuffle_encrypt_deck circuits/shuffle_encrypt_deck.circom", + "circom:build:decrypt-card:mkdir": "mkdir -p dist/circuits/decrypt_card", + "circom:build:decrypt-card:compile": "circom --r1cs --wasm --output dist/circuits/decrypt_card circuits/decrypt_card.circom", + "circom:check:shuffle-encrypt-deck": "circom --inspect circuits/shuffle_encrypt_deck.circom", + "circom:check:decrypt-card": "circom --inspect circuits/decrypt_card.circom", + "snarkjs:build:powersoftau:pot18:mkdir": "mkdir -p dist/powersoftaus", + "snarkjs:build:powersoftau:pot18:new": "snarkjs powersoftau new bn128 18 dist/powersoftaus/pot18_new.ptau", + "snarkjs:build:powersoftau:pot18:contribute": "snarkjs powersoftau contribute dist/powersoftaus/pot18_new.ptau dist/powersoftaus/pot18_contribute.ptau -e='x9J$gyWEGjBfHqp@CLn2^2XjXzJWrEeyb9EmkJqr2Hos@zpZmEq3HFiC4M2XbvBL'", + "snarkjs:build:powersoftau:pot18:beacon": "snarkjs powersoftau beacon dist/powersoftaus/pot18_contribute.ptau dist/powersoftaus/pot18_beacon.ptau '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", + "snarkjs:build:powersoftau:pot18:prepare": "snarkjs powersoftau prepare phase2 dist/powersoftaus/pot18_beacon.ptau dist/powersoftaus/pot18.ptau", + "snarkjs:build:zkey:mkdir": "mkdir -p dist/zkeys", + "snarkjs:build:zkey:shuffle-encrypt-deck:setup": "snarkjs groth16 setup dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck.r1cs dist/powersoftaus/pot18.ptau dist/zkeys/shuffle_encrypt_deck_setup.zkey", + "snarkjs:build:zkey:shuffle-encrypt-deck:contribute": "snarkjs zkey contribute dist/zkeys/shuffle_encrypt_deck_setup.zkey dist/zkeys/shuffle_encrypt_deck_contribute.zkey -e='JS^dbdvBo!P8HxjCxKJrdwF!HadBxS!b&vJtknJe5nDcnnGL3eo498UQe6yv87TU'", + "snarkjs:build:zkey:shuffle-encrypt-deck:beacon": "snarkjs zkey beacon dist/zkeys/shuffle_encrypt_deck_contribute.zkey dist/zkeys/shuffle_encrypt_deck.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", + "snarkjs:build:zkey:decrypt-card:setup": "snarkjs groth16 setup dist/circuits/decrypt_card/decrypt_card.r1cs dist/powersoftaus/pot18.ptau dist/zkeys/decrypt_card_setup.zkey", + "snarkjs:build:zkey:decrypt-card:contribute": "snarkjs zkey contribute dist/zkeys/decrypt_card_setup.zkey dist/zkeys/decrypt_card_contribute.zkey -e='ex#UciTJm^4$RebWxzrUK%9c#*4^KPE!VrxnaeoFhQb7aRojg@6n&hiCFWbG4$qB'", + "snarkjs:build:zkey:decrypt-card:beacon": "snarkjs zkey beacon dist/zkeys/decrypt_card_contribute.zkey dist/zkeys/decrypt_card.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", + "snarkjs:build:verificationkey:mkdir": "mkdir -p dist/verification_keys", + "snarkjs:build:verificationkey:shuffle-encrypt-deck": "snarkjs zkey export verificationkey dist/zkeys/shuffle_encrypt_deck.zkey dist/verification_keys/shuffle_encrypt_deck_verification_key.json", + "snarkjs:build:verificationkey:decrypt-card": "snarkjs zkey export verificationkey dist/zkeys/decrypt_card.zkey dist/verification_keys/decrypt_card_verification_key.json", + "typescript:build": "tsc", + "mocha:test": "mocha src/**/*.test.ts" + }, + "devDependencies": { + "@jeton/typescript-config": "^0.0.0", + "@types/chai": "^4.3.18", + "@types/mocha": "^10.0.7", + "@types/snarkjs": "^0.7.8", + "chai": "^5.1.1", + "circomlib": "^2.0.5", + "mocha": "^10.7.3", + "ts-node": "^10.9.2", + "typescript": "^5.5.4" + }, + "dependencies": { + "ffjavascript": "^0.3.0", + "snarkjs": "^0.7.4" + }, + "mocha": { + "loader": "ts-node/esm" + } +} diff --git a/packages/zk-circuits/src/babyjubjub.test.ts b/packages/zk-circuits/src/babyjubjub.test.ts new file mode 100644 index 0000000..3799903 --- /dev/null +++ b/packages/zk-circuits/src/babyjubjub.test.ts @@ -0,0 +1,114 @@ +import { expect } from "chai"; +import { before, describe, test } from "mocha"; + +import createBabyJubJub, { type BabyJubJub, type Point } from "./babyjubjub.js"; + +describe("babyJubJub", async () => { + let bjj: BabyJubJub; + before(async () => { + bjj = await createBabyJubJub(); + }); + + test("ap should be in curve", () => { + const a = bjj.sampleScalar(); + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + const ap = bjj.mulScalarPoint(a, p); + expect(bjj.inCurve(ap)).to.be.true; + }); + + test("p + q should be in curve", () => { + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + const q: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + const s = bjj.addPoints(p, q); + expect(bjj.inCurve(s)).to.be.true; + }); + + test("p = p", () => { + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + expect(bjj.eqPoints(p, p)).to.be.true; + }); + + test("p + q = q + p", () => { + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + const q: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + const left = bjj.addPoints(p, q); + const right = bjj.addPoints(q, p); + expect(bjj.inCurve(left)).to.be.true; + expect(bjj.inCurve(right)).to.be.true; + expect(bjj.eqPoints(left, right)).to.be.true; + }); + + test("0 * p = 1", () => { + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + const left = bjj.mulScalarPoint(0, p); + const right: Point = [bjj.element(0), bjj.element(1)]; + expect(bjj.inCurve(left)).to.be.true; + expect(bjj.inCurve(right)).to.be.true; + expect(bjj.eqPoints(left, right)).to.be.true; + }); + + test("p + p = 2 * p", () => { + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + const left = bjj.addPoints(p, p); + const right = bjj.mulScalarPoint(2, p); + expect(bjj.inCurve(left)).to.be.true; + expect(bjj.inCurve(right)).to.be.true; + expect(bjj.eqPoints(left, right)).to.be.true; + }); + + test("p + p + p = 3 * p", () => { + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + const left = bjj.addPoints(bjj.addPoints(p, p), p); + const right = bjj.mulScalarPoint(3, p); + expect(bjj.inCurve(left)).to.be.true; + expect(bjj.inCurve(right)).to.be.true; + expect(bjj.eqPoints(left, right)).to.be.true; + }); + + test("a * (p + q) = a * p + a * q", () => { + const a = bjj.sampleScalar(); + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + const q: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + const left = bjj.mulScalarPoint(a, bjj.addPoints(p, q)); + const right = bjj.addPoints( + bjj.mulScalarPoint(a, p), + bjj.mulScalarPoint(a, q), + ); + expect(bjj.inCurve(left)).to.be.true; + expect(bjj.inCurve(right)).to.be.true; + expect(bjj.eqPoints(left, right)).to.be.true; + }); + + test("(a + b) * p = a * p + b * p", () => { + const a = bjj.sampleScalar(); + const b = bjj.sampleScalar(); + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + const left = bjj.mulScalarPoint(a + b, p); + const right = bjj.addPoints( + bjj.mulScalarPoint(a, p), + bjj.mulScalarPoint(b, p), + ); + expect(bjj.inCurve(left)).to.be.true; + expect(bjj.inCurve(right)).to.be.true; + expect(bjj.eqPoints(left, right)).to.be.true; + }); + + test("p + -p = 0", () => { + const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); + + const left = bjj.addPoints(p, bjj.negPoint(p)); + const right: Point = [bjj.element(0), bjj.element(1)]; + expect(bjj.inCurve(left)).to.be.true; + expect(bjj.inCurve(right)).to.be.true; + expect(bjj.eqPoints(left, right)).to.be.true; + }); +}); diff --git a/packages/zk-circuits/src/babyjubjub.ts b/packages/zk-circuits/src/babyjubjub.ts new file mode 100644 index 0000000..c993e43 --- /dev/null +++ b/packages/zk-circuits/src/babyjubjub.ts @@ -0,0 +1,97 @@ +import { + type Field, + type FieldElement, + Scalar, + getCurveFromName, +} from "ffjavascript"; + +export type Point = [FieldElement, FieldElement]; + +export class BabyJubJub { + readonly field: Field; + readonly generator: Point; + readonly edwardsA: FieldElement; + readonly edwardsD: FieldElement; + + constructor(field: Field) { + this.field = field; + this.edwardsA = this.element("168700"); + this.edwardsD = this.element("168696"); + this.generator = [ + this.element( + "5299619240641551281634865583518297030282874472190772894086521144482721001553", + ), + this.element( + "16950150798460657717958625567821834550301663161624707787222815936182638968203", + ), + ]; + } + + public element(v: string | bigint | number | FieldElement): FieldElement { + return this.field.e(v); + } + + public elementToString(e: FieldElement): string { + return this.field.toString(e); + } + + public sampleScalar(): bigint { + return this.field.toObject(this.field.random()); + } + + public inCurve(p: Point): boolean { + const f = this.field; + const x2 = f.square(p[0]); + const y2 = f.square(p[1]); + const left = f.add(f.mul(this.edwardsA, x2), y2); + const right = f.add(f.one, f.mul(f.mul(x2, y2), this.edwardsD)); + return f.eq(left, right); + } + + public eqPoints(p1: Point, p2: Point): boolean { + return this.field.eq(p1[0], p2[0]) && this.field.eq(p1[1], p2[1]); + } + + public negPoint(p: Point): Point { + return [this.field.neg(p[0]), p[1]]; + } + + public addPoints(a: Point, b: Point): Point { + const f = this.field; + const beta = f.mul(a[0], b[1]); + const gamma = f.mul(a[1], b[0]); + const delta = f.mul( + f.sub(a[1], f.mul(this.edwardsA, a[0])), + f.add(b[0], b[1]), + ); + const tau = f.mul(beta, gamma); + const dtau = f.mul(this.edwardsD, tau); + + const x = f.div(f.add(beta, gamma), f.add(f.one, dtau)); + const y = f.div( + f.add(delta, f.sub(f.mul(this.edwardsA, beta), gamma)), + f.sub(f.one, dtau), + ); + return [x, y]; + } + + public mulScalarPoint(s: string | bigint | number, p: Point): Point { + const f = this.field; + let acc: Point = [this.element("0"), this.element("1")]; + let rem = Scalar.e(s); + let exp: Point = p; + while (!Scalar.isZero(rem)) { + if (Scalar.isOdd(rem)) { + acc = this.addPoints(acc, exp); + } + exp = this.addPoints(exp, exp); + rem = Scalar.shiftRight(rem, 1); + } + return acc; + } +} + +export default async function createBabyJubJub(): Promise { + const curve = await getCurveFromName("bn128", true); + return new BabyJubJub(curve.Fr); +} diff --git a/packages/zk-circuits/src/ffjavascript.d.ts b/packages/zk-circuits/src/ffjavascript.d.ts new file mode 100644 index 0000000..3f52b10 --- /dev/null +++ b/packages/zk-circuits/src/ffjavascript.d.ts @@ -0,0 +1,38 @@ +declare module "ffjavascript" { + export type ScalarElement = Record; + export type Scalar = { + e(v: bigint | string | number | ScalarElement): ScalarElement; + isZero(e: ScalarElement): boolean; + isOdd(e: ScalarElement): boolean; + + shiftRight(e: ScalarElement, n: number): ScalarElement; + }; + export const Scalar: Scalar; + + export type FieldElement = Record; + export type Field = { + zero: FieldElement; + one: FieldElement; + + e(v: bigint | string | number | FieldElement): FieldElement; + toObject(e: FieldElement): bigint; + toString(e: FieldElement): string; + + isZero(e: FieldElement): boolean; + eq(a: FieldElement, b: FieldElement): boolean; + + random(): FieldElement; + neg(e: FieldElement): FieldElement; + square(e: FieldElement): FieldElement; + add(a: FieldElement, b: FieldElement): FieldElement; + sub(a: FieldElement, b: FieldElement): FieldElement; + mul(a: FieldElement, b: FieldElement): FieldElement; + div(a: FieldElement, b: FieldElement): FieldElement; + }; + + export type Curve = { + Fr: Field; + terminate(): Promise; + }; + export function getCurveFromName(name: string, flag: boolean): Promise; +} diff --git a/packages/zk-circuits/tsconfig.json b/packages/zk-circuits/tsconfig.json new file mode 100644 index 0000000..0cbdaf3 --- /dev/null +++ b/packages/zk-circuits/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../typescript-config/base.json", + "compilerOptions": { + "types": ["./src/ffjavascript.d.ts"], + "rootDir": ".", + "outDir": "dist" + }, + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/zk-circuits/turbo.json b/packages/zk-circuits/turbo.json new file mode 100644 index 0000000..26aea1b --- /dev/null +++ b/packages/zk-circuits/turbo.json @@ -0,0 +1,211 @@ +{ + "$schema": "https://turbo.build/schema.json", + "extends": ["//"], + "tasks": { + "build": { + "dependsOn": ["circom:build", "snarkjs:build", "typescript:build"] + }, + "test": { + "dependsOn": ["mocha:test"] + }, + "check": { + "dependsOn": ["circom:check"] + }, + "circom:build": { + "dependsOn": [ + "circom:build:shuffle-encrypt-deck", + "circom:build:decrypt-card" + ] + }, + "circom:build:shuffle-encrypt-deck": { + "dependsOn": [ + "circom:build:shuffle-encrypt-deck:mkdir", + "circom:build:shuffle-encrypt-deck:compile" + ] + }, + "circom:build:shuffle-encrypt-deck:mkdir": { + "inputs": [], + "outputs": ["dist/circuits/shuffle_encrypt_deck"] + }, + "circom:build:shuffle-encrypt-deck:compile": { + "dependsOn": ["circom:build:shuffle-encrypt-deck:mkdir"], + "inputs": [ + "circuits/shuffle_encrypt_deck.circom", + "circuits/templates/**" + ], + "outputs": ["dist/circuits/shuffle_encrypt_deck/**"] + }, + "circom:build:decrypt-card": { + "dependsOn": [ + "circom:build:decrypt-card:mkdir", + "circom:build:decrypt-card:compile" + ] + }, + "circom:build:decrypt-card:mkdir": { + "inputs": [], + "outputs": ["dist/circuits/decrypt_card"] + }, + "circom:build:decrypt-card:compile": { + "dependsOn": ["circom:build:decrypt-card:mkdir"], + "inputs": ["circuits/decrypt_card.circom", "circuits/templates/**"], + "outputs": ["dist/circuits/decrypt_card/**"] + }, + "circom:check:shuffle-encrypt-deck": { + "inputs": [ + "circuits/shuffle_encrypt_deck.circom", + "circuits/templates/**" + ] + }, + "circom:check": { + "dependsOn": [ + "circom:check:shuffle-encrypt-deck", + "circom:check:decrypt-card" + ] + }, + "circom:check:decrypt-card": { + "inputs": ["circuits/decrypt_card.circom", "circuits/templates/**"] + }, + "snarkjs:build": { + "dependsOn": ["snarkjs:build:zkey", "snarkjs:build:verificationkey"] + }, + "snarkjs:build:powersoftau": { + "dependsOn": [ + "snarkjs:build:powersoftau:mkdir", + "snarkjs:build:powersoftau:pot18" + ] + }, + "snarkjs:build:powersoftau:mkdir": { + "inputs": [], + "outputs": ["dist/powersoftaus"] + }, + "snarkjs:build:powersoftau:pot18": { + "dependsOn": [ + "snarkjs:build:powersoftau:pot18:new", + "snarkjs:build:powersoftau:pot18:contribute", + "snarkjs:build:powersoftau:pot18:beacon", + "snarkjs:build:powersoftau:pot18:prepare" + ] + }, + "snarkjs:build:powersoftau:pot18:new": { + "dependsOn": ["snarkjs:build:powersoftau:mkdir"], + "inputs": [], + "outputs": ["dist/powersoftaus/pot18_new.ptau"] + }, + "snarkjs:build:powersoftau:pot18:contribute": { + "dependsOn": ["snarkjs:build:powersoftau:pot18:new"], + "inputs": ["dist/powersoftaus/pot18_new.ptau"], + "outputs": ["dist/powersoftaus/pot18_contribute.ptau"] + }, + "snarkjs:build:powersoftau:pot18:beacon": { + "dependsOn": ["snarkjs:build:powersoftau:pot18:contribute"], + "inputs": ["dist/powersoftaus/pot18_contribute.ptau"], + "outputs": ["dist/powersoftaus/pot18_beacon.ptau"] + }, + "snarkjs:build:powersoftau:pot18:prepare": { + "dependsOn": ["snarkjs:build:powersoftau:pot18:beacon"], + "inputs": ["dist/powersoftaus/pot18_beacon.ptau"], + "outputs": ["dist/powersoftaus/pot18.ptau"] + }, + "snarkjs:build:zkey": { + "dependsOn": [ + "snarkjs:build:zkey:mkdir", + "snarkjs:build:zkey:shuffle-encrypt-deck", + "snarkjs:build:zkey:decrypt-card" + ] + }, + "snarkjs:build:zkey:mkdir": { + "inputs": [], + "outputs": ["dist/zkeys"] + }, + "snarkjs:build:zkey:shuffle-encrypt-deck": { + "dependsOn": [ + "snarkjs:build:zkey:shuffle-encrypt-deck:setup", + "snarkjs:build:zkey:shuffle-encrypt-deck:contribute", + "snarkjs:build:zkey:shuffle-encrypt-deck:beacon" + ] + }, + "snarkjs:build:zkey:shuffle-encrypt-deck:setup": { + "dependsOn": [ + "snarkjs:build:zkey:mkdir", + "circom:build:shuffle-encrypt-deck" + ], + "inputs": [ + "dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck.r1cs", + "dist/powersoftaus/pot18.ptau" + ], + "outputs": ["dist/zkeys/shuffle_encrypt_deck_setup.zkey"] + }, + "snarkjs:build:zkey:shuffle-encrypt-deck:contribute": { + "dependsOn": ["snarkjs:build:zkey:shuffle-encrypt-deck:setup"], + "inputs": ["dist/zkeys/shuffle_encrypt_deck_setup.zkey"], + "outputs": ["dist/zkeys/shuffle_encrypt_deck_contribute.zkey"] + }, + "snarkjs:build:zkey:shuffle-encrypt-deck:beacon": { + "dependsOn": ["snarkjs:build:zkey:shuffle-encrypt-deck:contribute"], + "inputs": ["dist/zkeys/shuffle_encrypt_deck_contribute.zkey"], + "outputs": ["dist/zkeys/shuffle_encrypt_deck.zkey"] + }, + "snarkjs:build:zkey:decrypt-card": { + "dependsOn": [ + "snarkjs:build:zkey:decrypt-card:setup", + "snarkjs:build:zkey:decrypt-card:contribute", + "snarkjs:build:zkey:decrypt-card:beacon" + ] + }, + "snarkjs:build:zkey:decrypt-card:setup": { + "dependsOn": ["snarkjs:build:zkey:mkdir", "circom:build:decrypt-card"], + "inputs": [ + "dist/circuits/decrypt_card/decrypt_card.r1cs", + "dist/powersoftaus/pot18.ptau" + ], + "outputs": ["dist/zkeys/decrypt_card_setup.zkey"] + }, + "snarkjs:build:zkey:decrypt-card:contribute": { + "dependsOn": ["snarkjs:build:zkey:decrypt-card:setup"], + "inputs": ["dist/zkeys/decrypt_card_setup.zkey"], + "outputs": ["dist/zkeys/decrypt_card_contribute.zkey"] + }, + "snarkjs:build:zkey:decrypt-card:beacon": { + "dependsOn": ["snarkjs:build:zkey:decrypt-card:contribute"], + "inputs": ["dist/zkeys/decrypt_card_contribute.zkey"], + "outputs": ["dist/zkeys/decrypt_card.zkey"] + }, + "snarkjs:build:verificationkey": { + "dependsOn": [ + "snarkjs:build:verificationkey:mkdir", + "snarkjs:build:verificationkey:shuffle-encrypt-deck", + "snarkjs:build:verificationkey:decrypt-card" + ] + }, + "snarkjs:build:verificationkey:mkdir": { + "inputs": [], + "outputs": ["dist/verification_keys"] + }, + "snarkjs:build:verificationkey:shuffle-encrypt-deck": { + "dependsOn": [ + "snarkjs:build:verificationkey:mkdir", + "snarkjs:build:zkey:shuffle-encrypt-deck" + ], + "inputs": ["dist/zkeys/shuffle_encrypt_deck_contribute.zkey"], + "outputs": [ + "dist/verification_keys/shuffle_encrypt_deck_verification_key.json" + ] + }, + "snarkjs:build:verificationkey:decrypt-card": { + "dependsOn": [ + "snarkjs:build:verificationkey:mkdir", + "snarkjs:build:zkey:decrypt-card" + ], + "inputs": ["dist/zkeys/decrypt_card_contribute.zkey"], + "outputs": ["dist/verification_keys/decrypt_card_verification_key.json"] + }, + "typescript:build": { + "inputs": ["src/**", "tsconfig.json"], + "outputs": ["dist/src/**", "dist/tests/**"] + }, + "mocha:test": { + "dependsOn": ["build"], + "inputs": ["src/**"] + } + } +} From c0f61b55384cf8d80e461d69011a7e597999c9c7 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Tue, 27 Aug 2024 17:41:35 +0330 Subject: [PATCH 02/10] Refactor @jeton/zk-deck --- package-lock.json | 10248 +++++----------- packages/zk-circuits/src/babyjubjub.test.ts | 114 - .../circuits/decrypt_card_share.circom} | 2 +- .../circuits/shuffle_encrypt_deck.circom | 0 .../templates/decrypt_card_share.circom} | 10 +- .../circuits/templates/encrypt_card.circom | 10 +- .../circuits/templates/encrypt_deck.circom | 0 .../templates/multiply_matrix_vector.circom | 0 .../circuits/templates/shuffle_deck.circom | 0 .../templates/shuffle_encrypt_deck.circom | 0 .../verify_permutation_matrix.circom | 0 .../{zk-circuits => zk-deck}/package.json | 26 +- .../src/ffjavascript.d.ts | 0 packages/zk-deck/src/permutation.ts | 29 + .../zk-deck/src/twisted_edwards_curve.test.ts | 115 + .../src/twisted_edwards_curve.ts} | 56 +- .../{zk-circuits => zk-deck}/tsconfig.json | 0 packages/{zk-circuits => zk-deck}/turbo.json | 78 +- 18 files changed, 3328 insertions(+), 7360 deletions(-) delete mode 100644 packages/zk-circuits/src/babyjubjub.test.ts rename packages/{zk-circuits/circuits/decrypt_card.circom => zk-deck/circuits/decrypt_card_share.circom} (65%) rename packages/{zk-circuits => zk-deck}/circuits/shuffle_encrypt_deck.circom (100%) rename packages/{zk-circuits/circuits/templates/decrypt_card.circom => zk-deck/circuits/templates/decrypt_card_share.circom} (81%) rename packages/{zk-circuits => zk-deck}/circuits/templates/encrypt_card.circom (87%) rename packages/{zk-circuits => zk-deck}/circuits/templates/encrypt_deck.circom (100%) rename packages/{zk-circuits => zk-deck}/circuits/templates/multiply_matrix_vector.circom (100%) rename packages/{zk-circuits => zk-deck}/circuits/templates/shuffle_deck.circom (100%) rename packages/{zk-circuits => zk-deck}/circuits/templates/shuffle_encrypt_deck.circom (100%) rename packages/{zk-circuits => zk-deck}/circuits/templates/verify_permutation_matrix.circom (100%) rename packages/{zk-circuits => zk-deck}/package.json (65%) rename packages/{zk-circuits => zk-deck}/src/ffjavascript.d.ts (100%) create mode 100644 packages/zk-deck/src/permutation.ts create mode 100644 packages/zk-deck/src/twisted_edwards_curve.test.ts rename packages/{zk-circuits/src/babyjubjub.ts => zk-deck/src/twisted_edwards_curve.ts} (67%) rename packages/{zk-circuits => zk-deck}/tsconfig.json (100%) rename packages/{zk-circuits => zk-deck}/turbo.json (71%) diff --git a/package-lock.json b/package-lock.json index 825f6c0..eda1a45 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,8 +50,6 @@ }, "apps/web/node_modules/@types/node": { "version": "20.16.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz", - "integrity": "sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==", "dev": true, "license": "MIT", "dependencies": { @@ -60,8 +58,6 @@ }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", "dev": true, "license": "MIT", "engines": { @@ -73,8 +69,6 @@ }, "node_modules/@ant-design/colors": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.1.0.tgz", - "integrity": "sha512-MMoDGWn1y9LdQJQSHiCC20x3uZ3CwQnv9QMz6pCmJOrqdgM9YxsoVVY0wtrdXbmfSgnV0KNk6zi09NAhMR2jvg==", "license": "MIT", "dependencies": { "@ctrl/tinycolor": "^3.6.1" @@ -82,8 +76,6 @@ }, "node_modules/@ant-design/cssinjs": { "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.21.1.tgz", - "integrity": "sha512-tyWnlK+XH7Bumd0byfbCiZNK43HEubMoCcu9VxwsAwiHdHTgWa+tMN0/yvxa+e8EzuFP1WdUNNPclRpVtD33lg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.11.1", @@ -101,8 +93,6 @@ }, "node_modules/@ant-design/cssinjs-utils": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@ant-design/cssinjs-utils/-/cssinjs-utils-1.0.3.tgz", - "integrity": "sha512-BrztZZKuoYcJK8uEH40ylBemf/Mu/QPiDos56g2bv6eUoniQkgQHOCOvA3+pncoFO1TaS8xcUCIqGzDA0I+ZVQ==", "license": "MIT", "dependencies": { "@ant-design/cssinjs": "^1.21.0", @@ -116,8 +106,6 @@ }, "node_modules/@ant-design/fast-color": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@ant-design/fast-color/-/fast-color-2.0.6.tgz", - "integrity": "sha512-y2217gk4NqL35giHl72o6Zzqji9O7vHh9YmhUVkPtAOpoTCH4uWxo/pr4VE8t0+ChEPs0qo4eJRC5Q1eXWo3vA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.24.7" @@ -128,8 +116,6 @@ }, "node_modules/@ant-design/icons": { "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.4.0.tgz", - "integrity": "sha512-QZbWC5xQYexCI5q4/fehSEkchJr5UGtvAJweT743qKUQQGs9IH2DehNLP49DJ3Ii9m9CijD2HN6fNy3WKhIFdA==", "license": "MIT", "dependencies": { "@ant-design/colors": "^7.0.0", @@ -148,14 +134,10 @@ }, "node_modules/@ant-design/icons-svg": { "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", - "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==", "license": "MIT" }, "node_modules/@ant-design/react-slick": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz", - "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.4", @@ -170,8 +152,6 @@ }, "node_modules/@aptos-connect/wallet-adapter-plugin": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aptos-connect/wallet-adapter-plugin/-/wallet-adapter-plugin-2.0.0.tgz", - "integrity": "sha512-6IELDtPU9RdoqhOW/avy500FPI3c8eP9fnekOfkF7HOHv5xPG3S4Ac5S0tGP8daG9czMEy0R7HkVj3wDXzrJSw==", "license": "MIT", "dependencies": { "@aptos-connect/wallet-api": "^0.1.2", @@ -185,8 +165,6 @@ }, "node_modules/@aptos-connect/wallet-adapter-plugin/node_modules/@aptos-connect/wallet-api": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@aptos-connect/wallet-api/-/wallet-api-0.1.2.tgz", - "integrity": "sha512-3jnPUNLP4pZKRKOqINWP2giPMTEeW4+RrVAWuyhsyDAh10/rcpXDIlhTmwUcTHLbbugqs41lCrepZo22u6ry6g==", "license": "MIT", "dependencies": { "@identity-connect/api": "^0.7.0" @@ -199,8 +177,6 @@ }, "node_modules/@aptos-connect/wallet-adapter-plugin/node_modules/@identity-connect/crypto": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@identity-connect/crypto/-/crypto-0.2.4.tgz", - "integrity": "sha512-31C89CHwE+2jSmIzaFEXOHpOLbdwPH5cctynSaQzLX18UsATtiMGoWQA8/LlGkM/7HUrQgbWmB2szcEGzYakCQ==", "license": "MIT", "dependencies": { "@aptos-connect/wallet-api": "^0.1.0", @@ -214,8 +190,6 @@ }, "node_modules/@aptos-connect/wallet-adapter-plugin/node_modules/@identity-connect/dapp-sdk": { "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@identity-connect/dapp-sdk/-/dapp-sdk-0.9.3.tgz", - "integrity": "sha512-yZvUrCRu6/WZdaPo9DRNfOriMTQq4wGIrIag//ivbnUGzVGDwis8zCECf01gkhigCyhjNn0/EUVn3UV5Gj9xrQ==", "license": "MIT", "dependencies": { "@aptos-connect/wallet-api": "^0.1.2", @@ -233,8 +207,6 @@ }, "node_modules/@aptos-connect/wallet-adapter-plugin/node_modules/@identity-connect/dapp-sdk/node_modules/@aptos-connect/web-transport": { "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@aptos-connect/web-transport/-/web-transport-0.0.7.tgz", - "integrity": "sha512-4dYv/696bEZc75041ewKsWxg48/dTEDqP0TpIfK3KndGepKWDM9q3Lj8iZo+8Z9nhzxwulEqiAO7c0nvzXxVFA==", "license": "MIT", "dependencies": { "@aptos-connect/wallet-api": "^0.1.1", @@ -248,8 +220,6 @@ }, "node_modules/@aptos-connect/wallet-adapter-plugin/node_modules/@identity-connect/dapp-sdk/node_modules/@identity-connect/wallet-api": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@identity-connect/wallet-api/-/wallet-api-0.1.1.tgz", - "integrity": "sha512-PGcJQrSnk6PLr/w5D1FKRP/Ip0DH8nvDuWe/5ZfStrGwKhG0L8yDZPbAmDfSOH2mUvVtafmayRYv/FOnqGtLLw==", "license": "MIT", "peerDependencies": { "@aptos-labs/ts-sdk": "1.18.1", @@ -258,8 +228,6 @@ }, "node_modules/@aptos-connect/wallet-adapter-plugin/node_modules/uuid": { "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" @@ -271,8 +239,6 @@ }, "node_modules/@aptos-labs/aptos-cli": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@aptos-labs/aptos-cli/-/aptos-cli-0.2.0.tgz", - "integrity": "sha512-6kljJFRsTLXCvgkNhBoOLhVyo7rmih+8+XAtdeciIXkZYwzwVS3TFPLMqBUO2HcY6gYtQQRmTG52R5ihyi/bXA==", "license": "ISC", "bin": { "aptos": "bin/aptos" @@ -280,8 +246,6 @@ }, "node_modules/@aptos-labs/aptos-client": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@aptos-labs/aptos-client/-/aptos-client-0.1.1.tgz", - "integrity": "sha512-kJsoy4fAPTOhzVr7Vwq8s/AUg6BQiJDa7WOqRzev4zsuIS3+JCuIZ6vUd7UBsjnxtmguJJulMRs9qWCzVBt2XA==", "license": "Apache-2.0", "dependencies": { "axios": "1.7.4", @@ -293,8 +257,6 @@ }, "node_modules/@aptos-labs/ts-sdk": { "version": "1.27.1", - "resolved": "https://registry.npmjs.org/@aptos-labs/ts-sdk/-/ts-sdk-1.27.1.tgz", - "integrity": "sha512-QS4BlivXQy/uJgXcNOfXNjv8l+MSd+qQ256mY/Jc6iaWbfn69nRYh6chjSyLot4fHA49QxlZlWh1mJLlfNdtow==", "license": "Apache-2.0", "dependencies": { "@aptos-labs/aptos-cli": "^0.2.0", @@ -315,8 +277,6 @@ }, "node_modules/@aptos-labs/wallet-adapter-ant-design": { "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@aptos-labs/wallet-adapter-ant-design/-/wallet-adapter-ant-design-3.0.13.tgz", - "integrity": "sha512-kkioPyUE6aXBeLbpSwWzuryxjiE7U2o5V0wI7EERX9vIbfyfvpNldxc96rRyFzulYWD/IoMatBZYFW0pfPODNA==", "license": "Apache-2.0", "dependencies": { "@ant-design/icons": "^5.3.7", @@ -330,8 +290,6 @@ }, "node_modules/@aptos-labs/wallet-adapter-core": { "version": "4.16.0", - "resolved": "https://registry.npmjs.org/@aptos-labs/wallet-adapter-core/-/wallet-adapter-core-4.16.0.tgz", - "integrity": "sha512-SnjrDEI5Ftwub+zPJiGIQG3zSiz9vgH+vNAmpHoxc/9aSUm10BA+mI/xKcT+8ZvMOEFeoPyuDtYfud3CDGu5ew==", "license": "Apache-2.0", "dependencies": { "@aptos-connect/wallet-adapter-plugin": "^2.0.0", @@ -349,14 +307,10 @@ }, "node_modules/@aptos-labs/wallet-adapter-core/node_modules/eventemitter3": { "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "license": "MIT" }, "node_modules/@aptos-labs/wallet-adapter-react": { "version": "3.6.2", - "resolved": "https://registry.npmjs.org/@aptos-labs/wallet-adapter-react/-/wallet-adapter-react-3.6.2.tgz", - "integrity": "sha512-YXubjZhqdRU3vZwHiIQzPe8uFvNyiWiyaqNg9RJ5Ug2BIH+LwOhhBq9oi3dWPuQ62SFrQ7qy/sXmAKxtWGqfNg==", "license": "Apache-2.0", "dependencies": { "@aptos-labs/wallet-adapter-core": "4.16.0", @@ -368,8 +322,6 @@ }, "node_modules/@aptos-labs/wallet-standard": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@aptos-labs/wallet-standard/-/wallet-standard-0.2.0.tgz", - "integrity": "sha512-4aoO4MlqzrW+CtO83MwbHMMtu91DL5B7YKRvhJbRnVB4R+QCOwBI/aQTkNZbKBDfOplLlqWTTl6Li0l6e02YLQ==", "license": "Apache-2.0", "peerDependencies": { "@aptos-labs/ts-sdk": "^1.17.0", @@ -378,8 +330,6 @@ }, "node_modules/@atomrigslab/aptos-wallet-adapter": { "version": "0.1.21", - "resolved": "https://registry.npmjs.org/@atomrigslab/aptos-wallet-adapter/-/aptos-wallet-adapter-0.1.21.tgz", - "integrity": "sha512-LwT0OTOaGglctggMcihXLd4mzBFwRoJsR0aeFBHQRfTxZV1agNTgN/PxJl6N13+WYAvzc00j/WByxAmWgonorA==", "dependencies": { "@aptos-labs/wallet-standard": "0.0.11", "@atomrigslab/dekey-web-wallet-provider": "1.2.1" @@ -390,8 +340,6 @@ }, "node_modules/@atomrigslab/aptos-wallet-adapter/node_modules/@aptos-labs/wallet-standard": { "version": "0.0.11", - "resolved": "https://registry.npmjs.org/@aptos-labs/wallet-standard/-/wallet-standard-0.0.11.tgz", - "integrity": "sha512-8dygyPBby7TaMJjUSyeVP4R1WC9D/FPpX9gVMMLaqTKCXrSbkzhGDxcuwbMZ3ziEwRmx3zz+d6BIJbDhd0hm5g==", "license": "Apache-2.0", "dependencies": { "@aptos-labs/ts-sdk": "^1.9.1", @@ -400,8 +348,6 @@ }, "node_modules/@atomrigslab/dekey-web-wallet-provider": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@atomrigslab/dekey-web-wallet-provider/-/dekey-web-wallet-provider-1.2.1.tgz", - "integrity": "sha512-GMEGjARgle9lIRopvxm4uis+sRr/ih26HzBgFbnLsk8+G94Z5dE87EclAIGFQUSAxYj7SmSk6xpx7//qUJDW/A==", "license": "ISC", "dependencies": { "@atomrigslab/providers": "1.1.0" @@ -412,8 +358,6 @@ }, "node_modules/@atomrigslab/providers": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@atomrigslab/providers/-/providers-1.1.0.tgz", - "integrity": "sha512-QLYxSCVrxwlN1oZ7vLnZbKZxkbZ6QG77Bj4pmTEowIpTcq7qZdBtU9pn+vqJAso1nnA3+AkmPuE9Jnx7+Jo1zQ==", "license": "MIT", "dependencies": { "@metamask/object-multiplex": "^1.1.0", @@ -435,8 +379,6 @@ }, "node_modules/@atomrigslab/providers/node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "license": "MIT", "engines": { "node": ">=8" @@ -447,8 +389,6 @@ }, "node_modules/@babel/runtime": { "version": "7.25.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", - "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", "license": "MIT", "dependencies": { "regenerator-runtime": "^0.14.0" @@ -459,8 +399,6 @@ }, "node_modules/@biomejs/biome": { "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.8.3.tgz", - "integrity": "sha512-/uUV3MV+vyAczO+vKrPdOW0Iaet7UnJMU4bNMinggGJTAnBPjCoLEYcyYtYHNnUNYlv4xZMH6hVIQCAozq8d5w==", "dev": true, "hasInstallScript": true, "license": "MIT OR Apache-2.0", @@ -485,95 +423,8 @@ "@biomejs/cli-win32-x64": "1.8.3" } }, - "node_modules/@biomejs/cli-darwin-arm64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.8.3.tgz", - "integrity": "sha512-9DYOjclFpKrH/m1Oz75SSExR8VKvNSSsLnVIqdnKexj6NwmiMlKk94Wa1kZEdv6MCOHGHgyyoV57Cw8WzL5n3A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-darwin-x64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.8.3.tgz", - "integrity": "sha512-UeW44L/AtbmOF7KXLCoM+9PSgPo0IDcyEUfIoOXYeANaNXXf9mLUwV1GeF2OWjyic5zj6CnAJ9uzk2LT3v/wAw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-arm64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.8.3.tgz", - "integrity": "sha512-fed2ji8s+I/m8upWpTJGanqiJ0rnlHOK3DdxsyVLZQ8ClY6qLuPc9uehCREBifRJLl/iJyQpHIRufLDeotsPtw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.8.3.tgz", - "integrity": "sha512-9yjUfOFN7wrYsXt/T/gEWfvVxKlnh3yBpnScw98IF+oOeCYb5/b/+K7YNqKROV2i1DlMjg9g/EcN9wvj+NkMuQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, "node_modules/@biomejs/cli-linux-x64": { "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.8.3.tgz", - "integrity": "sha512-I8G2QmuE1teISyT8ie1HXsjFRz9L1m5n83U1O6m30Kw+kPMPSKjag6QGUn+sXT8V+XWIZxFFBoTDEDZW2KPDDw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.8.3.tgz", - "integrity": "sha512-UHrGJX7PrKMKzPGoEsooKC9jXJMa28TUSMjcIlbDnIO4EAavCoVmNQaIuUSH0Ls2mpGMwUIf+aZJv657zfWWjA==", "cpu": [ "x64" ], @@ -587,44 +438,8 @@ "node": ">=14.21.3" } }, - "node_modules/@biomejs/cli-win32-arm64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.8.3.tgz", - "integrity": "sha512-J+Hu9WvrBevfy06eU1Na0lpc7uR9tibm9maHynLIoAjLZpQU3IW+OKHUtyL8p6/3pT2Ju5t5emReeIS2SAxhkQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.21.3" - } - }, - "node_modules/@biomejs/cli-win32-x64": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.8.3.tgz", - "integrity": "sha512-/PJ59vA1pnQeKahemaQf4Nyj7IKUvGQSc3Ze1uIGi+Wvr1xF7rGobSrAAG01T/gUDG21vkDsZYM03NAmPiVkqg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT OR Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.21.3" - } - }, "node_modules/@blocto/sdk": { "version": "0.10.3", - "resolved": "https://registry.npmjs.org/@blocto/sdk/-/sdk-0.10.3.tgz", - "integrity": "sha512-9Ot5R3YULaX8IIRGyVYXhoGC01H+kaXCqwfLWzUSKciNYT2GxiF547LEAnT1a7e5HMrJdqjQ+94OsS32fHmq9A==", "license": "MIT", "dependencies": { "buffer": "^6.0.3", @@ -642,8 +457,6 @@ }, "node_modules/@cloudflare/kv-asset-handler": { "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.3.4.tgz", - "integrity": "sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==", "dev": true, "license": "MIT OR Apache-2.0", "dependencies": { @@ -655,8 +468,6 @@ }, "node_modules/@cloudflare/next-on-pages": { "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@cloudflare/next-on-pages/-/next-on-pages-1.13.2.tgz", - "integrity": "sha512-lIri+zuxj6SKqIlewOoC9g9dD5+GbUMAXRrkhApmWGekE0PFlEAR7tHHDkbMXix4ctp7K4lPBY/wWUd8oh+VtQ==", "dev": true, "license": "MIT", "dependencies": { @@ -687,44 +498,8 @@ } } }, - "node_modules/@cloudflare/next-on-pages/node_modules/@esbuild/android-arm": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", - "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@cloudflare/next-on-pages/node_modules/@esbuild/linux-loong64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", - "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@cloudflare/next-on-pages/node_modules/commander": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "dev": true, "license": "MIT", "engines": { @@ -733,8 +508,6 @@ }, "node_modules/@cloudflare/next-on-pages/node_modules/esbuild": { "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz", - "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -769,44 +542,8 @@ "esbuild-windows-arm64": "0.15.18" } }, - "node_modules/@cloudflare/workerd-darwin-64": { - "version": "1.20240821.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20240821.1.tgz", - "integrity": "sha512-CDBpfZKrSy4YrIdqS84z67r3Tzal2pOhjCsIb63IuCnvVes59/ft1qhczBzk9EffeOE2iTCrA4YBT7Sbn7USew==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=16" - } - }, - "node_modules/@cloudflare/workerd-darwin-arm64": { - "version": "1.20240821.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20240821.1.tgz", - "integrity": "sha512-Q+9RedvNbPcEt/dKni1oN94OxbvuNAeJkgHmrLFTGF8zu21wzOhVkQeRNxcYxrMa9mfStc457NAg13OVCj2kHQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=16" - } - }, "node_modules/@cloudflare/workerd-linux-64": { "version": "1.20240821.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20240821.1.tgz", - "integrity": "sha512-j6z3KsPtawrscoLuP985LbqFrmsJL6q1mvSXOXTqXGODAHIzGBipHARdOjms3UQqovzvqB2lQaQsZtLBwCZxtA==", "cpu": [ "x64" ], @@ -820,44 +557,8 @@ "node": ">=16" } }, - "node_modules/@cloudflare/workerd-linux-arm64": { - "version": "1.20240821.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20240821.1.tgz", - "integrity": "sha512-I9bHgZOxJQW0CV5gTdilyxzTG7ILzbTirehQWgfPx9X77E/7eIbR9sboOMgyeC69W4he0SKtpx0sYZuTJu4ERw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=16" - } - }, - "node_modules/@cloudflare/workerd-windows-64": { - "version": "1.20240821.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20240821.1.tgz", - "integrity": "sha512-keC97QPArs6LWbPejQM7/Y8Jy8QqyaZow4/ZdsGo+QjlOLiZRDpAenfZx3CBUoWwEeFwQTl2FLO+8hV1SWFFYw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "Apache-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=16" - } - }, "node_modules/@cloudflare/workers-shared": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@cloudflare/workers-shared/-/workers-shared-0.4.1.tgz", - "integrity": "sha512-nYh4r8JwOOjYIdH2zub++CmIKlkYFlpxI1nBHimoiHcytJXD/b7ldJ21TtfzUZMCgI78mxVlymMHA/ReaOxKlA==", "dev": true, "license": "MIT OR Apache-2.0", "engines": { @@ -866,15 +567,11 @@ }, "node_modules/@cloudflare/workers-types": { "version": "4.20240903.0", - "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20240903.0.tgz", - "integrity": "sha512-a4mqgtVsPWg3JNNlQdLRE0Z6/mHr/uXa1ANDw6Zd7in438UCbeb+j7Z954Sf93G24jExpAn9VZ8kUUml0RwZbQ==", "dev": true, "license": "MIT OR Apache-2.0" }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, "license": "MIT", "dependencies": { @@ -886,8 +583,6 @@ }, "node_modules/@ctrl/tinycolor": { "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", - "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", "license": "MIT", "engines": { "node": ">=10" @@ -895,8 +590,6 @@ }, "node_modules/@edge-runtime/format": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@edge-runtime/format/-/format-2.2.1.tgz", - "integrity": "sha512-JQTRVuiusQLNNLe2W9tnzBlV/GvSVcozLl4XZHk5swnRZ/v6jp8TqR8P7sqmJsQqblDZ3EztcWmLDbhRje/+8g==", "dev": true, "license": "MPL-2.0", "peer": true, @@ -906,8 +599,6 @@ }, "node_modules/@edge-runtime/node-utils": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@edge-runtime/node-utils/-/node-utils-2.3.0.tgz", - "integrity": "sha512-uUtx8BFoO1hNxtHjp3eqVPC/mWImGb2exOfGjMLUoipuWgjej+f4o/VP4bUI8U40gu7Teogd5VTeZUkGvJSPOQ==", "dev": true, "license": "MPL-2.0", "peer": true, @@ -917,8 +608,6 @@ }, "node_modules/@edge-runtime/ponyfill": { "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@edge-runtime/ponyfill/-/ponyfill-2.4.2.tgz", - "integrity": "sha512-oN17GjFr69chu6sDLvXxdhg0Qe8EZviGSuqzR9qOiKh4MhFYGdBBcqRNzdmYeAdeRzOW2mM9yil4RftUQ7sUOA==", "dev": true, "license": "MPL-2.0", "peer": true, @@ -928,8 +617,6 @@ }, "node_modules/@edge-runtime/primitives": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@edge-runtime/primitives/-/primitives-4.1.0.tgz", - "integrity": "sha512-Vw0lbJ2lvRUqc7/soqygUX216Xb8T3WBZ987oywz6aJqRxcwSVWwr9e+Nqo2m9bxobA9mdbWNNoRY6S9eko1EQ==", "dev": true, "license": "MPL-2.0", "peer": true, @@ -939,8 +626,6 @@ }, "node_modules/@edge-runtime/vm": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@edge-runtime/vm/-/vm-3.2.0.tgz", - "integrity": "sha512-0dEVyRLM/lG4gp1R/Ik5bfPl/1wX00xFwd5KcNH602tzBa09oF7pbTKETEhR1GjZ75K6OJnYFu8II2dyMhONMw==", "dev": true, "license": "MPL-2.0", "peer": true, @@ -953,20 +638,14 @@ }, "node_modules/@emotion/hash": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", - "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==", "license": "MIT" }, "node_modules/@emotion/unitless": { "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", - "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==", "license": "MIT" }, "node_modules/@esbuild-plugins/node-globals-polyfill": { "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz", - "integrity": "sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==", "dev": true, "license": "ISC", "peerDependencies": { @@ -975,8 +654,6 @@ }, "node_modules/@esbuild-plugins/node-modules-polyfill": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz", - "integrity": "sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==", "dev": true, "license": "ISC", "dependencies": { @@ -987,3158 +664,1256 @@ "esbuild": "*" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", - "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", "cpu": [ - "ppc64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "aix" + "linux" ], "engines": { - "node": ">=18" + "node": ">=12" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", - "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", - "cpu": [ - "arm" - ], + "node_modules/@fastify/busboy": { + "version": "2.1.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=12" + "node": ">=14" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", - "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" + "peer": true, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", - "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", - "cpu": [ - "x64" - ], + "node_modules/@iden3/bigarray": { + "version": "0.0.2", + "license": "GPL-3.0" + }, + "node_modules/@iden3/binfileutils": { + "version": "0.0.12", + "license": "GPL-3.0", + "dependencies": { + "fastfile": "0.0.20", + "ffjavascript": "^0.3.0" + } + }, + "node_modules/@identity-connect/api": { + "version": "0.7.0", + "license": "MIT" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, "engines": { "node": ">=12" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", - "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", - "cpu": [ - "arm64" - ], + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", - "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", - "cpu": [ - "x64" - ], + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", - "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", - "cpu": [ - "arm64" - ], + "node_modules/@jeton/tailwindcss-config": { + "resolved": "packages/tailwindcss-config", + "link": true + }, + "node_modules/@jeton/ts-sdk": { + "resolved": "packages/ts-sdk", + "link": true + }, + "node_modules/@jeton/typescript-config": { + "resolved": "packages/typescript-config", + "link": true + }, + "node_modules/@jeton/ui": { + "resolved": "packages/ui", + "link": true + }, + "node_modules/@jeton/web": { + "resolved": "apps/web", + "link": true + }, + "node_modules/@jeton/zk-deck": { + "resolved": "packages/zk-deck", + "link": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", - "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", - "cpu": [ - "x64" - ], + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", - "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", - "cpu": [ - "arm" - ], + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", - "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", - "cpu": [ - "arm64" - ], + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=6.0.0" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", - "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", - "cpu": [ - "ia32" - ], + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", - "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", - "cpu": [ - "loong64" - ], + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", - "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", - "cpu": [ - "mips64el" - ], - "dev": true, + "node_modules/@json-rpc-tools/provider": { + "version": "1.7.6", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@json-rpc-tools/utils": "^1.7.6", + "axios": "^0.21.0", + "safe-json-utils": "^1.1.1", + "ws": "^7.4.0" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", - "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", - "cpu": [ - "ppc64" - ], - "dev": true, + "node_modules/@json-rpc-tools/provider/node_modules/axios": { + "version": "0.21.4", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "follow-redirects": "^1.14.0" } }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", - "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", - "cpu": [ - "riscv64" - ], - "dev": true, + "node_modules/@json-rpc-tools/provider/node_modules/ws": { + "version": "7.5.10", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=12" + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", - "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", - "cpu": [ - "s390x" - ], - "dev": true, + "node_modules/@json-rpc-tools/types": { + "version": "1.7.6", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "keyvaluestorage-interface": "^1.0.0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", - "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@json-rpc-tools/utils": { + "version": "1.7.6", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "dependencies": { + "@json-rpc-tools/types": "^1.7.6", + "@pedrouid/environment": "^1.0.1" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", - "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/@legendapp/state": { + "version": "3.0.0-alpha.34", "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" + "dependencies": { + "use-sync-external-store": "^1.2.2" } }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", - "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", - "cpu": [ - "arm64" - ], + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", - "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", - "cpu": [ - "x64" - ], + "node_modules/@mapbox/node-pre-gyp/node_modules/chownr": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "license": "ISC", + "peer": true, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", - "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", - "cpu": [ - "x64" - ], + "node_modules/@mapbox/node-pre-gyp/node_modules/fs-minipass": { + "version": "2.1.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], + "license": "ISC", + "peer": true, + "dependencies": { + "minipass": "^3.0.0" + }, "engines": { - "node": ">=12" + "node": ">= 8" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", - "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", - "cpu": [ - "arm64" - ], + "node_modules/@mapbox/node-pre-gyp/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", - "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", - "cpu": [ - "ia32" - ], + "node_modules/@mapbox/node-pre-gyp/node_modules/minipass": { + "version": "5.0.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "license": "ISC", + "peer": true, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", - "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", - "cpu": [ - "x64" - ], + "node_modules/@mapbox/node-pre-gyp/node_modules/minizlib": { + "version": "2.1.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "peer": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">= 8" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", + "node_modules/@mapbox/node-pre-gyp/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", "dev": true, - "license": "MIT", + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=14" + "node": ">=8" } }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", - "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "node_modules/@mapbox/node-pre-gyp/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, "license": "MIT", "peer": true, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" - } - }, - "node_modules/@iden3/bigarray": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@iden3/bigarray/-/bigarray-0.0.2.tgz", - "integrity": "sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g==", - "license": "GPL-3.0" - }, - "node_modules/@iden3/binfileutils": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/@iden3/binfileutils/-/binfileutils-0.0.12.tgz", - "integrity": "sha512-naAmzuDufRIcoNfQ1d99d7hGHufLA3wZSibtr4dMe6ZeiOPV1KwOZWTJ1YVz4HbaWlpDuzVU72dS4ATQS4PXBQ==", - "license": "GPL-3.0", - "dependencies": { - "fastfile": "0.0.20", - "ffjavascript": "^0.3.0" + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@identity-connect/api": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@identity-connect/api/-/api-0.7.0.tgz", - "integrity": "sha512-mn/LZGeb3xgBD644p67tYOjvYSSdZpwxiO4/ZjwjsJZ8eYvGha5FiZg+pqVH73lg1S36qikwbkA3HUQOAE5GKA==", - "license": "MIT" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@mapbox/node-pre-gyp/node_modules/tar": { + "version": "6.2.1", "dev": true, "license": "ISC", + "peer": true, "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "node_modules/@mapbox/node-pre-gyp/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "MIT" + "license": "ISC", + "peer": true }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", + "node_modules/@metamask/object-multiplex": { + "version": "1.3.0", + "license": "ISC", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "end-of-stream": "^1.4.4", + "once": "^1.4.0", + "readable-stream": "^2.3.3" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, + "node_modules/@metamask/safe-event-emitter": { + "version": "2.0.0", + "license": "ISC" + }, + "node_modules/@microsoft/fetch-event-source": { + "version": "2.0.1", "license": "MIT", + "peer": true + }, + "node_modules/@mizuwallet-sdk/aptos-wallet-adapter": { + "version": "0.2.3", + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" + "@aptos-labs/ts-sdk": "^1.26.0", + "@aptos-labs/wallet-standard": "0.1.0-ms.1", + "@blocto/sdk": "^0.10.3", + "@msafe/aptos-wallet": "^6.1.1", + "buffer": "^6.0.3", + "postmate": "^1.5.2" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "peerDependencies": { + "@mizuwallet-sdk/core": ">=1.2.0", + "@mizuwallet-sdk/protocol": "0.0.1" } }, - "node_modules/@jeton/tailwindcss-config": { - "resolved": "packages/tailwindcss-config", - "link": true - }, - "node_modules/@jeton/ts-sdk": { - "resolved": "packages/ts-sdk", - "link": true - }, - "node_modules/@jeton/typescript-config": { - "resolved": "packages/typescript-config", - "link": true - }, - "node_modules/@jeton/ui": { - "resolved": "packages/ui", - "link": true - }, - "node_modules/@jeton/web": { - "resolved": "apps/web", - "link": true - }, - "node_modules/@jeton/zk-circuits": { - "resolved": "packages/zk-circuits", - "link": true + "node_modules/@mizuwallet-sdk/aptos-wallet-adapter/node_modules/@aptos-labs/wallet-standard": { + "version": "0.1.0-ms.1", + "license": "Apache-2.0", + "peerDependencies": { + "@aptos-labs/ts-sdk": "^1.17.0", + "@wallet-standard/core": "^1.0.3" + } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "license": "MIT", + "node_modules/@mizuwallet-sdk/core": { + "version": "1.3.0", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "buffer": "^6.0.3", + "jwt-decode": "^4.0.0" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@aptos-labs/ts-sdk": ">=1.14.0", + "graphql-request": ">=7.0.1" } }, - "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "license": "MIT", + "node_modules/@mizuwallet-sdk/protocol": { + "version": "0.0.1", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "@microsoft/fetch-event-source": "^2.0.1", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, + "node_modules/@molt/command": { + "version": "0.9.0", "license": "MIT", - "engines": { - "node": ">=6.0.0" + "peer": true, + "dependencies": { + "@molt/types": "0.2.0", + "alge": "0.8.1", + "chalk": "^5.3.0", + "lodash.camelcase": "^4.3.0", + "lodash.snakecase": "^4.1.1", + "readline-sync": "^1.4.10", + "string-length": "^6.0.0", + "strip-ansi": "^7.1.0", + "ts-toolbelt": "^9.6.0", + "type-fest": "^4.3.1", + "zod": "^3.22.2" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, + "node_modules/@molt/types": { + "version": "0.2.0", "license": "MIT", + "peer": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "ts-toolbelt": "^9.6.0" } }, - "node_modules/@json-rpc-tools/provider": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@json-rpc-tools/provider/-/provider-1.7.6.tgz", - "integrity": "sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "node_modules/@msafe/aptos-wallet": { + "version": "6.1.1", "license": "MIT", "dependencies": { - "@json-rpc-tools/utils": "^1.7.6", - "axios": "^0.21.0", - "safe-json-utils": "^1.1.1", - "ws": "^7.4.0" + "buffer": "^6.0.3", + "json-rpc-protocol": "^0.13.2" } }, - "node_modules/@json-rpc-tools/provider/node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.0" - } + "node_modules/@next/env": { + "version": "14.2.8", + "license": "MIT" }, - "node_modules/@json-rpc-tools/provider/node_modules/ws": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", - "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.8", + "cpu": [ + "x64" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/@json-rpc-tools/types": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz", - "integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "license": "MIT", - "dependencies": { - "keyvaluestorage-interface": "^1.0.0" + "node": ">= 10" } }, - "node_modules/@json-rpc-tools/utils": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.7.6.tgz", - "integrity": "sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "node_modules/@noble/curves": { + "version": "1.6.0", "license": "MIT", "dependencies": { - "@json-rpc-tools/types": "^1.7.6", - "@pedrouid/environment": "^1.0.1" + "@noble/hashes": "1.5.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@legendapp/state": { - "version": "3.0.0-alpha.34", - "resolved": "https://registry.npmjs.org/@legendapp/state/-/state-3.0.0-alpha.34.tgz", - "integrity": "sha512-iZ9nQu44IwoiSrShuMSk7Z8as5b0m+wQwBbneGwqFpJVJe/ErwKoQG29zeUcRq209TraukmXCL5SQ9uMTtvB5Q==", + "node_modules/@noble/hashes": { + "version": "1.5.0", "license": "MIT", - "dependencies": { - "use-sync-external-store": "^1.2.2" + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "dev": true, - "license": "BSD-3-Clause", - "peer": true, + "license": "MIT", "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "license": "ISC", - "peer": true, "engines": { - "node": ">=10" + "node": ">= 8" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "minipass": "^3.0.0" - }, + "license": "MIT", "engines": { "node": ">= 8" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, - "license": "ISC", - "peer": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "node_modules/@pedrouid/environment": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", "dev": true, - "license": "ISC", - "peer": true, + "license": "MIT", + "optional": true, "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.0", "license": "MIT", - "peer": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, - "engines": { - "node": ">= 8" + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/@radix-ui/react-slot": { + "version": "1.1.0", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@radix-ui/react-compose-refs": "1.1.0" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, + "node_modules/@rc-component/async-validator": { + "version": "5.0.4", "license": "MIT", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "@babel/runtime": "^7.24.4" }, "engines": { - "node": ">=10" + "node": ">=14.x" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/@rc-component/color-picker": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "@ant-design/fast-color": "^2.0.6", + "@babel/runtime": "^7.23.6", + "classnames": "^2.2.6", + "rc-util": "^5.38.1" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/@metamask/object-multiplex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@metamask/object-multiplex/-/object-multiplex-1.3.0.tgz", - "integrity": "sha512-czcQeVYdSNtabd+NcYQnrM69MciiJyd1qvKH8WM2Id3C0ZiUUX5Xa/MK+/VUk633DBhVOwdNzAKIQ33lGyA+eQ==", - "license": "ISC", + "node_modules/@rc-component/context": { + "version": "1.4.0", + "license": "MIT", "dependencies": { - "end-of-stream": "^1.4.4", - "once": "^1.4.0", - "readable-stream": "^2.3.3" + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" }, - "engines": { - "node": ">=12.0.0" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@metamask/safe-event-emitter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz", - "integrity": "sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==", - "license": "ISC" - }, - "node_modules/@microsoft/fetch-event-source": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@microsoft/fetch-event-source/-/fetch-event-source-2.0.1.tgz", - "integrity": "sha512-W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==", + "node_modules/@rc-component/mini-decimal": { + "version": "1.1.0", "license": "MIT", - "peer": true - }, - "node_modules/@mizuwallet-sdk/aptos-wallet-adapter": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@mizuwallet-sdk/aptos-wallet-adapter/-/aptos-wallet-adapter-0.2.3.tgz", - "integrity": "sha512-sga3rdiruMJQTVhIxUKe8T5IUZhsnWYZqLrTeSN/LPYT/p/yLcJUhdmZeK6L8m1NHelcUT81w0UgDCzPtPxxbg==", - "license": "Apache-2.0", "dependencies": { - "@aptos-labs/ts-sdk": "^1.26.0", - "@aptos-labs/wallet-standard": "0.1.0-ms.1", - "@blocto/sdk": "^0.10.3", - "@msafe/aptos-wallet": "^6.1.1", - "buffer": "^6.0.3", - "postmate": "^1.5.2" + "@babel/runtime": "^7.18.0" }, - "peerDependencies": { - "@mizuwallet-sdk/core": ">=1.2.0", - "@mizuwallet-sdk/protocol": "0.0.1" - } - }, - "node_modules/@mizuwallet-sdk/aptos-wallet-adapter/node_modules/@aptos-labs/wallet-standard": { - "version": "0.1.0-ms.1", - "resolved": "https://registry.npmjs.org/@aptos-labs/wallet-standard/-/wallet-standard-0.1.0-ms.1.tgz", - "integrity": "sha512-3aWEmdqMcll8D2lzhBZuYUW1o49TDpqw4QRAkHk00tSC3SwAkuukoW8g/M9lB5nHFxaX7UzuxeaYv8l6/mhJVQ==", - "license": "Apache-2.0", - "peerDependencies": { - "@aptos-labs/ts-sdk": "^1.17.0", - "@wallet-standard/core": "^1.0.3" + "engines": { + "node": ">=8.x" } }, - "node_modules/@mizuwallet-sdk/core": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@mizuwallet-sdk/core/-/core-1.3.0.tgz", - "integrity": "sha512-UjYuPcVasglfUETWL+9GBKHVvO5L3bsKb8yOxO0LOG5WeSiMps0Ya7KnWffi97XOyTtrXo0NGD39ojOcTYQMzQ==", - "license": "Apache-2.0", - "peer": true, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", + "license": "MIT", "dependencies": { - "buffer": "^6.0.3", - "jwt-decode": "^4.0.0" + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" }, "peerDependencies": { - "@aptos-labs/ts-sdk": ">=1.14.0", - "graphql-request": ">=7.0.1" + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@mizuwallet-sdk/protocol": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@mizuwallet-sdk/protocol/-/protocol-0.0.1.tgz", - "integrity": "sha512-LTkygWdCL4ao7XvmrUq570waMMA9EKDWV/GH7/NbTndLUQqJDp5hIM08E99FdplpI02mdA89/o6uTtfmd/Pstg==", - "license": "Apache-2.0", - "peer": true, + "node_modules/@rc-component/portal": { + "version": "1.1.2", + "license": "MIT", "dependencies": { - "@microsoft/fetch-event-source": "^2.0.1", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@molt/command": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@molt/command/-/command-0.9.0.tgz", - "integrity": "sha512-1JI8dAlpqlZoXyKWVQggX7geFNPxBpocHIXQCsnxDjKy+3WX4SGyZVJXuLlqRRrX7FmQCuuMAfx642ovXmPA9g==", + "node_modules/@rc-component/qrcode": { + "version": "1.0.0", "license": "MIT", - "peer": true, "dependencies": { - "@molt/types": "0.2.0", - "alge": "0.8.1", - "chalk": "^5.3.0", - "lodash.camelcase": "^4.3.0", - "lodash.snakecase": "^4.1.1", - "readline-sync": "^1.4.10", - "string-length": "^6.0.0", - "strip-ansi": "^7.1.0", - "ts-toolbelt": "^9.6.0", - "type-fest": "^4.3.1", - "zod": "^3.22.2" + "@babel/runtime": "^7.24.7", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@molt/types": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@molt/types/-/types-0.2.0.tgz", - "integrity": "sha512-p6ChnEZDGjg9PYPec9BK6Yp5/DdSrYQvXTBAtgrnqX6N36cZy37ql1c8Tc5LclfIYBNG7EZp8NBcRTYJwyi84g==", + "node_modules/@rc-component/tour": { + "version": "1.15.1", "license": "MIT", - "peer": true, "dependencies": { - "ts-toolbelt": "^9.6.0" + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@msafe/aptos-wallet": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@msafe/aptos-wallet/-/aptos-wallet-6.1.1.tgz", - "integrity": "sha512-g/2TPRqyChciaw/S69EBr7CgzYJBT1LJulU0nMNnkehJc+ZX/fNN+5JXEuea+a0rXsk/flcbCSfvT2JtS0+/mQ==", + "node_modules/@rc-component/trigger": { + "version": "2.2.2", "license": "MIT", "dependencies": { - "buffer": "^6.0.3", - "json-rpc-protocol": "^0.13.2" + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@next/env": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.8.tgz", - "integrity": "sha512-L44a+ynqkolyNBnYfF8VoCiSrjSZWgEHYKkKLGcs/a80qh7AkfVUD/MduVPgdsWZ31tgROR+yJRA0PZjSVBXWQ==", - "license": "MIT" - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.8.tgz", - "integrity": "sha512-1VrQlG8OzdyvvGZhGJFnaNE2P10Jjy/2FopnqbY0nSa/gr8If3iINxvOEW3cmVeoAYkmW0RsBazQecA2dBFOSw==", - "cpu": [ - "arm64" - ], + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "peer": true, + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, "engines": { - "node": ">= 10" + "node": ">= 8.0.0" } }, - "node_modules/@next/swc-darwin-x64": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.8.tgz", - "integrity": "sha512-87t3I86rNRSOJB1gXIUzaQWWSWrkWPDyZGsR0Z7JAPtLeX3uUOW2fHxl7dNWD2BZvbvftctTQjgtfpp7nMtmWg==", - "cpu": [ - "x64" - ], + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } + "peer": true }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.8.tgz", - "integrity": "sha512-ta2sfVzbOpTbgBrF9HM5m+U58dv6QPuwU4n5EX4LLyCJGKc433Z0D9h9gay/HSOjLEXJ2fJYrMP5JYYbHdxhtw==", + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.2", "cpu": [ - "arm64" + "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ "linux" - ], - "engines": { - "node": ">= 10" - } + ] }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.8.tgz", - "integrity": "sha512-+IoLTPK6Z5uIgDhgeWnQF5/o5GBN7+zyUNrs4Bes1W3g9++YELb8y0unFybS8s87ntAKMDl6jeQ+mD7oNwp/Ng==", - "cpu": [ - "arm64" - ], + "node_modules/@scure/base": { + "version": "1.1.8", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.8.tgz", - "integrity": "sha512-pO+hVXC+mvzUOQJJRG4RX4wJsRJ5BkURSf6dD6EjUXAX4Ml9es1WsEfkaZ4lcpmFzFvY47IkDaffks/GdCn9ag==", - "cpu": [ - "x64" - ], + "node_modules/@scure/bip32": { + "version": "1.5.0", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "dependencies": { + "@noble/curves": "~1.6.0", + "@noble/hashes": "~1.5.0", + "@scure/base": "~1.1.7" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.8.tgz", - "integrity": "sha512-bCat9izctychCtf3uL1nqHq31N5e1VxvdyNcBQflkudPMLbxVnlrw45Vi87K+lt1CwrtVayHqzo4ie0Szcpwzg==", - "cpu": [ - "x64" - ], + "node_modules/@scure/bip39": { + "version": "1.4.0", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" + "dependencies": { + "@noble/hashes": "~1.5.0", + "@scure/base": "~1.1.8" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.8.tgz", - "integrity": "sha512-gbxfUaSPV7EyUobpavida2Hwi62GhSJaSg7iBjmBWoxkxlmETOD7U4tWt763cGIsyE6jM7IoNavq0BXqwdW2QA==", - "cpu": [ - "arm64" - ], + "node_modules/@sinclair/typebox": { + "version": "0.25.24", + "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } + "peer": true }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.8.tgz", - "integrity": "sha512-PUXzEzjTTlUh3b5VAn1nlpwvujTnuCMMwbiCnaTazoVlN1nA3kWjlmp42IfURA2N/nyrlVEw7pURa/o4Qxj1cw==", - "cpu": [ - "ia32" - ], + "node_modules/@sindresorhus/is": { + "version": "4.6.0", "license": "MIT", - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">= 10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.8", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.8.tgz", - "integrity": "sha512-EnPKv0ttq02E9/1KZ/8Dn7kuutv6hy1CKc0HlNcvzOQcm4/SQtvfws5gY0zrG9tuupd3HfC2L/zcTrnBhpjTuQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" + "node_modules/@swc/counter": { + "version": "0.1.3", + "license": "Apache-2.0" + }, + "node_modules/@swc/helpers": { + "version": "0.5.5", + "license": "Apache-2.0", + "dependencies": { + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" } }, - "node_modules/@noble/curves": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.6.0.tgz", - "integrity": "sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==", + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", "license": "MIT", "dependencies": { - "@noble/hashes": "1.5.0" + "defer-to-connect": "^2.0.0" }, "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=10" } }, - "node_modules/@noble/hashes": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz", - "integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==", + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">= 10" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@ts-morph/common": { + "version": "0.11.1", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" + "fast-glob": "^3.2.7", + "minimatch": "^3.0.4", + "mkdirp": "^1.0.4", + "path-browserify": "^1.0.1" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@ts-morph/common/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">= 8" + "node": "*" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@ts-morph/common/node_modules/mkdirp": { + "version": "1.0.4", "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/@pedrouid/environment": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@pedrouid/environment/-/environment-1.0.1.tgz", - "integrity": "sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==", + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "dev": true, "license": "MIT" }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", "dev": true, + "license": "MIT" + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" + "dependencies": { + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" } }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz", - "integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==", + "node_modules/@types/chai": { + "version": "4.3.19", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/chrome": { + "version": "0.0.136", "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "dependencies": { + "@types/filesystem": "*", + "@types/har-format": "*" } }, - "node_modules/@radix-ui/react-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz", - "integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==", + "node_modules/@types/estree": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/filesystem": { + "version": "0.0.36", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "@types/filewriter": "*" } }, - "node_modules/@rc-component/async-validator": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@rc-component/async-validator/-/async-validator-5.0.4.tgz", - "integrity": "sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==", + "node_modules/@types/filewriter": { + "version": "0.0.33", + "license": "MIT" + }, + "node_modules/@types/har-format": { + "version": "1.2.15", + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/keyv": { + "version": "3.1.4", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.24.4" - }, - "engines": { - "node": ">=14.x" + "@types/node": "*" } }, - "node_modules/@rc-component/color-picker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-2.0.1.tgz", - "integrity": "sha512-WcZYwAThV/b2GISQ8F+7650r5ZZJ043E57aVBFkQ+kSY4C6wdofXgB0hBx+GPGpIU0Z81eETNoDUJMr7oy/P8Q==", + "node_modules/@types/mocha": { + "version": "10.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.5.4", "license": "MIT", "dependencies": { - "@ant-design/fast-color": "^2.0.6", - "@babel/runtime": "^7.23.6", - "classnames": "^2.2.6", - "rc-util": "^5.38.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "undici-types": "~6.19.2" } }, - "node_modules/@rc-component/context": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@rc-component/context/-/context-1.4.0.tgz", - "integrity": "sha512-kFcNxg9oLRMoL3qki0OMxK+7g5mypjgaaJp/pkOis/6rVxma9nJBF/8kCIuTYHUQNr0ii7MxqE33wirPZLJQ2w==", + "node_modules/@types/node-forge": { + "version": "1.3.11", + "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.10.1", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "@types/node": "*" } }, - "node_modules/@rc-component/mini-decimal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rc-component/mini-decimal/-/mini-decimal-1.1.0.tgz", - "integrity": "sha512-jS4E7T9Li2GuYwI6PyiVXmxTiM6b07rlD9Ge8uGZSCz3WlzcG5ZK7g5bbuKNeZ9pgUuPK/5guV781ujdVpm4HQ==", + "node_modules/@types/prop-types": { + "version": "15.7.12", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.5", + "devOptional": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.18.0" - }, - "engines": { - "node": ">=8.x" + "@types/prop-types": "*", + "csstype": "^3.0.2" } }, - "node_modules/@rc-component/mutate-observer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rc-component/mutate-observer/-/mutate-observer-1.1.0.tgz", - "integrity": "sha512-QjrOsDXQusNwGZPf4/qRQasg7UFEj06XiCJ8iuiq/Io7CrHrgVi6Uuetw60WAMG1799v+aM8kyc+1L/GBbHSlw==", + "node_modules/@types/react-dom": { + "version": "18.3.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.18.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "@types/react": "*" } }, - "node_modules/@rc-component/portal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@rc-component/portal/-/portal-1.1.2.tgz", - "integrity": "sha512-6f813C0IsasTZms08kfA8kPAGxbbkYToa8ALaiDIGGECU4i9hj8Plgbx0sNJDrey3EtHO30hmdaxtT0138xZcg==", + "node_modules/@types/responselike": { + "version": "1.0.3", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.18.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/qrcode": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rc-component/qrcode/-/qrcode-1.0.0.tgz", - "integrity": "sha512-L+rZ4HXP2sJ1gHMGHjsg9jlYBX/SLN2D6OxP9Zn3qgtpMWtO2vUfxVFwiogHpAIqs54FnALxraUy/BCO1yRIgg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.24.7", - "classnames": "^2.3.2", - "rc-util": "^5.38.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/tour": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.15.1.tgz", - "integrity": "sha512-Tr2t7J1DKZUpfJuDZWHxyxWpfmj8EZrqSgyMZ+BCdvKZ6r1UDsfU46M/iWAAFBy961Ssfom2kv5f3UcjIL2CmQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "@rc-component/portal": "^1.0.0-9", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rc-component/trigger": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.2.tgz", - "integrity": "sha512-xDyi0fJ3IV6XJEReMOewS9PEnnuLHKz4rjbgIniDsJFHjL5nROuUlu64mfo90jglLDkQUxRwK7aTtumA65/zYQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2", - "@rc-component/portal": "^1.1.0", - "classnames": "^2.3.2", - "rc-motion": "^2.0.0", - "rc-resize-observer": "^1.3.1", - "rc-util": "^5.38.0" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.2.tgz", - "integrity": "sha512-fSuPrt0ZO8uXeS+xP3b+yYTCBUd05MoSp2N/MFOgjhhUhMmchXlpTQrTpI8T+YAwAQuK7MafsCOxW7VrPMrJcg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.2.tgz", - "integrity": "sha512-xGU5ZQmPlsjQS6tzTTGwMsnKUtu0WVbl0hYpTPauvbRAnmIvpInhJtgjj3mcuJpEiuUw4v1s4BimkdfDWlh7gA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.2.tgz", - "integrity": "sha512-99AhQ3/ZMxU7jw34Sq8brzXqWH/bMnf7ZVhvLk9QU2cOepbQSVTns6qoErJmSiAvU3InRqC2RRZ5ovh1KN0d0Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.2.tgz", - "integrity": "sha512-ZbRaUvw2iN/y37x6dY50D8m2BnDbBjlnMPotDi/qITMJ4sIxNY33HArjikDyakhSv0+ybdUxhWxE6kTI4oX26w==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.2.tgz", - "integrity": "sha512-ztRJJMiE8nnU1YFcdbd9BcH6bGWG1z+jP+IPW2oDUAPxPjo9dverIOyXz76m6IPA6udEL12reYeLojzW2cYL7w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.2.tgz", - "integrity": "sha512-flOcGHDZajGKYpLV0JNc0VFH361M7rnV1ee+NTeC/BQQ1/0pllYcFmxpagltANYt8FYf9+kL6RSk80Ziwyhr7w==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.2.tgz", - "integrity": "sha512-69CF19Kp3TdMopyteO/LJbWufOzqqXzkrv4L2sP8kfMaAQ6iwky7NoXTp7bD6/irKgknDKM0P9E/1l5XxVQAhw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.2.tgz", - "integrity": "sha512-48pD/fJkTiHAZTnZwR0VzHrao70/4MlzJrq0ZsILjLW/Ab/1XlVUStYyGt7tdyIiVSlGZbnliqmult/QGA2O2w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.2.tgz", - "integrity": "sha512-cZdyuInj0ofc7mAQpKcPR2a2iu4YM4FQfuUzCVA2u4HI95lCwzjoPtdWjdpDKyHxI0UO82bLDoOaLfpZ/wviyQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.2.tgz", - "integrity": "sha512-RL56JMT6NwQ0lXIQmMIWr1SW28z4E4pOhRRNqwWZeXpRlykRIlEpSWdsgNWJbYBEWD84eocjSGDu/XxbYeCmwg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.2.tgz", - "integrity": "sha512-PMxkrWS9z38bCr3rWvDFVGD6sFeZJw4iQlhrup7ReGmfn7Oukrr/zweLhYX6v2/8J6Cep9IEA/SmjXjCmSbrMQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.2.tgz", - "integrity": "sha512-B90tYAUoLhU22olrafY3JQCFLnT3NglazdwkHyxNDYF/zAxJt5fJUB/yBoWFoIQ7SQj+KLe3iL4BhOMa9fzgpw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.2.tgz", - "integrity": "sha512-7twFizNXudESmC9oneLGIUmoHiiLppz/Xs5uJQ4ShvE6234K0VB1/aJYU3f/4g7PhssLGKBVCC37uRkkOi8wjg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.2.tgz", - "integrity": "sha512-9rRero0E7qTeYf6+rFh3AErTNU1VCQg2mn7CQcI44vNUWM9Ze7MSRS/9RFuSsox+vstRt97+x3sOhEey024FRQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.2.tgz", - "integrity": "sha512-5rA4vjlqgrpbFVVHX3qkrCo/fZTj1q0Xxpg+Z7yIo3J2AilW7t2+n6Q8Jrx+4MrYpAnjttTYF8rr7bP46BPzRw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.2.tgz", - "integrity": "sha512-6UUxd0+SKomjdzuAcp+HAmxw1FlGBnl1v2yEPSabtx4lBfdXHDVsW7+lQkgz9cNFJGY3AWR7+V8P5BqkD9L9nA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@scure/base": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.8.tgz", - "integrity": "sha512-6CyAclxj3Nb0XT7GHK6K4zK6k2xJm6E4Ft0Ohjt4WgegiFUHEtFb2CGzmPmGBwoIhrLsqNLYfLr04Y1GePrzZg==", - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.5.0.tgz", - "integrity": "sha512-8EnFYkqEQdnkuGBVpCzKxyIwDCBLDVj3oiX0EKUFre/tOjL/Hqba1D6n/8RcmaQy4f95qQFrO2A8Sr6ybh4NRw==", - "license": "MIT", - "dependencies": { - "@noble/curves": "~1.6.0", - "@noble/hashes": "~1.5.0", - "@scure/base": "~1.1.7" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip39": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.4.0.tgz", - "integrity": "sha512-BEEm6p8IueV/ZTfQLp/0vhw4NPnT9oWf5+28nvmeUICjP99f4vr2d+qc7AVGDDtwRep6ifR43Yed9ERVmiITzw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "~1.5.0", - "@scure/base": "~1.1.8" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@sinclair/typebox": { - "version": "0.25.24", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.25.24.tgz", - "integrity": "sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", - "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "license": "Apache-2.0" - }, - "node_modules/@swc/helpers": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.5.tgz", - "integrity": "sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==", - "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" - } - }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz", - "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==", - "license": "MIT", - "dependencies": { - "defer-to-connect": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ts-morph/common": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.11.1.tgz", - "integrity": "sha512-7hWZS0NRpEsNV8vWJzg7FEz6V8MaLNeJOmwmghqUXTpzk16V1LLZhdo+4QvE/+zv4cVci0OviuJFnqhEfoV3+g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-glob": "^3.2.7", - "minimatch": "^3.0.4", - "mkdirp": "^1.0.4", - "path-browserify": "^1.0.1" - } - }, - "node_modules/@ts-morph/common/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@ts-morph/common/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz", - "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==", - "license": "MIT", - "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" - } - }, - "node_modules/@types/chai": { - "version": "4.3.19", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.19.tgz", - "integrity": "sha512-2hHHvQBVE2FiSK4eN0Br6snX9MtolHaTo/batnLjlGRhoQzlCL61iVpxoqO7SfFyOw+P/pwv+0zNHzKoGWz9Cw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/chrome": { - "version": "0.0.136", - "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.136.tgz", - "integrity": "sha512-XDEiRhLkMd+SB7Iw3ZUIj/fov3wLd4HyTdLltVszkgl1dBfc3Rb7oPMVZ2Mz2TLqnF7Ow+StbR8E7r9lqpb4DA==", - "license": "MIT", - "dependencies": { - "@types/filesystem": "*", - "@types/har-format": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/filesystem": { - "version": "0.0.36", - "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.36.tgz", - "integrity": "sha512-vPDXOZuannb9FZdxgHnqSwAG/jvdGM8Wq+6N4D/d80z+D4HWH+bItqsZaVRQykAn6WEVeEkLm2oQigyHtgb0RA==", - "license": "MIT", - "dependencies": { - "@types/filewriter": "*" - } - }, - "node_modules/@types/filewriter": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.33.tgz", - "integrity": "sha512-xFU8ZXTw4gd358lb2jw25nxY9QAgqn2+bKKjKOYfNCzN4DKCFetK7sPtrlpg66Ywe3vWY9FNxprZawAh9wfJ3g==", - "license": "MIT" - }, - "node_modules/@types/har-format": { - "version": "1.2.15", - "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.15.tgz", - "integrity": "sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==", - "license": "MIT" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", - "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/keyv": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz", - "integrity": "sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/mocha": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.7.tgz", - "integrity": "sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.5.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", - "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.19.2" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.5.tgz", - "integrity": "sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/responselike": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz", - "integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/snarkjs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/@types/snarkjs/-/snarkjs-0.7.8.tgz", - "integrity": "sha512-x37Jsv1vx6I6RMJdfvYEmDUOLYgzYMecwlk13gniDOcN20xLVe9hy9DlQxWeCPirqpDY/jwugQSqCi2RxehU3g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vercel/build-utils": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-8.4.0.tgz", - "integrity": "sha512-SB2NFwWPTFAd/3lFR0TaJ94qwHJJmpKc5ngxL05YDe+5iOdduAkl8q8kEPdHc4/wKKqrqjSk1fiCp/MQgEuL7A==", - "dev": true, - "license": "Apache-2.0", - "peer": true - }, - "node_modules/@vercel/error-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@vercel/error-utils/-/error-utils-2.0.2.tgz", - "integrity": "sha512-Sj0LFafGpYr6pfCqrQ82X6ukRl5qpmVrHM/191kNYFqkkB9YkjlMAj6QcEsvCG259x4QZ7Tya++0AB85NDPbKQ==", - "dev": true, - "license": "Apache-2.0", - "peer": true - }, - "node_modules/@vercel/fun": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vercel/fun/-/fun-1.1.0.tgz", - "integrity": "sha512-SpuPAo+MlAYMtcMcC0plx7Tv4Mp7SQhJJj1iIENlOnABL24kxHpL09XLQMGzZIzIW7upR8c3edwgfpRtp+dhVw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@tootallnate/once": "2.0.0", - "async-listen": "1.2.0", - "debug": "4.1.1", - "execa": "3.2.0", - "fs-extra": "8.1.0", - "generic-pool": "3.4.2", - "micro": "9.3.5-canary.3", - "ms": "2.1.1", - "node-fetch": "2.6.7", - "path-match": "1.2.4", - "promisepipe": "3.0.0", - "semver": "7.3.5", - "stat-mode": "0.3.0", - "stream-to-promise": "2.2.0", - "tar": "4.4.18", - "tree-kill": "1.2.2", - "uid-promise": "1.0.0", - "uuid": "3.3.2", - "xdg-app-paths": "5.1.0", - "yauzl-promise": "2.1.3" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@vercel/fun/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/@vercel/fun/node_modules/execa": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-3.2.0.tgz", - "integrity": "sha512-kJJfVbI/lZE1PZYDI5VPxp8zXPO9rtxOkhpZ0jMKha56AI9y2gGVC6bkukStQf0ka5Rh15BA5m7cCCH4jmHqkw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" - } - }, - "node_modules/@vercel/fun/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vercel/fun/node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/@vercel/fun/node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vercel/fun/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@vercel/fun/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vercel/fun/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@vercel/fun/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@vercel/fun/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vercel/fun/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@vercel/fun/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/@vercel/fun/node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/@vercel/fun/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/@vercel/gatsby-plugin-vercel-analytics": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-analytics/-/gatsby-plugin-vercel-analytics-1.0.11.tgz", - "integrity": "sha512-iTEA0vY6RBPuEzkwUTVzSHDATo1aF6bdLLspI68mQ/BTbi5UQEGjpjyzdKOVcSYApDtFU6M6vypZ1t4vIEnHvw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "web-vitals": "0.2.4" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder": { - "version": "2.0.44", - "resolved": "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-2.0.44.tgz", - "integrity": "sha512-VvIfzwnpQdBKuXcUtRIL10P/aaD3eoDqk9zRsjng4IVaNcAXkTwsgobp5Eom7XgaDCa/K1tMdIPQIw+kb10ZkQ==", - "dev": true, - "peer": true, - "dependencies": { - "@sinclair/typebox": "0.25.24", - "@vercel/build-utils": "8.4.0", - "@vercel/routing-utils": "3.1.0", - "esbuild": "0.14.47", - "etag": "1.8.1", - "fs-extra": "11.1.0" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz", - "integrity": "sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "esbuild-android-64": "0.14.47", - "esbuild-android-arm64": "0.14.47", - "esbuild-darwin-64": "0.14.47", - "esbuild-darwin-arm64": "0.14.47", - "esbuild-freebsd-64": "0.14.47", - "esbuild-freebsd-arm64": "0.14.47", - "esbuild-linux-32": "0.14.47", - "esbuild-linux-64": "0.14.47", - "esbuild-linux-arm": "0.14.47", - "esbuild-linux-arm64": "0.14.47", - "esbuild-linux-mips64le": "0.14.47", - "esbuild-linux-ppc64le": "0.14.47", - "esbuild-linux-riscv64": "0.14.47", - "esbuild-linux-s390x": "0.14.47", - "esbuild-netbsd-64": "0.14.47", - "esbuild-openbsd-64": "0.14.47", - "esbuild-sunos-64": "0.14.47", - "esbuild-windows-32": "0.14.47", - "esbuild-windows-64": "0.14.47", - "esbuild-windows-arm64": "0.14.47" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-android-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz", - "integrity": "sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-android-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz", - "integrity": "sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-darwin-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz", - "integrity": "sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-darwin-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz", - "integrity": "sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-freebsd-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz", - "integrity": "sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-freebsd-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz", - "integrity": "sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-32": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz", - "integrity": "sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz", - "integrity": "sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-arm": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz", - "integrity": "sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz", - "integrity": "sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-mips64le": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz", - "integrity": "sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-ppc64le": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz", - "integrity": "sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-riscv64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz", - "integrity": "sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-s390x": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz", - "integrity": "sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-netbsd-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz", - "integrity": "sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-openbsd-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz", - "integrity": "sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-sunos-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz", - "integrity": "sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-windows-32": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz", - "integrity": "sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-windows-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz", - "integrity": "sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-windows-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz", - "integrity": "sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/fs-extra": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.0.tgz", - "integrity": "sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "@types/node": "*" } }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/@types/snarkjs": { + "version": "0.7.8", "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 10.0.0" - } + "license": "MIT" }, - "node_modules/@vercel/go": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@vercel/go/-/go-3.1.2.tgz", - "integrity": "sha512-VqhpNPI7ZUWPq1IQ28bpF0F81sH2JXvrmj7z/XJGN7qFXBMAmlnJzusM4B2IKacCbQlvGmyaQIV2zRXw+tFzDQ==", + "node_modules/@vercel/build-utils": { + "version": "8.4.0", "dev": true, "license": "Apache-2.0", "peer": true }, - "node_modules/@vercel/hydrogen": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vercel/hydrogen/-/hydrogen-1.0.4.tgz", - "integrity": "sha512-Sc0lpmI/J6O3o2cL75k8klL7ir2gi6kYI92O5+MrR3hh4fwz/atUIL9UWsTGuFjKTm69VAoJrmn3VKf0/0SGLw==", + "node_modules/@vercel/error-utils": { + "version": "2.0.2", "dev": true, "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@vercel/static-config": "3.0.0", - "ts-morph": "12.0.0" - } + "peer": true }, - "node_modules/@vercel/next": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/@vercel/next/-/next-4.3.8.tgz", - "integrity": "sha512-ZexIiKKKSbYsZRsJCnkGVhbgW8pKUoboXSrcOfJSDIaInYPZCTzJLIa6kS+YzYgSO0r6sZBAFOkszYMQCHBSzQ==", + "node_modules/@vercel/fun": { + "version": "1.1.0", "dev": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "@vercel/nft": "0.27.3" - } - }, - "node_modules/@vercel/nft": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.27.3.tgz", - "integrity": "sha512-oySTdDSzUAFDXpsSLk9Q943o+/Yu/+TCFxnehpFQEf/3khi2stMpTHPVNwFdvZq/Z4Ky93lE+MGHpXCRpMkSCA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.5", - "@rollup/pluginutils": "^4.0.0", - "acorn": "^8.6.0", - "acorn-import-attributes": "^1.9.5", - "async-sema": "^3.1.1", - "bindings": "^1.4.0", - "estree-walker": "2.0.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.2", - "node-gyp-build": "^4.2.2", - "resolve-from": "^5.0.0" - }, - "bin": { - "nft": "out/cli.js" + "@tootallnate/once": "2.0.0", + "async-listen": "1.2.0", + "debug": "4.1.1", + "execa": "3.2.0", + "fs-extra": "8.1.0", + "generic-pool": "3.4.2", + "micro": "9.3.5-canary.3", + "ms": "2.1.1", + "node-fetch": "2.6.7", + "path-match": "1.2.4", + "promisepipe": "3.0.0", + "semver": "7.3.5", + "stat-mode": "0.3.0", + "stream-to-promise": "2.2.0", + "tar": "4.4.18", + "tree-kill": "1.2.2", + "uid-promise": "1.0.0", + "uuid": "3.3.2", + "xdg-app-paths": "5.1.0", + "yauzl-promise": "2.1.3" }, "engines": { - "node": ">=16" + "node": ">= 10" } }, - "node_modules/@vercel/nft/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@vercel/fun/node_modules/debug": { + "version": "4.1.1", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "ms": "^2.1.1" } }, - "node_modules/@vercel/nft/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "node_modules/@vercel/fun/node_modules/execa": { + "version": "3.2.0", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/@vercel/nft/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@vercel/nft/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@vercel/node": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@vercel/node/-/node-3.2.12.tgz", - "integrity": "sha512-FlElxNA4L5Og0tCLwYGkp3qkoscOuy5Gk7MSomPgu/ECcSBnaUnZPTPT5I4kOWXKR0L7amKswOm9z1nx1zHb7g==", - "dev": true, - "license": "Apache-2.0", "peer": true, "dependencies": { - "@edge-runtime/node-utils": "2.3.0", - "@edge-runtime/primitives": "4.1.0", - "@edge-runtime/vm": "3.2.0", - "@types/node": "16.18.11", - "@vercel/build-utils": "8.4.0", - "@vercel/error-utils": "2.0.2", - "@vercel/nft": "0.27.3", - "@vercel/static-config": "3.0.0", - "async-listen": "3.0.0", - "cjs-module-lexer": "1.2.3", - "edge-runtime": "2.5.9", - "es-module-lexer": "1.4.1", - "esbuild": "0.14.47", - "etag": "1.8.1", - "node-fetch": "2.6.9", - "path-to-regexp": "6.2.1", - "ts-morph": "12.0.0", - "ts-node": "10.9.1", - "typescript": "4.9.5", - "undici": "5.28.4" - } - }, - "node_modules/@vercel/node/node_modules/@types/node": { - "version": "16.18.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.11.tgz", - "integrity": "sha512-3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/@vercel/node/node_modules/async-listen": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/async-listen/-/async-listen-3.0.0.tgz", - "integrity": "sha512-V+SsTpDqkrWTimiotsyl33ePSjA5/KrithwupuvJ6ztsqPvGv6ge4OredFhPffVXiLN/QUWvE0XcqJaYgt6fOg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@vercel/node/node_modules/esbuild": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz", - "integrity": "sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "peer": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "esbuild-android-64": "0.14.47", - "esbuild-android-arm64": "0.14.47", - "esbuild-darwin-64": "0.14.47", - "esbuild-darwin-arm64": "0.14.47", - "esbuild-freebsd-64": "0.14.47", - "esbuild-freebsd-arm64": "0.14.47", - "esbuild-linux-32": "0.14.47", - "esbuild-linux-64": "0.14.47", - "esbuild-linux-arm": "0.14.47", - "esbuild-linux-arm64": "0.14.47", - "esbuild-linux-mips64le": "0.14.47", - "esbuild-linux-ppc64le": "0.14.47", - "esbuild-linux-riscv64": "0.14.47", - "esbuild-linux-s390x": "0.14.47", - "esbuild-netbsd-64": "0.14.47", - "esbuild-openbsd-64": "0.14.47", - "esbuild-sunos-64": "0.14.47", - "esbuild-windows-32": "0.14.47", - "esbuild-windows-64": "0.14.47", - "esbuild-windows-arm64": "0.14.47" - } - }, - "node_modules/@vercel/node/node_modules/esbuild-android-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz", - "integrity": "sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/node/node_modules/esbuild-android-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz", - "integrity": "sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/node/node_modules/esbuild-darwin-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz", - "integrity": "sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/@vercel/node/node_modules/esbuild-darwin-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz", - "integrity": "sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, "engines": { - "node": ">=12" + "node": "^8.12.0 || >=9.7.0" } }, - "node_modules/@vercel/node/node_modules/esbuild-freebsd-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz", - "integrity": "sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==", - "cpu": [ - "x64" - ], + "node_modules/@vercel/fun/node_modules/get-stream": { + "version": "5.2.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], "peer": true, + "dependencies": { + "pump": "^3.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vercel/node/node_modules/esbuild-freebsd-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz", - "integrity": "sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==", - "cpu": [ - "arm64" - ], + "node_modules/@vercel/fun/node_modules/human-signals": { + "version": "1.1.1", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "Apache-2.0", "peer": true, "engines": { - "node": ">=12" + "node": ">=8.12.0" } }, - "node_modules/@vercel/node/node_modules/esbuild-linux-32": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz", - "integrity": "sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==", - "cpu": [ - "ia32" - ], + "node_modules/@vercel/fun/node_modules/is-stream": { + "version": "2.0.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "peer": true, "engines": { - "node": ">=12" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vercel/node/node_modules/esbuild-linux-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz", - "integrity": "sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==", - "cpu": [ - "x64" - ], + "node_modules/@vercel/fun/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", "peer": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/@vercel/node/node_modules/esbuild-linux-arm": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz", - "integrity": "sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==", - "cpu": [ - "arm" - ], + "node_modules/@vercel/fun/node_modules/mimic-fn": { + "version": "2.1.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "peer": true, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/@vercel/node/node_modules/esbuild-linux-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz", - "integrity": "sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==", - "cpu": [ - "arm64" - ], + "node_modules/@vercel/fun/node_modules/ms": { + "version": "2.1.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/@vercel/node/node_modules/esbuild-linux-mips64le": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz", - "integrity": "sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==", - "cpu": [ - "mips64el" - ], + "node_modules/@vercel/fun/node_modules/npm-run-path": { + "version": "4.0.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "peer": true, + "dependencies": { + "path-key": "^3.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@vercel/node/node_modules/esbuild-linux-ppc64le": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz", - "integrity": "sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==", - "cpu": [ - "ppc64" - ], + "node_modules/@vercel/fun/node_modules/onetime": { + "version": "5.1.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "peer": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, "engines": { - "node": ">=12" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vercel/node/node_modules/esbuild-linux-riscv64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz", - "integrity": "sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==", - "cpu": [ - "riscv64" - ], + "node_modules/@vercel/fun/node_modules/semver": { + "version": "7.3.5", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/@vercel/node/node_modules/esbuild-linux-s390x": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz", - "integrity": "sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==", - "cpu": [ - "s390x" - ], + "node_modules/@vercel/fun/node_modules/signal-exit": { + "version": "3.0.7", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "peer": true, - "engines": { - "node": ">=12" - } + "license": "ISC", + "peer": true }, - "node_modules/@vercel/node/node_modules/esbuild-netbsd-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz", - "integrity": "sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==", - "cpu": [ - "x64" - ], + "node_modules/@vercel/fun/node_modules/strip-final-newline": { + "version": "2.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], "peer": true, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/@vercel/node/node_modules/esbuild-openbsd-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz", - "integrity": "sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==", - "cpu": [ - "x64" - ], + "node_modules/@vercel/fun/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "license": "ISC", + "peer": true + }, + "node_modules/@vercel/gatsby-plugin-vercel-analytics": { + "version": "1.0.11", + "dev": true, + "license": "Apache-2.0", "peer": true, - "engines": { - "node": ">=12" + "dependencies": { + "web-vitals": "0.2.4" } }, - "node_modules/@vercel/node/node_modules/esbuild-sunos-64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz", - "integrity": "sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==", - "cpu": [ - "x64" - ], + "node_modules/@vercel/gatsby-plugin-vercel-builder": { + "version": "2.0.44", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], "peer": true, - "engines": { - "node": ">=12" + "dependencies": { + "@sinclair/typebox": "0.25.24", + "@vercel/build-utils": "8.4.0", + "@vercel/routing-utils": "3.1.0", + "esbuild": "0.14.47", + "etag": "1.8.1", + "fs-extra": "11.1.0" } }, - "node_modules/@vercel/node/node_modules/esbuild-windows-32": { + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild": { "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz", - "integrity": "sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==", - "cpu": [ - "ia32" - ], "dev": true, + "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { "node": ">=12" + }, + "optionalDependencies": { + "esbuild-android-64": "0.14.47", + "esbuild-android-arm64": "0.14.47", + "esbuild-darwin-64": "0.14.47", + "esbuild-darwin-arm64": "0.14.47", + "esbuild-freebsd-64": "0.14.47", + "esbuild-freebsd-arm64": "0.14.47", + "esbuild-linux-32": "0.14.47", + "esbuild-linux-64": "0.14.47", + "esbuild-linux-arm": "0.14.47", + "esbuild-linux-arm64": "0.14.47", + "esbuild-linux-mips64le": "0.14.47", + "esbuild-linux-ppc64le": "0.14.47", + "esbuild-linux-riscv64": "0.14.47", + "esbuild-linux-s390x": "0.14.47", + "esbuild-netbsd-64": "0.14.47", + "esbuild-openbsd-64": "0.14.47", + "esbuild-sunos-64": "0.14.47", + "esbuild-windows-32": "0.14.47", + "esbuild-windows-64": "0.14.47", + "esbuild-windows-arm64": "0.14.47" } }, - "node_modules/@vercel/node/node_modules/esbuild-windows-64": { + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-64": { "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz", - "integrity": "sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==", "cpu": [ "x64" ], @@ -4146,2229 +1921,1800 @@ "license": "MIT", "optional": true, "os": [ - "win32" + "linux" ], "peer": true, "engines": { "node": ">=12" } }, - "node_modules/@vercel/node/node_modules/esbuild-windows-arm64": { - "version": "0.14.47", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz", - "integrity": "sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==", - "cpu": [ - "arm64" - ], + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/fs-extra": { + "version": "11.1.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, "engines": { - "node": ">=12" + "node": ">=14.14" } }, - "node_modules/@vercel/node/node_modules/node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "universalify": "^2.0.0" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@vercel/node/node_modules/path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/universalify": { + "version": "2.0.1", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/@vercel/node/node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "license": "Apache-2.0", "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, "engines": { - "node": ">=4.2.0" + "node": ">= 10.0.0" } }, - "node_modules/@vercel/python": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@vercel/python/-/python-4.3.1.tgz", - "integrity": "sha512-pWRApBwUsAQJS8oZ7eKMiaBGbYJO71qw2CZqDFvkTj34FNBZtNIUcWSmqGfJJY5m2pU/9wt8z1CnKIyT9dstog==", + "node_modules/@vercel/go": { + "version": "3.1.2", "dev": true, "license": "Apache-2.0", "peer": true }, - "node_modules/@vercel/redwood": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@vercel/redwood/-/redwood-2.1.3.tgz", - "integrity": "sha512-lpsdQSHS2hvSX29/rJNm4q38dVXKstS4MVg875KE6zyXpACwviXuet0Cadyv0E60w7f2B6Ra+nJMpwKz6oJ5xg==", + "node_modules/@vercel/hydrogen": { + "version": "1.0.4", "dev": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "@vercel/nft": "0.27.3", - "@vercel/routing-utils": "3.1.0", "@vercel/static-config": "3.0.0", - "semver": "6.3.1", "ts-morph": "12.0.0" } }, - "node_modules/@vercel/redwood/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@vercel/remix-builder": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/@vercel/remix-builder/-/remix-builder-2.2.6.tgz", - "integrity": "sha512-LOFad9G+CZuq2TNvbT5A03+c437YPy6/J1hHBGMWS6rQ/PWHQSJdEUga9RwTavWoWpCCnrVpMM115EgMKk8JBA==", + "node_modules/@vercel/next": { + "version": "4.3.8", "dev": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "@vercel/error-utils": "2.0.2", - "@vercel/nft": "0.27.3", - "@vercel/static-config": "3.0.0", - "ts-morph": "12.0.0" + "@vercel/nft": "0.27.3" } }, - "node_modules/@vercel/routing-utils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@vercel/routing-utils/-/routing-utils-3.1.0.tgz", - "integrity": "sha512-Ci5xTjVTJY/JLZXpCXpLehMft97i9fH34nu9PGav6DtwkVUF6TOPX86U0W0niQjMZ5n6/ZP0BwcJK2LOozKaGw==", + "node_modules/@vercel/nft": { + "version": "0.27.3", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "peer": true, "dependencies": { - "path-to-regexp": "6.1.0" + "@mapbox/node-pre-gyp": "^1.0.5", + "@rollup/pluginutils": "^4.0.0", + "acorn": "^8.6.0", + "acorn-import-attributes": "^1.9.5", + "async-sema": "^3.1.1", + "bindings": "^1.4.0", + "estree-walker": "2.0.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.2", + "node-gyp-build": "^4.2.2", + "resolve-from": "^5.0.0" }, - "optionalDependencies": { - "ajv": "^6.0.0" + "bin": { + "nft": "out/cli.js" + }, + "engines": { + "node": ">=16" } }, - "node_modules/@vercel/routing-utils/node_modules/path-to-regexp": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.1.0.tgz", - "integrity": "sha512-h9DqehX3zZZDCEm+xbfU0ZmwCGFCAAraPJWMXJ4+v32NjZJilVg3k1TcKsRgIb8IQ/izZSaydDc1OhJCZvs2Dw==", + "node_modules/@vercel/nft/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, "license": "MIT", - "peer": true + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "node_modules/@vercel/ruby": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vercel/ruby/-/ruby-2.1.0.tgz", - "integrity": "sha512-UZYwlSEEfVnfzTmgkD+kxex9/gkZGt7unOWNyWFN7V/ZnZSsGBUgv6hXLnwejdRi3EztgRQEBd1kUKlXdIeC0Q==", + "node_modules/@vercel/nft/node_modules/estree-walker": { + "version": "2.0.2", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "peer": true }, - "node_modules/@vercel/static-build": { - "version": "2.5.22", - "resolved": "https://registry.npmjs.org/@vercel/static-build/-/static-build-2.5.22.tgz", - "integrity": "sha512-hpXZgur45FuO4DUTRd9Vlh7dBkxoAGQ3tZ+Uv8kolaacnoo7U/GXd/sCiR8vHNQaXb6T4xf5lZRGH++n07NrdQ==", + "node_modules/@vercel/nft/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "peer": true, "dependencies": { - "@vercel/gatsby-plugin-vercel-analytics": "1.0.11", - "@vercel/gatsby-plugin-vercel-builder": "2.0.44", - "@vercel/static-config": "3.0.0", - "ts-morph": "12.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@vercel/static-config": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@vercel/static-config/-/static-config-3.0.0.tgz", - "integrity": "sha512-2qtvcBJ1bGY0dYGYh3iM7yGKkk971FujLEDXzuW5wcZsPr1GSEjO/w2iSr3qve6nDDtBImsGoDEnus5FI4+fIw==", + "node_modules/@vercel/nft/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "Apache-2.0", + "license": "ISC", "peer": true, "dependencies": { - "ajv": "8.6.3", - "json-schema-to-ts": "1.6.4", - "ts-morph": "12.0.0" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "node_modules/@vercel/static-config/node_modules/ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "node_modules/@vercel/node": { + "version": "3.2.12", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "peer": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "@edge-runtime/node-utils": "2.3.0", + "@edge-runtime/primitives": "4.1.0", + "@edge-runtime/vm": "3.2.0", + "@types/node": "16.18.11", + "@vercel/build-utils": "8.4.0", + "@vercel/error-utils": "2.0.2", + "@vercel/nft": "0.27.3", + "@vercel/static-config": "3.0.0", + "async-listen": "3.0.0", + "cjs-module-lexer": "1.2.3", + "edge-runtime": "2.5.9", + "es-module-lexer": "1.4.1", + "esbuild": "0.14.47", + "etag": "1.8.1", + "node-fetch": "2.6.9", + "path-to-regexp": "6.2.1", + "ts-morph": "12.0.0", + "ts-node": "10.9.1", + "typescript": "4.9.5", + "undici": "5.28.4" } }, - "node_modules/@vercel/static-config/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "node_modules/@vercel/node/node_modules/@types/node": { + "version": "16.18.11", "dev": true, "license": "MIT", "peer": true }, - "node_modules/@vercel/static-config/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/@vercel/node/node_modules/async-listen": { + "version": "3.0.0", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/@wallet-standard/app": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@wallet-standard/app/-/app-1.0.1.tgz", - "integrity": "sha512-LnLYq2Vy2guTZ8GQKKSXQK3+FRGPil75XEdkZqE6fiLixJhZJoJa5hT7lXxwe0ykVTt9LEThdTbOpT7KadS26Q==", - "license": "Apache-2.0", - "dependencies": { - "@wallet-standard/base": "^1.0.1" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@wallet-standard/base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@wallet-standard/base/-/base-1.0.1.tgz", - "integrity": "sha512-1To3ekMfzhYxe0Yhkpri+Fedq0SYcfrOfJi3vbLjMwF2qiKPjTGLwZkf2C9ftdQmxES+hmxhBzTwF4KgcOwf8w==", - "license": "Apache-2.0", + "peer": true, "engines": { - "node": ">=16" + "node": ">= 14" } }, - "node_modules/@wallet-standard/core": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@wallet-standard/core/-/core-1.0.3.tgz", - "integrity": "sha512-Jb33IIjC1wM1HoKkYD7xQ6d6PZ8EmMZvyc8R7dFgX66n/xkvksVTW04g9yLvQXrLFbcIjHrCxW6TXMhvpsAAzg==", - "license": "Apache-2.0", - "dependencies": { - "@wallet-standard/app": "^1.0.1", - "@wallet-standard/base": "^1.0.1", - "@wallet-standard/features": "^1.0.3", - "@wallet-standard/wallet": "^1.0.1" + "node_modules/@vercel/node/node_modules/esbuild": { + "version": "0.14.47", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=16" + "node": ">=12" + }, + "optionalDependencies": { + "esbuild-android-64": "0.14.47", + "esbuild-android-arm64": "0.14.47", + "esbuild-darwin-64": "0.14.47", + "esbuild-darwin-arm64": "0.14.47", + "esbuild-freebsd-64": "0.14.47", + "esbuild-freebsd-arm64": "0.14.47", + "esbuild-linux-32": "0.14.47", + "esbuild-linux-64": "0.14.47", + "esbuild-linux-arm": "0.14.47", + "esbuild-linux-arm64": "0.14.47", + "esbuild-linux-mips64le": "0.14.47", + "esbuild-linux-ppc64le": "0.14.47", + "esbuild-linux-riscv64": "0.14.47", + "esbuild-linux-s390x": "0.14.47", + "esbuild-netbsd-64": "0.14.47", + "esbuild-openbsd-64": "0.14.47", + "esbuild-sunos-64": "0.14.47", + "esbuild-windows-32": "0.14.47", + "esbuild-windows-64": "0.14.47", + "esbuild-windows-arm64": "0.14.47" } }, - "node_modules/@wallet-standard/features": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@wallet-standard/features/-/features-1.0.3.tgz", - "integrity": "sha512-m8475I6W5LTatTZuUz5JJNK42wFRgkJTB0I9tkruMwfqBF2UN2eomkYNVf9RbrsROelCRzSFmugqjKZBFaubsA==", - "license": "Apache-2.0", - "dependencies": { - "@wallet-standard/base": "^1.0.1" - }, + "node_modules/@vercel/node/node_modules/esbuild-linux-64": { + "version": "0.14.47", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, "engines": { - "node": ">=16" + "node": ">=12" } }, - "node_modules/@wallet-standard/wallet": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@wallet-standard/wallet/-/wallet-1.0.1.tgz", - "integrity": "sha512-qkhJeuQU2afQTZ02yMZE5SFc91Fo3hyFjFkpQglHudENNyiSG0oUKcIjky8X32xVSaumgTZSQUAzpXnCTWHzKQ==", - "license": "Apache-2.0", + "node_modules/@vercel/node/node_modules/node-fetch": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@wallet-standard/base": "^1.0.1" + "whatwg-url": "^5.0.0" }, "engines": { - "node": ">=16" + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "node_modules/@vercel/node/node_modules/path-to-regexp": { + "version": "6.2.1", "dev": true, - "license": "ISC", + "license": "MIT", "peer": true }, - "node_modules/acorn": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "node_modules/@vercel/node/node_modules/typescript": { + "version": "4.9.5", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "peer": true, "bin": { - "acorn": "bin/acorn" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=0.4.0" + "node": ">=4.2.0" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "node_modules/@vercel/python": { + "version": "4.3.1", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@vercel/redwood": { + "version": "2.1.3", + "dev": true, + "license": "Apache-2.0", "peer": true, - "peerDependencies": { - "acorn": "^8" + "dependencies": { + "@vercel/nft": "0.27.3", + "@vercel/routing-utils": "3.1.0", + "@vercel/static-config": "3.0.0", + "semver": "6.3.1", + "ts-morph": "12.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", - "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "node_modules/@vercel/redwood/node_modules/semver": { + "version": "6.3.1", "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/@vercel/remix-builder": { + "version": "2.2.6", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "peer": true, "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" + "@vercel/error-utils": "2.0.2", + "@vercel/nft": "0.27.3", + "@vercel/static-config": "3.0.0", + "ts-morph": "12.0.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/@vercel/routing-utils": { + "version": "3.1.0", "dev": true, - "license": "MIT", - "optional": true, + "license": "Apache-2.0", "peer": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "path-to-regexp": "6.1.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "optionalDependencies": { + "ajv": "^6.0.0" } }, - "node_modules/ajv/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "node_modules/@vercel/routing-utils/node_modules/path-to-regexp": { + "version": "6.1.0", "dev": true, "license": "MIT", - "optional": true, "peer": true }, - "node_modules/alge": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/alge/-/alge-0.8.1.tgz", - "integrity": "sha512-kiV9nTt+XIauAXsowVygDxMZLplZxDWt0W8plE/nB32/V2ziM/P/TxDbSVK7FYIUt2Xo16h3/htDh199LNPCKQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "lodash.ismatch": "^4.4.0", - "remeda": "^1.0.0", - "ts-toolbelt": "^9.6.0", - "zod": "^3.17.3" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "node_modules/@vercel/ruby": { + "version": "2.1.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } + "license": "Apache-2.0", + "peer": true }, - "node_modules/ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "node_modules/@vercel/static-build": { + "version": "2.5.22", "dev": true, - "license": "MIT", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "environment": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "@vercel/gatsby-plugin-vercel-analytics": "1.0.11", + "@vercel/gatsby-plugin-vercel-builder": "2.0.44", + "@vercel/static-config": "3.0.0", + "ts-morph": "12.0.0" } }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/@vercel/static-config": { + "version": "3.0.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/antd": { - "version": "5.20.5", - "resolved": "https://registry.npmjs.org/antd/-/antd-5.20.5.tgz", - "integrity": "sha512-w/oVwoZAt5qP0PKhOkCmYXe06kXuoTh7UdQlltba/IzpbCCEh465z3Qw3i9HZY745HtOIS6ze707mVsORzN18g==", - "license": "MIT", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "@ant-design/colors": "^7.1.0", - "@ant-design/cssinjs": "^1.21.0", - "@ant-design/cssinjs-utils": "^1.0.3", - "@ant-design/icons": "^5.4.0", - "@ant-design/react-slick": "~1.1.2", - "@babel/runtime": "^7.24.8", - "@ctrl/tinycolor": "^3.6.1", - "@rc-component/color-picker": "~2.0.1", - "@rc-component/mutate-observer": "^1.1.0", - "@rc-component/qrcode": "~1.0.0", - "@rc-component/tour": "~1.15.1", - "@rc-component/trigger": "^2.2.1", - "classnames": "^2.5.1", - "copy-to-clipboard": "^3.3.3", - "dayjs": "^1.11.11", - "rc-cascader": "~3.28.0", - "rc-checkbox": "~3.3.0", - "rc-collapse": "~3.7.3", - "rc-dialog": "~9.5.2", - "rc-drawer": "~7.2.0", - "rc-dropdown": "~4.2.0", - "rc-field-form": "~2.4.0", - "rc-image": "~7.9.0", - "rc-input": "~1.6.3", - "rc-input-number": "~9.2.0", - "rc-mentions": "~2.15.0", - "rc-menu": "~9.14.1", - "rc-motion": "^2.9.2", - "rc-notification": "~5.6.0", - "rc-pagination": "~4.2.0", - "rc-picker": "~4.6.14", - "rc-progress": "~4.0.0", - "rc-rate": "~2.13.0", - "rc-resize-observer": "^1.4.0", - "rc-segmented": "~2.3.0", - "rc-select": "~14.15.1", - "rc-slider": "~11.1.5", - "rc-steps": "~6.0.1", - "rc-switch": "~4.1.0", - "rc-table": "~7.45.7", - "rc-tabs": "~15.1.1", - "rc-textarea": "~1.8.1", - "rc-tooltip": "~6.2.0", - "rc-tree": "~5.9.0", - "rc-tree-select": "~5.23.0", - "rc-upload": "~4.7.0", - "rc-util": "^5.43.0", - "scroll-into-view-if-needed": "^3.1.0", - "throttle-debounce": "^5.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ant-design" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "ajv": "8.6.3", + "json-schema-to-ts": "1.6.4", + "ts-morph": "12.0.0" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@vercel/static-config/node_modules/ajv": { + "version": "8.6.3", "dev": true, - "license": "ISC", + "license": "MIT", + "peer": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": ">= 8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "node_modules/@vercel/static-config/node_modules/fast-deep-equal": { + "version": "3.1.3", "dev": true, - "license": "ISC", + "license": "MIT", "peer": true }, - "node_modules/aptos": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/aptos/-/aptos-1.21.0.tgz", - "integrity": "sha512-PRKjoFgL8tVEc9+oS7eJUv8GNxx8n3+0byH2+m7CP3raYOD6yFKOecuwjVMIJmgfpjp6xH0P0HDMGZAXmSyU0Q==", + "node_modules/@vercel/static-config/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@wallet-standard/app": { + "version": "1.0.1", "license": "Apache-2.0", - "peer": true, "dependencies": { - "@aptos-labs/aptos-client": "^0.1.0", - "@noble/hashes": "1.3.3", - "@scure/bip39": "1.2.1", - "eventemitter3": "^5.0.1", - "form-data": "4.0.0", - "tweetnacl": "1.0.3" + "@wallet-standard/base": "^1.0.1" }, "engines": { - "node": ">=11.0.0" + "node": ">=16" } }, - "node_modules/aptos/node_modules/@noble/hashes": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz", - "integrity": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==", - "license": "MIT", - "peer": true, + "node_modules/@wallet-standard/base": { + "version": "1.0.1", + "license": "Apache-2.0", "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=16" } }, - "node_modules/aptos/node_modules/@scure/bip39": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", - "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", - "license": "MIT", - "peer": true, + "node_modules/@wallet-standard/core": { + "version": "1.0.3", + "license": "Apache-2.0", "dependencies": { - "@noble/hashes": "~1.3.0", - "@scure/base": "~1.1.0" + "@wallet-standard/app": "^1.0.1", + "@wallet-standard/base": "^1.0.1", + "@wallet-standard/features": "^1.0.3", + "@wallet-standard/wallet": "^1.0.1" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=16" } }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/@wallet-standard/features": { + "version": "1.0.3", + "license": "Apache-2.0", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@wallet-standard/base": "^1.0.1" }, "engines": { - "node": ">=10" + "node": ">=16" } }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/@wallet-standard/wallet": { + "version": "1.0.1", + "license": "Apache-2.0", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@wallet-standard/base": "^1.0.1" }, "engines": { - "node": ">= 6" + "node": ">=16" } }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/abbrev": { + "version": "1.1.1", "dev": true, - "license": "Python-2.0" - }, - "node_modules/array-tree-filter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", - "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==", - "license": "MIT" + "license": "ISC", + "peer": true }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/acorn": { + "version": "8.12.1", "dev": true, "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/as-table": { - "version": "1.0.55", - "resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz", - "integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==", + "node_modules/acorn-import-attributes": { + "version": "1.9.5", "dev": true, "license": "MIT", - "dependencies": { - "printable-characters": "^1.0.42" + "peer": true, + "peerDependencies": { + "acorn": "^8" } }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "node_modules/acorn-walk": { + "version": "8.3.3", "dev": true, "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, "engines": { - "node": ">=12" + "node": ">=0.4.0" } }, - "node_modules/ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "node_modules/agent-base": { + "version": "6.0.2", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "tslib": "^2.0.1" + "debug": "4" }, "engines": { - "node": ">=4" + "node": ">= 6.0.0" } }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "license": "MIT" - }, - "node_modules/async-listen": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/async-listen/-/async-listen-1.2.0.tgz", - "integrity": "sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA==", + "node_modules/ajv": { + "version": "6.12.6", "dev": true, "license": "MIT", - "peer": true + "optional": true, + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } }, - "node_modules/async-sema": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", - "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==", + "node_modules/ajv/node_modules/fast-deep-equal": { + "version": "3.1.3", "dev": true, "license": "MIT", + "optional": true, "peer": true }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/alge": { + "version": "0.8.1", "license": "MIT", + "peer": true, "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "lodash.ismatch": "^4.4.0", + "remeda": "^1.0.0", + "ts-toolbelt": "^9.6.0", + "zod": "^3.17.3" } }, - "node_modules/axios": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz", - "integrity": "sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw==", + "node_modules/ansi-colors": { + "version": "4.1.3", + "dev": true, "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "engines": { + "node": ">=6" } }, - "node_modules/b4a": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", - "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==", - "license": "Apache-2.0" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/bfj": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", - "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "node_modules/ansi-escapes": { + "version": "7.0.0", + "dev": true, "license": "MIT", "dependencies": { - "bluebird": "^3.7.2", - "check-types": "^11.2.3", - "hoopy": "^0.1.4", - "jsonpath": "^1.1.1", - "tryer": "^1.0.1" + "environment": "^1.0.0" }, "engines": { - "node": ">= 8.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, + "node_modules/ansi-regex": { + "version": "6.0.1", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/ansi-styles": { + "version": "6.2.1", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "file-uri-to-path": "1.0.0" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/blake2b-wasm": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz", - "integrity": "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==", + "node_modules/antd": { + "version": "5.20.5", "license": "MIT", "dependencies": { - "b4a": "^1.0.1", - "nanoassert": "^2.0.0" + "@ant-design/colors": "^7.1.0", + "@ant-design/cssinjs": "^1.21.0", + "@ant-design/cssinjs-utils": "^1.0.3", + "@ant-design/icons": "^5.4.0", + "@ant-design/react-slick": "~1.1.2", + "@babel/runtime": "^7.24.8", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~2.0.1", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/qrcode": "~1.0.0", + "@rc-component/tour": "~1.15.1", + "@rc-component/trigger": "^2.2.1", + "classnames": "^2.5.1", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.11", + "rc-cascader": "~3.28.0", + "rc-checkbox": "~3.3.0", + "rc-collapse": "~3.7.3", + "rc-dialog": "~9.5.2", + "rc-drawer": "~7.2.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~2.4.0", + "rc-image": "~7.9.0", + "rc-input": "~1.6.3", + "rc-input-number": "~9.2.0", + "rc-mentions": "~2.15.0", + "rc-menu": "~9.14.1", + "rc-motion": "^2.9.2", + "rc-notification": "~5.6.0", + "rc-pagination": "~4.2.0", + "rc-picker": "~4.6.14", + "rc-progress": "~4.0.0", + "rc-rate": "~2.13.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.3.0", + "rc-select": "~14.15.1", + "rc-slider": "~11.1.5", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.45.7", + "rc-tabs": "~15.1.1", + "rc-textarea": "~1.8.1", + "rc-tooltip": "~6.2.0", + "rc-tree": "~5.9.0", + "rc-tree-select": "~5.23.0", + "rc-upload": "~4.7.0", + "rc-util": "^5.43.0", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/blake3-wasm": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", - "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==", + "node_modules/any-promise": { + "version": "1.3.0", "dev": true, "license": "MIT" }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/anymatch": { + "version": "3.1.3", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "fill-range": "^7.1.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=8" + "node": ">= 8" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "node_modules/aproba": { + "version": "2.0.0", "dev": true, - "license": "ISC" + "license": "ISC", + "peer": true }, - "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", + "node_modules/aptos": { + "version": "1.21.0", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" + "@aptos-labs/aptos-client": "^0.1.0", + "@noble/hashes": "1.3.3", + "@scure/bip39": "1.2.1", + "eventemitter3": "^5.0.1", + "form-data": "4.0.0", + "tweetnacl": "1.0.3" }, "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=11.0.0" } }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/aptos/node_modules/@noble/hashes": { + "version": "1.3.3", "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "peer": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, + "node_modules/aptos/node_modules/@scure/bip39": { + "version": "1.2.1", "license": "MIT", "peer": true, - "engines": { - "node": "*" + "dependencies": { + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "peer": true, "dependencies": { - "streamsearch": "^1.1.0" + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" }, "engines": { - "node": ">=10.16.0" + "node": ">=10" } }, - "node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", "dev": true, "license": "MIT", "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, "engines": { - "node": ">= 0.8" + "node": ">= 6" } }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "node_modules/arg": { + "version": "5.0.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz", - "integrity": "sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==", - "license": "MIT", - "engines": { - "node": ">=10.6.0" - } + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" }, - "node_modules/cacheable-request": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", - "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", - "license": "MIT", - "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "node_modules/as-table": { + "version": "1.0.55", + "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "printable-characters": "^1.0.42" } }, - "node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/assertion-error": { + "version": "2.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "node_modules/ast-types": { + "version": "0.14.2", "dev": true, "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, "engines": { - "node": ">= 6" + "node": ">=4" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001658", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001658.tgz", - "integrity": "sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw==", + "node_modules/async": { + "version": "3.2.6", + "license": "MIT" + }, + "node_modules/async-listen": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/async-sema": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "dev": true, "funding": [ { "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "url": "https://opencollective.com/postcss/" }, { "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + "url": "https://tidelift.com/funding/github/npm/autoprefixer" }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], - "license": "CC-BY-4.0" + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } }, - "node_modules/capnp-ts": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/capnp-ts/-/capnp-ts-0.7.0.tgz", - "integrity": "sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==", - "dev": true, + "node_modules/axios": { + "version": "1.7.4", "license": "MIT", "dependencies": { - "debug": "^4.3.1", - "tslib": "^2.2.0" + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, - "node_modules/chai": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", - "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", - "dev": true, + "node_modules/b4a": { + "version": "1.6.6", + "license": "Apache-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bfj": { + "version": "7.1.0", "license": "MIT", "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" }, "engines": { - "node": ">=12" + "node": ">= 8.0.0" } }, - "node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "node_modules/binary-extensions": { + "version": "2.3.0", + "dev": true, "license": "MIT", "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "node_modules/bindings": { + "version": "1.5.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 16" + "peer": true, + "dependencies": { + "file-uri-to-path": "1.0.0" } }, - "node_modules/check-types": { - "version": "11.2.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", - "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", - "license": "MIT" - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, + "node_modules/blake2b-wasm": { + "version": "2.4.0", "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "b4a": "^1.0.1", + "nanoassert": "^2.0.0" } }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "node_modules/blake3-wasm": { + "version": "2.1.5", "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/circom_runtime": { - "version": "0.1.25", - "resolved": "https://registry.npmjs.org/circom_runtime/-/circom_runtime-0.1.25.tgz", - "integrity": "sha512-xBGsBFF5Uv6AKvbpgExYqpHfmfawH2HKe+LyjfKSRevqEV8u63i9KGHVIILsbJNW+0c5bm/66f0PUYQ7qZSkJA==", - "license": "Apache-2.0", - "dependencies": { - "ffjavascript": "0.3.0" - }, - "bin": { - "calcwit": "calcwit.js" - } + "license": "MIT" }, - "node_modules/circomlib": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/circomlib/-/circomlib-2.0.5.tgz", - "integrity": "sha512-O7NQ8OS+J4eshBuoy36z/TwQU0YHw8W3zxZcs4hVwpEll3e4hDm3mgkIPqItN8FDeLEKZFK3YeT/+k8TiLF3/A==", - "dev": true, - "license": "GPL-3.0" + "node_modules/bluebird": { + "version": "3.7.2", + "license": "MIT" }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true, + "node_modules/brace-expansion": { + "version": "2.0.1", "license": "MIT", - "peer": true - }, - "node_modules/classnames": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", - "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==", - "license": "MIT" + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "node_modules/braces": { + "version": "3.0.3", "dev": true, "license": "MIT", "dependencies": { - "restore-cursor": "^5.0.0" + "fill-range": "^7.1.1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "node_modules/browser-stdout": { + "version": "1.3.1", + "dev": true, + "license": "ISC" + }, + "node_modules/browserslist": { + "version": "4.23.3", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, - "engines": { - "node": ">=18" + "bin": { + "browserslist": "cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "license": "MIT" - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "license": "ISC", + "node_modules/buffer": { + "version": "6.0.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/buffer-crc32": { + "version": "0.2.13", "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", + "node_modules/busboy": { + "version": "1.6.0", "dependencies": { - "color-convert": "^2.0.1" + "streamsearch": "^1.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=10.16.0" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/bytes": { + "version": "3.1.0", "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/cac": { + "version": "6.7.14", "dev": true, "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, "engines": { "node": ">=8" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, + "node_modules/cacheable-lookup": { + "version": "5.0.4", "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=10.6.0" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/cacheable-request": { + "version": "7.0.4", "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=8" } }, - "node_modules/clone-response": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", - "integrity": "sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==", + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", "license": "MIT", "dependencies": { - "mimic-response": "^1.0.0" + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/code-block-writer": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-10.1.1.tgz", - "integrity": "sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==", + "node_modules/camelcase": { + "version": "6.3.0", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" + "node": ">=10" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "node_modules/camelcase-css": { + "version": "2.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">= 6" } }, - "node_modules/compute-scroll-into-view": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz", - "integrity": "sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" + "node_modules/caniuse-lite": { + "version": "1.0.30001658", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" }, - "node_modules/consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "node_modules/capnp-ts": { + "version": "0.7.0", "dev": true, "license": "MIT", - "engines": { - "node": "^14.18.0 || >=16.10.0" + "dependencies": { + "debug": "^4.3.1", + "tslib": "^2.2.0" } }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "node_modules/chai": { + "version": "5.1.1", "dev": true, "license": "MIT", - "peer": true, + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/convert-hrtime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-3.0.0.tgz", - "integrity": "sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA==", - "dev": true, + "node_modules/chalk": { + "version": "5.3.0", "license": "MIT", - "peer": true, "engines": { - "node": ">=8" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/check-error": { + "version": "2.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">= 0.6" - } - }, - "node_modules/copy-to-clipboard": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", - "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", - "license": "MIT", - "dependencies": { - "toggle-selection": "^1.0.6" + "node": ">= 16" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, + "node_modules/check-types": { + "version": "11.2.3", "license": "MIT" }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/chokidar": { + "version": "3.6.0", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">= 8" + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "node_modules/chownr": { + "version": "1.1.4", "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" + "license": "ISC", + "peer": true + }, + "node_modules/circom_runtime": { + "version": "0.1.25", + "license": "Apache-2.0", + "dependencies": { + "ffjavascript": "0.3.0" }, - "engines": { - "node": ">=4" + "bin": { + "calcwit": "calcwit.js" } }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/data-uri-to-buffer": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz", - "integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==", + "node_modules/circomlib": { + "version": "2.0.5", "dev": true, - "license": "MIT" + "license": "GPL-3.0" }, - "node_modules/date-fns": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", - "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", - "devOptional": true, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/kossnocorp" - } + "peer": true }, - "node_modules/dayjs": { - "version": "1.11.13", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "node_modules/classnames": { + "version": "2.5.1", "license": "MIT" }, - "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "node_modules/cli-cursor": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" + "restore-cursor": "^5.0.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "node_modules/cli-truncate": { + "version": "4.0.0", + "dev": true, "license": "MIT", "dependencies": { - "mimic-response": "^3.1.0" + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/client-only": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/cliui": { + "version": "7.0.4", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "license": "MIT" - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", - "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/defu": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", - "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", "dev": true, "license": "MIT" }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", "dev": true, "license": "MIT", - "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/detect-browser": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", - "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==", - "license": "MIT" - }, - "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=0.3.1" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/clone-response": { + "version": "1.0.3", + "license": "MIT", + "dependencies": { + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/code-block-writer": { + "version": "10.1.1", "dev": true, "license": "MIT", + "peer": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "path-type": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true, + "node_modules/color-name": { + "version": "1.1.4", "license": "MIT" }, - "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "node_modules/color-support": { + "version": "1.1.3", "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" + "license": "ISC", + "peer": true, + "bin": { + "color-support": "bin.js" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "node_modules/colorette": { + "version": "2.0.20", "dev": true, "license": "MIT" }, - "node_modules/ed2curve": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.3.0.tgz", - "integrity": "sha512-8w2fmmq3hv9rCrcI7g9hms2pMunQr1JINfcjwR9tAyZqhtyaMN991lF/ZfHfr5tzZQ8c7y7aBgZbjfbd0fjFwQ==", - "license": "Unlicense", + "node_modules/combined-stream": { + "version": "1.0.8", + "license": "MIT", "dependencies": { - "tweetnacl": "1.x.x" + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/edge-runtime": { - "version": "2.5.9", - "resolved": "https://registry.npmjs.org/edge-runtime/-/edge-runtime-2.5.9.tgz", - "integrity": "sha512-pk+k0oK0PVXdlT4oRp4lwh+unuKB7Ng4iZ2HB+EZ7QCEQizX360Rp/F4aRpgpRgdP2ufB35N+1KppHmYjqIGSg==", + "node_modules/commander": { + "version": "12.1.0", "dev": true, - "license": "MPL-2.0", - "peer": true, - "dependencies": { - "@edge-runtime/format": "2.2.1", - "@edge-runtime/ponyfill": "2.4.2", - "@edge-runtime/vm": "3.2.0", - "async-listen": "3.0.1", - "mri": "1.2.0", - "picocolors": "1.0.0", - "pretty-ms": "7.0.1", - "signal-exit": "4.0.2", - "time-span": "4.0.0" - }, - "bin": { - "edge-runtime": "dist/cli/index.js" - }, + "license": "MIT", "engines": { - "node": ">=16" + "node": ">=18" } }, - "node_modules/edge-runtime/node_modules/async-listen": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/async-listen/-/async-listen-3.0.1.tgz", - "integrity": "sha512-cWMaNwUJnf37C/S5TfCkk/15MwbPRwVYALA2jtjkbHjCmAPiDXyNJy2q3p1KAZzDLHAWyarUWSujUoHR4pEgrA==", + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.2.3", "dev": true, "license": "MIT", - "peer": true, "engines": { - "node": ">= 14" + "node": "^14.18.0 || >=16.10.0" } }, - "node_modules/edge-runtime/node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "node_modules/console-control-strings": { + "version": "1.1.0", "dev": true, "license": "ISC", "peer": true }, - "node_modules/edge-runtime/node_modules/signal-exit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "node_modules/content-type": { + "version": "1.0.4", "dev": true, - "license": "ISC", + "license": "MIT", "peer": true, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.6" } }, - "node_modules/eip1193-provider": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/eip1193-provider/-/eip1193-provider-1.0.1.tgz", - "integrity": "sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "node_modules/convert-hrtime": { + "version": "3.0.0", + "dev": true, "license": "MIT", - "dependencies": { - "@json-rpc-tools/provider": "^1.5.5" + "peer": true, + "engines": { + "node": ">=8" } }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "license": "Apache-2.0", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, + "node_modules/cookie": { + "version": "0.5.0", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/electron-to-chromium": { - "version": "1.5.18", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.18.tgz", - "integrity": "sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==", - "dev": true, - "license": "ISC" + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "license": "MIT", + "dependencies": { + "toggle-selection": "^1.0.6" + } }, - "node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/create-require": { + "version": "1.1.1", "dev": true, "license": "MIT" }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, "license": "MIT", "dependencies": { - "once": "^1.4.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "node_modules/cssesc": { + "version": "3.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=18" + "bin": { + "cssesc": "bin/cssesc" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/es-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "node_modules/csstype": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/data-uri-to-buffer": { + "version": "2.0.2", "dev": true, + "license": "MIT" + }, + "node_modules/date-fns": { + "version": "3.6.0", + "devOptional": true, "license": "MIT", - "peer": true + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } }, - "node_modules/esbuild": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", - "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "node_modules/dayjs": { + "version": "1.11.13", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.7", "dev": true, - "hasInstallScript": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "ms": "^2.1.3" }, "engines": { - "node": ">=12" + "node": ">=6.0" }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/esbuild-android-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", - "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", - "cpu": [ - "x64" - ], + "node_modules/decamelize": { + "version": "4.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild-android-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", - "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", - "cpu": [ - "arm64" - ], - "dev": true, + "node_modules/decompress-response": { + "version": "6.0.0", "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "mimic-response": "^3.1.0" + }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild-darwin-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", - "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", - "cpu": [ - "x64" - ], - "dev": true, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild-darwin-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", - "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", - "cpu": [ - "arm64" - ], + "node_modules/deep-eql": { + "version": "5.0.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/esbuild-freebsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", - "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "node_modules/deep-is": { + "version": "0.1.4", + "license": "MIT" + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" } }, - "node_modules/esbuild-freebsd-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", - "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", - "cpu": [ - "arm64" - ], + "node_modules/defu": { + "version": "6.1.4", "dev": true, + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], "engines": { - "node": ">=12" + "node": ">=0.4.0" } }, - "node_modules/esbuild-linux-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", - "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", - "cpu": [ - "ia32" - ], + "node_modules/delegates": { + "version": "1.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "peer": true }, - "node_modules/esbuild-linux-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz", - "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==", - "cpu": [ - "x64" - ], + "node_modules/depd": { + "version": "1.1.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "peer": true, "engines": { - "node": ">=12" + "node": ">= 0.6" } }, - "node_modules/esbuild-linux-arm": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", - "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", - "cpu": [ - "arm" - ], + "node_modules/detect-browser": { + "version": "5.3.0", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.0.3", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", + "peer": true, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild-linux-arm64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", - "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", - "cpu": [ - "arm64" - ], + "node_modules/didyoumean": { + "version": "1.2.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0" + }, + "node_modules/diff": { + "version": "5.2.0", + "dev": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=12" + "node": ">=0.3.1" } }, - "node_modules/esbuild-linux-mips64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", - "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", - "cpu": [ - "mips64el" - ], + "node_modules/dir-glob": { + "version": "3.0.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "path-type": "^4.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/esbuild-linux-ppc64le": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", - "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", - "cpu": [ - "ppc64" - ], + "node_modules/dlv": { + "version": "1.1.3", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "MIT" + }, + "node_modules/dotenv": { + "version": "16.4.5", + "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/esbuild-linux-riscv64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", - "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", - "cpu": [ - "riscv64" - ], + "node_modules/eastasianwidth": { + "version": "0.2.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "license": "MIT" + }, + "node_modules/ed2curve": { + "version": "0.3.0", + "license": "Unlicense", + "dependencies": { + "tweetnacl": "1.x.x" } }, - "node_modules/esbuild-linux-s390x": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", - "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", - "cpu": [ - "s390x" - ], + "node_modules/edge-runtime": { + "version": "2.5.9", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "@edge-runtime/format": "2.2.1", + "@edge-runtime/ponyfill": "2.4.2", + "@edge-runtime/vm": "3.2.0", + "async-listen": "3.0.1", + "mri": "1.2.0", + "picocolors": "1.0.0", + "pretty-ms": "7.0.1", + "signal-exit": "4.0.2", + "time-span": "4.0.0" + }, + "bin": { + "edge-runtime": "dist/cli/index.js" + }, "engines": { - "node": ">=12" + "node": ">=16" } }, - "node_modules/esbuild-netbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", - "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", - "cpu": [ - "x64" - ], + "node_modules/edge-runtime/node_modules/async-listen": { + "version": "3.0.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "peer": true, "engines": { - "node": ">=12" + "node": ">= 14" } }, - "node_modules/esbuild-openbsd-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", - "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", - "cpu": [ - "x64" - ], + "node_modules/edge-runtime/node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/edge-runtime/node_modules/signal-exit": { + "version": "4.0.2", "dev": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/eip1193-provider": { + "version": "1.0.1", "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "@json-rpc-tools/provider": "^1.5.5" + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/esbuild-sunos-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", - "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", - "cpu": [ - "x64" - ], + "node_modules/electron-to-chromium": { + "version": "1.5.18", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.4.0", "dev": true, + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" + "dependencies": { + "once": "^1.4.0" } }, - "node_modules/esbuild-windows-32": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", - "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", - "cpu": [ - "ia32" - ], + "node_modules/environment": { + "version": "1.1.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], "engines": { - "node": ">=12" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild-windows-64": { - "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", - "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", - "cpu": [ - "x64" - ], + "node_modules/es-module-lexer": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/esbuild": { + "version": "0.17.19", "dev": true, + "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" } }, - "node_modules/esbuild-windows-arm64": { + "node_modules/esbuild-linux-64": { "version": "0.15.18", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", - "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", "cpu": [ - "arm64" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "win32" + "linux" ], "engines": { "node": ">=12" @@ -6376,8 +3722,6 @@ }, "node_modules/escalade": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { @@ -6386,8 +3730,6 @@ }, "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", "engines": { @@ -6399,8 +3741,6 @@ }, "node_modules/escodegen": { "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", "license": "BSD-2-Clause", "dependencies": { "esprima": "^4.0.1", @@ -6421,8 +3761,6 @@ }, "node_modules/escodegen/node_modules/esprima": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", @@ -6434,8 +3772,6 @@ }, "node_modules/esprima": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -6446,8 +3782,6 @@ }, "node_modules/estraverse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "license": "BSD-2-Clause", "engines": { "node": ">=4.0" @@ -6455,15 +3789,11 @@ }, "node_modules/estree-walker": { "version": "0.6.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", - "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", "dev": true, "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" @@ -6471,8 +3801,6 @@ }, "node_modules/etag": { "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, "license": "MIT", "peer": true, @@ -6482,8 +3810,6 @@ }, "node_modules/eth-rpc-errors": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz", - "integrity": "sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==", "license": "MIT", "dependencies": { "fast-safe-stringify": "^2.0.6" @@ -6491,14 +3817,10 @@ }, "node_modules/eventemitter3": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", "license": "MIT" }, "node_modules/events": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "license": "MIT", "engines": { "node": ">=0.8.x" @@ -6506,16 +3828,12 @@ }, "node_modules/events-intercept": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/events-intercept/-/events-intercept-2.0.0.tgz", - "integrity": "sha512-blk1va0zol9QOrdZt0rFXo5KMkNPVSp92Eju/Qz8THwKWKRKeE0T8Br/1aW6+Edkyq9xHYgYxn2QtOnUKPUp+Q==", "dev": true, "license": "MIT", "peer": true }, "node_modules/execa": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "license": "MIT", "dependencies": { @@ -6538,8 +3856,6 @@ }, "node_modules/exit-hook": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", - "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", "dev": true, "license": "MIT", "engines": { @@ -6551,8 +3867,6 @@ }, "node_modules/extension-port-stream": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/extension-port-stream/-/extension-port-stream-2.1.1.tgz", - "integrity": "sha512-qknp5o5rj2J9CRKfVB8KJr+uXQlrojNZzdESUPhKYLXf97TPcGf6qWWKmpsNNtUyOdzFhab1ON0jzouNxHHvow==", "license": "ISC", "dependencies": { "webextension-polyfill": ">=0.10.0 <1.0" @@ -6563,14 +3877,10 @@ }, "node_modules/fast-deep-equal": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==", "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "license": "MIT", "dependencies": { @@ -6586,8 +3896,6 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, "license": "MIT", "optional": true, @@ -6595,26 +3903,18 @@ }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "license": "MIT" }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", "license": "MIT" }, "node_modules/fastfile": { "version": "0.0.20", - "resolved": "https://registry.npmjs.org/fastfile/-/fastfile-0.0.20.tgz", - "integrity": "sha512-r5ZDbgImvVWCP0lA/cGNgQcZqR+aYdFx3u+CtJqUE510pBUVGMn4ulL/iRTI4tACTYsNJ736uzFxEBXesPAktA==", "license": "GPL-3.0" }, "node_modules/fastq": { "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, "license": "ISC", "dependencies": { @@ -6623,8 +3923,6 @@ }, "node_modules/fd-slicer": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", "dev": true, "license": "MIT", "peer": true, @@ -6634,8 +3932,6 @@ }, "node_modules/ffjavascript": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.3.0.tgz", - "integrity": "sha512-l7sR5kmU3gRwDy8g0Z2tYBXy5ttmafRPFOqY7S6af5cq51JqJWt5eQ/lSR/rs2wQNbDYaYlQr5O+OSUf/oMLoQ==", "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16", @@ -6645,16 +3941,12 @@ }, "node_modules/file-uri-to-path": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", "dev": true, "license": "MIT", "peer": true }, "node_modules/filelist": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" @@ -6662,8 +3954,6 @@ }, "node_modules/filelist/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -6674,8 +3964,6 @@ }, "node_modules/fill-range": { "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "license": "MIT", "dependencies": { @@ -6687,8 +3975,6 @@ }, "node_modules/find-up": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, "license": "MIT", "dependencies": { @@ -6704,8 +3990,6 @@ }, "node_modules/flat": { "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, "license": "BSD-3-Clause", "bin": { @@ -6714,8 +3998,6 @@ }, "node_modules/follow-redirects": { "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", @@ -6734,8 +4016,6 @@ }, "node_modules/foreground-child": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, "license": "ISC", "dependencies": { @@ -6751,8 +4031,6 @@ }, "node_modules/form-data": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "license": "MIT", "dependencies": { "asynckit": "^0.4.0", @@ -6765,8 +4043,6 @@ }, "node_modules/fraction.js": { "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "dev": true, "license": "MIT", "engines": { @@ -6779,8 +4055,6 @@ }, "node_modules/fs-extra": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, "license": "MIT", "peer": true, @@ -6795,8 +4069,6 @@ }, "node_modules/fs-minipass": { "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "dev": true, "license": "ISC", "peer": true, @@ -6806,8 +4078,6 @@ }, "node_modules/fs-minipass/node_modules/minipass": { "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, "license": "ISC", "peer": true, @@ -6818,30 +4088,11 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true, "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, "license": "MIT", "funding": { @@ -6850,9 +4101,6 @@ }, "node_modules/gauge": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "deprecated": "This package is no longer supported.", "dev": true, "license": "ISC", "peer": true, @@ -6873,8 +4121,6 @@ }, "node_modules/gauge/node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "peer": true, @@ -6884,16 +4130,12 @@ }, "node_modules/gauge/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT", "peer": true }, "node_modules/gauge/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "peer": true, @@ -6903,16 +4145,12 @@ }, "node_modules/gauge/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, "license": "ISC", "peer": true }, "node_modules/gauge/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "peer": true, @@ -6927,8 +4165,6 @@ }, "node_modules/gauge/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "peer": true, @@ -6941,8 +4177,6 @@ }, "node_modules/generic-pool": { "version": "3.4.2", - "resolved": "https://registry.npmjs.org/generic-pool/-/generic-pool-3.4.2.tgz", - "integrity": "sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==", "dev": true, "license": "MIT", "peer": true, @@ -6952,8 +4186,6 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "license": "ISC", "engines": { @@ -6962,8 +4194,6 @@ }, "node_modules/get-east-asian-width": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", "dev": true, "license": "MIT", "engines": { @@ -6975,8 +4205,6 @@ }, "node_modules/get-func-name": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "license": "MIT", "engines": { @@ -6985,8 +4213,6 @@ }, "node_modules/get-source": { "version": "2.0.12", - "resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz", - "integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==", "dev": true, "license": "Unlicense", "dependencies": { @@ -6996,8 +4222,6 @@ }, "node_modules/get-stream": { "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, "license": "MIT", "engines": { @@ -7009,8 +4233,6 @@ }, "node_modules/glob": { "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "license": "ISC", "dependencies": { @@ -7030,8 +4252,6 @@ }, "node_modules/glob-parent": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "license": "ISC", "dependencies": { @@ -7043,15 +4263,11 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true, "license": "BSD-2-Clause" }, "node_modules/globby": { "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "license": "MIT", "dependencies": { @@ -7071,8 +4287,6 @@ }, "node_modules/got": { "version": "11.8.6", - "resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz", - "integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==", "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.0.0", @@ -7096,14 +4310,10 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "license": "ISC" }, "node_modules/graphql": { "version": "16.9.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz", - "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==", "license": "MIT", "peer": true, "engines": { @@ -7112,8 +4322,6 @@ }, "node_modules/graphql-request": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-7.1.0.tgz", - "integrity": "sha512-Ouu/lYVFhARS1aXeZoVJWnGT6grFJXTLwXJuK4mUGGRo0EUk1JkyYp43mdGmRgUVezpRm6V5Sq3t8jBDQcajng==", "license": "MIT", "peer": true, "dependencies": { @@ -7144,8 +4352,6 @@ }, "node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", "engines": { "node": ">=8" @@ -7153,16 +4359,12 @@ }, "node_modules/has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "dev": true, "license": "ISC", "peer": true }, "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7174,8 +4376,6 @@ }, "node_modules/he": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true, "license": "MIT", "bin": { @@ -7184,8 +4384,6 @@ }, "node_modules/hoopy": { "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", "license": "MIT", "engines": { "node": ">= 6.0.0" @@ -7193,14 +4391,10 @@ }, "node_modules/http-cache-semantics": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "license": "BSD-2-Clause" }, "node_modules/http-errors": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.4.0.tgz", - "integrity": "sha512-oLjPqve1tuOl5aRhv8GK5eHpqP1C9fb+Ol+XTLjKfLltE44zdDbEdjPSbU7Ch5rSNsVFqZn97SrMmZLdu1/YMw==", "dev": true, "license": "MIT", "peer": true, @@ -7214,16 +4408,12 @@ }, "node_modules/http-errors/node_modules/inherits": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", "dev": true, "license": "ISC", "peer": true }, "node_modules/http2-wrapper": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz", - "integrity": "sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==", "license": "MIT", "dependencies": { "quick-lru": "^5.1.1", @@ -7235,8 +4425,6 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, "license": "MIT", "peer": true, @@ -7250,8 +4438,6 @@ }, "node_modules/human-signals": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -7260,8 +4446,6 @@ }, "node_modules/husky": { "version": "9.1.5", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.5.tgz", - "integrity": "sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag==", "dev": true, "license": "MIT", "bin": { @@ -7276,8 +4460,6 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, "license": "MIT", "peer": true, @@ -7290,8 +4472,6 @@ }, "node_modules/ieee754": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -7310,8 +4490,6 @@ }, "node_modules/ignore": { "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -7320,9 +4498,6 @@ }, "node_modules/inflight": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "license": "ISC", "dependencies": { @@ -7332,14 +4507,10 @@ }, "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, "node_modules/is-binary-path": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "license": "MIT", "dependencies": { @@ -7351,8 +4522,6 @@ }, "node_modules/is-core-module": { "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7367,8 +4536,6 @@ }, "node_modules/is-extglob": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "license": "MIT", "engines": { @@ -7377,8 +4544,6 @@ }, "node_modules/is-fullwidth-code-point": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, "license": "MIT", "engines": { @@ -7390,8 +4555,6 @@ }, "node_modules/is-glob": { "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, "license": "MIT", "dependencies": { @@ -7403,8 +4566,6 @@ }, "node_modules/is-number": { "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, "license": "MIT", "engines": { @@ -7413,8 +4574,6 @@ }, "node_modules/is-plain-obj": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, "license": "MIT", "engines": { @@ -7423,8 +4582,6 @@ }, "node_modules/is-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, "license": "MIT", "engines": { @@ -7436,8 +4593,6 @@ }, "node_modules/is-unicode-supported": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, "license": "MIT", "engines": { @@ -7449,21 +4604,15 @@ }, "node_modules/isarray": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, "license": "ISC" }, "node_modules/jackspeak": { "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -7478,8 +4627,6 @@ }, "node_modules/jake": { "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", - "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", "license": "Apache-2.0", "dependencies": { "async": "^3.2.3", @@ -7496,8 +4643,6 @@ }, "node_modules/jake/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -7511,8 +4656,6 @@ }, "node_modules/jake/node_modules/brace-expansion": { "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", @@ -7521,8 +4664,6 @@ }, "node_modules/jake/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -7537,8 +4678,6 @@ }, "node_modules/jake/node_modules/minimatch": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -7549,8 +4688,6 @@ }, "node_modules/jake/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -7561,8 +4698,6 @@ }, "node_modules/jiti": { "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, "license": "MIT", "bin": { @@ -7571,8 +4706,6 @@ }, "node_modules/joycon": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", - "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", "dev": true, "license": "MIT", "engines": { @@ -7581,26 +4714,18 @@ }, "node_modules/js-base64": { "version": "3.7.7", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.7.7.tgz", - "integrity": "sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==", "license": "BSD-3-Clause" }, "node_modules/js-sha3": { "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz", - "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==", "license": "MIT" }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "license": "MIT", "dependencies": { @@ -7612,14 +4737,10 @@ }, "node_modules/json-buffer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "license": "MIT" }, "node_modules/json-rpc-engine": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz", - "integrity": "sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==", "license": "ISC", "dependencies": { "@metamask/safe-event-emitter": "^2.0.0", @@ -7631,8 +4752,6 @@ }, "node_modules/json-rpc-middleware-stream": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-rpc-middleware-stream/-/json-rpc-middleware-stream-3.0.0.tgz", - "integrity": "sha512-JmZmlehE0xF3swwORpLHny/GvW3MZxCsb2uFNBrn8TOqMqivzCfz232NSDLLOtIQlrPlgyEjiYpyzyOPFOzClw==", "license": "ISC", "dependencies": { "@metamask/safe-event-emitter": "^2.0.0", @@ -7641,8 +4760,6 @@ }, "node_modules/json-rpc-protocol": { "version": "0.13.2", - "resolved": "https://registry.npmjs.org/json-rpc-protocol/-/json-rpc-protocol-0.13.2.tgz", - "integrity": "sha512-2InSi+c7wGESmvYcEVS0clctpJCodV7gLqLN1BIIPNK07wokXIwhOL8RQWU4O7oX5adChn6HJGtIU6JaUQ1P/A==", "license": "ISC", "dependencies": { "make-error": "^1.3.0" @@ -7653,8 +4770,6 @@ }, "node_modules/json-schema-to-ts": { "version": "1.6.4", - "resolved": "https://registry.npmjs.org/json-schema-to-ts/-/json-schema-to-ts-1.6.4.tgz", - "integrity": "sha512-pR4yQ9DHz6itqswtHCm26mw45FSNfQ9rEQjosaZErhn5J3J2sIViQiz8rDaezjKAhFGpmsoczYVBgGHzFw/stA==", "dev": true, "license": "MIT", "peer": true, @@ -7665,16 +4780,12 @@ }, "node_modules/json-schema-to-ts/node_modules/ts-toolbelt": { "version": "6.15.5", - "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz", - "integrity": "sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==", "dev": true, "license": "Apache-2.0", "peer": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT", "optional": true, @@ -7682,8 +4793,6 @@ }, "node_modules/json2mq": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", - "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==", "license": "MIT", "dependencies": { "string-convert": "^0.2.0" @@ -7691,8 +4800,6 @@ }, "node_modules/jsonfile": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, "license": "MIT", "peer": true, @@ -7702,8 +4809,6 @@ }, "node_modules/jsonpath": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", - "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", "license": "MIT", "dependencies": { "esprima": "1.2.2", @@ -7713,8 +4818,6 @@ }, "node_modules/jwt-decode": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", - "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", "license": "MIT", "engines": { "node": ">=18" @@ -7722,8 +4825,6 @@ }, "node_modules/keyv": { "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "license": "MIT", "dependencies": { "json-buffer": "3.0.1" @@ -7731,14 +4832,10 @@ }, "node_modules/keyvaluestorage-interface": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", - "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==", "license": "MIT" }, "node_modules/levn": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2", @@ -7750,8 +4847,6 @@ }, "node_modules/lilconfig": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, "license": "MIT", "engines": { @@ -7763,15 +4858,11 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true, "license": "MIT" }, "node_modules/lint-staged": { "version": "15.2.10", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.10.tgz", - "integrity": "sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==", "dev": true, "license": "MIT", "dependencies": { @@ -7798,8 +4889,6 @@ }, "node_modules/listr2": { "version": "8.2.4", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", - "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", "dev": true, "license": "MIT", "dependencies": { @@ -7816,8 +4905,6 @@ }, "node_modules/load-tsconfig": { "version": "0.2.5", - "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz", - "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", "dev": true, "license": "MIT", "engines": { @@ -7826,8 +4913,6 @@ }, "node_modules/locate-path": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", "dependencies": { @@ -7842,36 +4927,26 @@ }, "node_modules/lodash.camelcase": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", "license": "MIT", "peer": true }, "node_modules/lodash.ismatch": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", "license": "MIT", "peer": true }, "node_modules/lodash.snakecase": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", - "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", "license": "MIT", "peer": true }, "node_modules/lodash.sortby": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", "dev": true, "license": "MIT" }, "node_modules/log-symbols": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "license": "MIT", "dependencies": { @@ -7887,8 +4962,6 @@ }, "node_modules/log-symbols/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -7903,8 +4976,6 @@ }, "node_modules/log-symbols/node_modules/chalk": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "license": "MIT", "dependencies": { @@ -7920,8 +4991,6 @@ }, "node_modules/log-symbols/node_modules/supports-color": { "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "license": "MIT", "dependencies": { @@ -7933,8 +5002,6 @@ }, "node_modules/log-update": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, "license": "MIT", "dependencies": { @@ -7953,8 +5020,6 @@ }, "node_modules/log-update/node_modules/is-fullwidth-code-point": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "dev": true, "license": "MIT", "dependencies": { @@ -7969,8 +5034,6 @@ }, "node_modules/log-update/node_modules/slice-ansi": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, "license": "MIT", "dependencies": { @@ -7986,14 +5049,10 @@ }, "node_modules/logplease": { "version": "1.2.15", - "resolved": "https://registry.npmjs.org/logplease/-/logplease-1.2.15.tgz", - "integrity": "sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA==", "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -8004,8 +5063,6 @@ }, "node_modules/loupe": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", - "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, "license": "MIT", "dependencies": { @@ -8014,8 +5071,6 @@ }, "node_modules/lowercase-keys": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", "license": "MIT", "engines": { "node": ">=8" @@ -8023,15 +5078,11 @@ }, "node_modules/lru-cache": { "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, "license": "ISC" }, "node_modules/magic-string": { "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8040,8 +5091,6 @@ }, "node_modules/make-dir": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "license": "MIT", "peer": true, @@ -8057,8 +5106,6 @@ }, "node_modules/make-dir/node_modules/semver": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "license": "ISC", "peer": true, @@ -8068,21 +5115,15 @@ }, "node_modules/make-error": { "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "license": "ISC" }, "node_modules/merge-stream": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true, "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, "license": "MIT", "engines": { @@ -8091,8 +5132,6 @@ }, "node_modules/micro": { "version": "9.3.5-canary.3", - "resolved": "https://registry.npmjs.org/micro/-/micro-9.3.5-canary.3.tgz", - "integrity": "sha512-viYIo9PefV+w9dvoIBh1gI44Mvx1BOk67B4BpC2QK77qdY0xZF0Q+vWLt/BII6cLkIc8rLmSIcJaB/OrXXKe1g==", "dev": true, "license": "MIT", "peer": true, @@ -8110,16 +5149,12 @@ }, "node_modules/micro/node_modules/arg": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", "dev": true, "license": "MIT", "peer": true }, "node_modules/micromatch": { "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "license": "MIT", "dependencies": { @@ -8132,8 +5167,6 @@ }, "node_modules/mime": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true, "license": "MIT", "bin": { @@ -8145,8 +5178,6 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -8154,8 +5185,6 @@ }, "node_modules/mime-types": { "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "license": "MIT", "dependencies": { "mime-db": "1.52.0" @@ -8166,8 +5195,6 @@ }, "node_modules/mimic-fn": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, "license": "MIT", "engines": { @@ -8179,8 +5206,6 @@ }, "node_modules/mimic-function": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, "license": "MIT", "engines": { @@ -8192,8 +5217,6 @@ }, "node_modules/mimic-response": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "license": "MIT", "engines": { "node": ">=4" @@ -8201,8 +5224,6 @@ }, "node_modules/miniflare": { "version": "3.20240821.1", - "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20240821.1.tgz", - "integrity": "sha512-81qdiryDG7VXzZuoa0EwhkaIYYrn7+StRIrd/2i7SPqPUNICUBjbhFFKqTnvE1+fqIPPB6l8ShKFaFvmnZOASg==", "dev": true, "license": "MIT", "dependencies": { @@ -8228,8 +5249,6 @@ }, "node_modules/minimatch": { "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "license": "ISC", "dependencies": { @@ -8244,8 +5263,6 @@ }, "node_modules/minimist": { "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, "license": "MIT", "peer": true, @@ -8255,8 +5272,6 @@ }, "node_modules/minipass": { "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "license": "ISC", "engines": { @@ -8265,8 +5280,6 @@ }, "node_modules/minizlib": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "dev": true, "license": "MIT", "peer": true, @@ -8276,8 +5289,6 @@ }, "node_modules/minizlib/node_modules/minipass": { "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "dev": true, "license": "ISC", "peer": true, @@ -8288,8 +5299,6 @@ }, "node_modules/mkdirp": { "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "license": "MIT", "peer": true, @@ -8302,8 +5311,6 @@ }, "node_modules/mocha": { "version": "10.7.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz", - "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==", "dev": true, "license": "MIT", "dependencies": { @@ -8338,9 +5345,6 @@ }, "node_modules/mocha/node_modules/glob": { "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", "dependencies": { @@ -8359,8 +5363,6 @@ }, "node_modules/mocha/node_modules/minimatch": { "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "license": "ISC", "dependencies": { @@ -8372,8 +5374,6 @@ }, "node_modules/mri": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true, "license": "MIT", "peer": true, @@ -8383,15 +5383,11 @@ }, "node_modules/ms": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "license": "MIT" }, "node_modules/mustache": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", - "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", "dev": true, "license": "MIT", "bin": { @@ -8400,8 +5396,6 @@ }, "node_modules/mz": { "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, "license": "MIT", "dependencies": { @@ -8412,14 +5406,10 @@ }, "node_modules/nanoassert": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", - "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==", "license": "ISC" }, "node_modules/nanoid": { "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", @@ -8436,8 +5426,6 @@ }, "node_modules/next": { "version": "14.2.8", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.8.tgz", - "integrity": "sha512-EyEyJZ89r8C5FPlS/401AiF3O8jeMtHIE+bLom9MwcdWJJFBgRl+MR/2VgO0v5bI6tQORNY0a0DR5sjpFNrjbg==", "license": "MIT", "dependencies": { "@next/env": "14.2.8", @@ -8486,8 +5474,6 @@ }, "node_modules/next/node_modules/postcss": { "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "funding": [ { "type": "opencollective", @@ -8514,8 +5500,6 @@ }, "node_modules/node-fetch": { "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, "license": "MIT", "peer": true, @@ -8536,8 +5520,6 @@ }, "node_modules/node-forge": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { @@ -8546,8 +5528,6 @@ }, "node_modules/node-gyp-build": { "version": "4.8.2", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.2.tgz", - "integrity": "sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==", "dev": true, "license": "MIT", "peer": true, @@ -8559,15 +5539,11 @@ }, "node_modules/node-releases": { "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true, "license": "MIT" }, "node_modules/nopt": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "dev": true, "license": "ISC", "peer": true, @@ -8583,8 +5559,6 @@ }, "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, "license": "MIT", "engines": { @@ -8593,8 +5567,6 @@ }, "node_modules/normalize-range": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true, "license": "MIT", "engines": { @@ -8603,8 +5575,6 @@ }, "node_modules/normalize-url": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "license": "MIT", "engines": { "node": ">=10" @@ -8615,8 +5585,6 @@ }, "node_modules/npm-run-path": { "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8631,8 +5599,6 @@ }, "node_modules/npm-run-path/node_modules/path-key": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, "license": "MIT", "engines": { @@ -8644,9 +5610,6 @@ }, "node_modules/npmlog": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "deprecated": "This package is no longer supported.", "dev": true, "license": "ISC", "peer": true, @@ -8659,8 +5622,6 @@ }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, "license": "MIT", "engines": { @@ -8669,8 +5630,6 @@ }, "node_modules/object-hash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, "license": "MIT", "engines": { @@ -8679,15 +5638,11 @@ }, "node_modules/ohash": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", - "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==", "dev": true, "license": "MIT" }, "node_modules/once": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "license": "ISC", "dependencies": { "wrappy": "1" @@ -8695,8 +5650,6 @@ }, "node_modules/onetime": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8711,8 +5664,6 @@ }, "node_modules/optionator": { "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", "license": "MIT", "dependencies": { "deep-is": "~0.1.3", @@ -8728,8 +5679,6 @@ }, "node_modules/os-paths": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/os-paths/-/os-paths-4.4.0.tgz", - "integrity": "sha512-wrAwOeXp1RRMFfQY8Sy7VaGVmPocaLwSFOYCGKSyo8qmJ+/yaafCl5BCA1IQZWqFSRBrKDYFeR9d/VyQzfH/jg==", "dev": true, "license": "MIT", "peer": true, @@ -8739,8 +5688,6 @@ }, "node_modules/p-cancelable": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz", - "integrity": "sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==", "license": "MIT", "engines": { "node": ">=8" @@ -8748,8 +5695,6 @@ }, "node_modules/p-finally": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", - "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", "dev": true, "license": "MIT", "peer": true, @@ -8759,8 +5704,6 @@ }, "node_modules/p-limit": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { @@ -8775,8 +5718,6 @@ }, "node_modules/p-locate": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, "license": "MIT", "dependencies": { @@ -8791,15 +5732,11 @@ }, "node_modules/package-json-from-dist": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", "dev": true, "license": "BlueOak-1.0.0" }, "node_modules/package-manager-manager": { "version": "0.2.0", - "resolved": "https://registry.npmjs.org/package-manager-manager/-/package-manager-manager-0.2.0.tgz", - "integrity": "sha512-V02gl0bafXJ2gcY6j+5IHM7UdnYwmF+2OsFZuqVcha6iMSStD4dpIOBOsypnUIwOi4jLcPz6RQuyifmAE3mG8g==", "dev": true, "license": "MIT", "dependencies": { @@ -8809,8 +5746,6 @@ }, "node_modules/parse-ms": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", - "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", "dev": true, "license": "MIT", "peer": true, @@ -8820,16 +5755,12 @@ }, "node_modules/path-browserify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true, "license": "MIT", "peer": true }, "node_modules/path-exists": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { @@ -8838,8 +5769,6 @@ }, "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "license": "MIT", "peer": true, @@ -8849,8 +5778,6 @@ }, "node_modules/path-key": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, "license": "MIT", "engines": { @@ -8859,8 +5786,6 @@ }, "node_modules/path-match": { "version": "1.2.4", - "resolved": "https://registry.npmjs.org/path-match/-/path-match-1.2.4.tgz", - "integrity": "sha512-UWlehEdqu36jmh4h5CWJ7tARp1OEVKGHKm6+dg9qMq5RKUTV5WJrGgaZ3dN2m7WFAXDbjlHzvJvL/IUpy84Ktw==", "dev": true, "license": "MIT", "peer": true, @@ -8871,16 +5796,12 @@ }, "node_modules/path-match/node_modules/isarray": { "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", "dev": true, "license": "MIT", "peer": true }, "node_modules/path-match/node_modules/path-to-regexp": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", - "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", "dev": true, "license": "MIT", "peer": true, @@ -8890,15 +5811,11 @@ }, "node_modules/path-parse": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true, "license": "MIT" }, "node_modules/path-scurry": { "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -8914,15 +5831,11 @@ }, "node_modules/path-to-regexp": { "version": "6.2.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", - "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==", "dev": true, "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "license": "MIT", "engines": { @@ -8931,15 +5844,11 @@ }, "node_modules/pathe": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true, "license": "MIT" }, "node_modules/pathval": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", - "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, "license": "MIT", "engines": { @@ -8948,29 +5857,21 @@ }, "node_modules/pcre-to-regexp": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pcre-to-regexp/-/pcre-to-regexp-1.1.0.tgz", - "integrity": "sha512-KF9XxmUQJ2DIlMj3TqNqY1AWvyvTuIuq11CuuekxyaYMiFuMKGgQrePYMX5bXKLhLG3sDI4CsGAYHPaT7VV7+g==", "dev": true, "license": "MIT" }, "node_modules/pend": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", "dev": true, "license": "MIT", "peer": true }, "node_modules/picocolors": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "license": "MIT", "engines": { @@ -8982,8 +5883,6 @@ }, "node_modules/pidtree": { "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", "dev": true, "license": "MIT", "bin": { @@ -8995,8 +5894,6 @@ }, "node_modules/piesocket-js": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/piesocket-js/-/piesocket-js-5.1.0.tgz", - "integrity": "sha512-zA+kmty8PO/iXSWl4VWj0aNLNCsdbwK6duKb18uq5MZzQC4GMM4UVZcemQdOWey5rhbkizM1d59+uHnyzBkDXw==", "license": "MIT", "dependencies": { "uuid": "^8.3.2" @@ -9004,8 +5901,6 @@ }, "node_modules/piesocket-js/node_modules/uuid": { "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "license": "MIT", "bin": { "uuid": "dist/bin/uuid" @@ -9013,8 +5908,6 @@ }, "node_modules/pify": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, "license": "MIT", "engines": { @@ -9023,8 +5916,6 @@ }, "node_modules/pirates": { "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "license": "MIT", "engines": { @@ -9033,14 +5924,10 @@ }, "node_modules/poseidon-lite": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/poseidon-lite/-/poseidon-lite-0.2.1.tgz", - "integrity": "sha512-xIr+G6HeYfOhCuswdqcFpSX47SPhm0EpisWJ6h7fHlWwaVIvH3dLnejpatrtw6Xc6HaLrpq05y7VRfvDmDGIog==", "license": "MIT" }, "node_modules/postcss": { "version": "8.4.45", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", - "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", "dev": true, "funding": [ { @@ -9068,8 +5955,6 @@ }, "node_modules/postcss-import": { "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "license": "MIT", "dependencies": { @@ -9086,8 +5971,6 @@ }, "node_modules/postcss-js": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dev": true, "license": "MIT", "dependencies": { @@ -9106,8 +5989,6 @@ }, "node_modules/postcss-load-config": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "dev": true, "funding": [ { @@ -9142,8 +6023,6 @@ }, "node_modules/postcss-nested": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", "dev": true, "funding": [ { @@ -9168,8 +6047,6 @@ }, "node_modules/postcss-selector-parser": { "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, "license": "MIT", "dependencies": { @@ -9182,29 +6059,21 @@ }, "node_modules/postcss-value-parser": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true, "license": "MIT" }, "node_modules/postmate": { "version": "1.5.2", - "resolved": "https://registry.npmjs.org/postmate/-/postmate-1.5.2.tgz", - "integrity": "sha512-EHLlEmrUA/hALls49oBrtE7BzDXXjB9EiO4MZpsoO3R/jRuBmD+2WKQuYAbeuVEpTzrPpUTT79z2cz4qaFgPRg==", "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", "engines": { "node": ">= 0.8.0" } }, "node_modules/pretty-ms": { "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", - "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", "dev": true, "license": "MIT", "peer": true, @@ -9220,35 +6089,25 @@ }, "node_modules/printable-characters": { "version": "1.0.42", - "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", - "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==", "dev": true, "license": "Unlicense" }, "node_modules/process-nextick-args": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "license": "MIT" }, "node_modules/promisepipe": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/promisepipe/-/promisepipe-3.0.0.tgz", - "integrity": "sha512-V6TbZDJ/ZswevgkDNpGt/YqNCiZP9ASfgU+p83uJE6NrGtvSGoOcHLiDCqkMs2+yg7F5qHdLV8d0aS8O26G/KA==", "dev": true, "license": "MIT", "peer": true }, "node_modules/proxy-from-env": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, "node_modules/pump": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "license": "MIT", "dependencies": { "end-of-stream": "^1.1.0", @@ -9257,351 +6116,99 @@ }, "node_modules/punycode": { "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/r1csfile": { - "version": "0.0.48", - "resolved": "https://registry.npmjs.org/r1csfile/-/r1csfile-0.0.48.tgz", - "integrity": "sha512-kHRkKUJNaor31l05f2+RFzvcH5XSa7OfEfd/l4hzjte6NL6fjRkSMfZ4BjySW9wmfdwPOtq3mXurzPvPGEf5Tw==", - "license": "GPL-3.0", - "dependencies": { - "@iden3/bigarray": "0.0.2", - "@iden3/binfileutils": "0.0.12", - "fastfile": "0.0.20", - "ffjavascript": "0.3.0" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/raw-body": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.1.tgz", - "integrity": "sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.3", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/rc-cascader": { - "version": "3.28.1", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.28.1.tgz", - "integrity": "sha512-9+8oHIMWVLHxuaapDiqFNmD9KSyKN/P4bo9x/MBuDbyTqP8f2/POmmZxdXWBO3yq/uE3pKyQCXYNUxrNfHRv2A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "array-tree-filter": "^2.1.0", - "classnames": "^2.3.1", - "rc-select": "~14.15.0", - "rc-tree": "~5.9.0", - "rc-util": "^5.37.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-checkbox": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.3.0.tgz", - "integrity": "sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.3.2", - "rc-util": "^5.25.2" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-collapse": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.3.tgz", - "integrity": "sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-motion": "^2.3.4", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-dialog": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.5.2.tgz", - "integrity": "sha512-qVUjc8JukG+j/pNaHVSRa2GO2/KbV2thm7yO4hepQ902eGdYK913sGkwg/fh9yhKYV1ql3BKIN2xnud3rEXAPw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/portal": "^1.0.0-8", - "classnames": "^2.2.6", - "rc-motion": "^2.3.0", - "rc-util": "^5.21.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-drawer": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.2.0.tgz", - "integrity": "sha512-9lOQ7kBekEJRdEpScHvtmEtXnAsy+NGDXiRWc2ZVC7QXAazNVbeT4EraQKYwCME8BJLa8Bxqxvs5swwyOepRwg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@rc-component/portal": "^1.1.1", - "classnames": "^2.2.6", - "rc-motion": "^2.6.1", - "rc-util": "^5.38.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-dropdown": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.0.tgz", - "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.2.6", - "rc-util": "^5.17.0" - }, - "peerDependencies": { - "react": ">=16.11.0", - "react-dom": ">=16.11.0" - } - }, - "node_modules/rc-field-form": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-2.4.0.tgz", - "integrity": "sha512-XZ/lF9iqf9HXApIHQHqzJK5v2w4mkUMsVqAzOyWVzoiwwXEavY6Tpuw7HavgzIoD+huVff4JghSGcgEfX6eycg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.0", - "@rc-component/async-validator": "^5.0.3", - "rc-util": "^5.32.2" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-image": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.9.0.tgz", - "integrity": "sha512-l4zqO5E0quuLMCtdKfBgj4Suv8tIS011F5k1zBBlK25iMjjiNHxA0VeTzGFtUZERSA45gvpXDg8/P6qNLjR25g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.2", - "@rc-component/portal": "^1.0.2", - "classnames": "^2.2.6", - "rc-dialog": "~9.5.2", - "rc-motion": "^2.6.2", - "rc-util": "^5.34.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-input": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.6.3.tgz", - "integrity": "sha512-wI4NzuqBS8vvKr8cljsvnTUqItMfG1QbJoxovCgL+DX4eVUcHIjVwharwevIxyy7H/jbLryh+K7ysnJr23aWIA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-util": "^5.18.1" - }, - "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } + "node_modules/queue-microtask": { + "version": "1.2.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "node_modules/rc-input-number": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.2.0.tgz", - "integrity": "sha512-5XZFhBCV5f9UQ62AZ2hFbEY8iZT/dm23Q1kAg0H8EvOgD3UDbYYJAayoVIkM3lQaCqYAW5gV0yV3vjw1XtzWHg==", + "node_modules/quick-lru": { + "version": "5.1.1", "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/mini-decimal": "^1.0.1", - "classnames": "^2.2.5", - "rc-input": "~1.6.0", - "rc-util": "^5.40.1" + "engines": { + "node": ">=10" }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rc-mentions": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.15.0.tgz", - "integrity": "sha512-f5v5i7VdqvBDXbphoqcQWmXDif2Msd2arritVoWybrVDuHE6nQ7XCYsybHbV//WylooK52BFDouFvyaRDtXZEw==", - "license": "MIT", + "node_modules/r1csfile": { + "version": "0.0.48", + "license": "GPL-3.0", "dependencies": { - "@babel/runtime": "^7.22.5", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.2.6", - "rc-input": "~1.6.0", - "rc-menu": "~9.14.0", - "rc-textarea": "~1.8.0", - "rc-util": "^5.34.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "@iden3/bigarray": "0.0.2", + "@iden3/binfileutils": "0.0.12", + "fastfile": "0.0.20", + "ffjavascript": "0.3.0" } }, - "node_modules/rc-menu": { - "version": "9.14.1", - "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.14.1.tgz", - "integrity": "sha512-5wlRb3M8S4yGlWhSoEYJ7ZVRElyScdcpUHxgiLxkeig1tEdyKrnED3B2fhpN0Rrpdp9jyhnmZR/Lwq2fH5VvDQ==", + "node_modules/randombytes": { + "version": "2.1.0", + "dev": true, "license": "MIT", "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^2.0.0", - "classnames": "2.x", - "rc-motion": "^2.4.3", - "rc-overflow": "^1.3.1", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "safe-buffer": "^5.1.0" } }, - "node_modules/rc-motion": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.2.tgz", - "integrity": "sha512-fUAhHKLDdkAXIDLH0GYwof3raS58dtNUmzLF2MeiR8o6n4thNpSDQhOqQzWE4WfFZDCi9VEN8n7tiB7czREcyw==", + "node_modules/raw-body": { + "version": "2.4.1", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-util": "^5.43.0" + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "engines": { + "node": ">= 0.8" } }, - "node_modules/rc-notification": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.6.0.tgz", - "integrity": "sha512-TGQW5T7waOxLwgJG7fXcw8l7AQiFOjaZ7ISF5PrU526nunHRNcTMuzKihQHaF4E/h/KfOCDk3Mv8eqzbu2e28w==", + "node_modules/raw-body/node_modules/http-errors": { + "version": "1.7.3", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-motion": "^2.9.0", - "rc-util": "^5.20.1" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" }, "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "node": ">= 0.6" } }, - "node_modules/rc-overflow": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/rc-overflow/-/rc-overflow-1.3.2.tgz", - "integrity": "sha512-nsUm78jkYAoPygDAcGZeC2VwIg/IBGSodtOY3pMof4W3M9qRJgqaDYm03ZayHlde3I6ipliAxbN0RUcGf5KOzw==", + "node_modules/rc-cascader": { + "version": "3.28.1", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-resize-observer": "^1.0.0", + "@babel/runtime": "^7.12.5", + "array-tree-filter": "^2.1.0", + "classnames": "^2.3.1", + "rc-select": "~14.15.0", + "rc-tree": "~5.9.0", "rc-util": "^5.37.0" }, "peerDependencies": { @@ -9609,156 +6216,84 @@ "react-dom": ">=16.9.0" } }, - "node_modules/rc-pagination": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.2.0.tgz", - "integrity": "sha512-V6qeANJsT6tmOcZ4XiUmj8JXjRLbkusuufpuoBw2GiAn94fIixYjFLmbruD1Sbhn8fPLDnWawPp4CN37zQorvw==", + "node_modules/rc-checkbox": { + "version": "3.3.0", "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.3.2", - "rc-util": "^5.38.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" - } - }, - "node_modules/rc-picker": { - "version": "4.6.14", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.6.14.tgz", - "integrity": "sha512-7DuTfUFdkxmsNpWQ0TWv6FPGna5e6KKC4nxtx3x9xhumLz7jb3fhlDdWQvqEL6tpt9DOb1+N5j+wB+lDOSS9kg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.24.7", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.2.1", - "rc-overflow": "^1.3.2", - "rc-resize-observer": "^1.4.0", - "rc-util": "^5.43.0" - }, - "engines": { - "node": ">=8.x" + "rc-util": "^5.25.2" }, "peerDependencies": { - "date-fns": ">= 2.x", - "dayjs": ">= 1.x", - "luxon": ">= 3.x", - "moment": ">= 2.x", "react": ">=16.9.0", "react-dom": ">=16.9.0" - }, - "peerDependenciesMeta": { - "date-fns": { - "optional": true - }, - "dayjs": { - "optional": true - }, - "luxon": { - "optional": true - }, - "moment": { - "optional": true - } } }, - "node_modules/rc-progress": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-4.0.0.tgz", - "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", + "node_modules/rc-collapse": { + "version": "3.7.3", "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", - "classnames": "^2.2.6", - "rc-util": "^5.16.1" + "classnames": "2.x", + "rc-motion": "^2.3.4", + "rc-util": "^5.27.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, - "node_modules/rc-rate": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.13.0.tgz", - "integrity": "sha512-oxvx1Q5k5wD30sjN5tqAyWTvJfLNNJn7Oq3IeS4HxWfAiC4BOXMITNAsw7u/fzdtO4MS8Ki8uRLOzcnEuoQiAw==", + "node_modules/rc-dialog": { + "version": "9.5.2", "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", - "classnames": "^2.2.5", - "rc-util": "^5.0.1" - }, - "engines": { - "node": ">=8.x" + "@rc-component/portal": "^1.0.0-8", + "classnames": "^2.2.6", + "rc-motion": "^2.3.0", + "rc-util": "^5.21.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, - "node_modules/rc-resize-observer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-1.4.0.tgz", - "integrity": "sha512-PnMVyRid9JLxFavTjeDXEXo65HCRqbmLBw9xX9gfC4BZiSzbLXKzW3jPz+J0P71pLbD5tBMTT+mkstV5gD0c9Q==", + "node_modules/rc-drawer": { + "version": "7.2.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.7", - "classnames": "^2.2.1", - "rc-util": "^5.38.0", - "resize-observer-polyfill": "^1.5.1" + "@babel/runtime": "^7.23.9", + "@rc-component/portal": "^1.1.1", + "classnames": "^2.2.6", + "rc-motion": "^2.6.1", + "rc-util": "^5.38.1" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, - "node_modules/rc-segmented": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", - "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", + "node_modules/rc-dropdown": { + "version": "4.2.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.11.1", - "classnames": "^2.2.1", - "rc-motion": "^2.4.4", + "@babel/runtime": "^7.18.3", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", "rc-util": "^5.17.0" }, "peerDependencies": { - "react": ">=16.0.0", - "react-dom": ">=16.0.0" - } - }, - "node_modules/rc-select": { - "version": "14.15.2", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.15.2.tgz", - "integrity": "sha512-oNoXlaFmpqXYcQDzcPVLrEqS2J9c+/+oJuGrlXeVVX/gVgrbHa5YcyiRUXRydFjyuA7GP3elRuLF7Y3Tfwltlw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^2.1.1", - "classnames": "2.x", - "rc-motion": "^2.0.1", - "rc-overflow": "^1.3.1", - "rc-util": "^5.16.1", - "rc-virtual-list": "^3.5.2" - }, - "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": "*", - "react-dom": "*" + "react": ">=16.11.0", + "react-dom": ">=16.11.0" } }, - "node_modules/rc-slider": { - "version": "11.1.5", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-11.1.5.tgz", - "integrity": "sha512-b77H5PbjMKsvkYXAYIkn50QuFX6ICQmCTibDinI9q+BHx65/TV4TeU25+oadhSRzykxs0/vBWeKBwRyySOeWlg==", + "node_modules/rc-field-form": { + "version": "2.4.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "^2.2.5", - "rc-util": "^5.36.0" + "@babel/runtime": "^7.18.0", + "@rc-component/async-validator": "^5.0.3", + "rc-util": "^5.32.2" }, "engines": { "node": ">=8.x" @@ -9768,92 +6303,76 @@ "react-dom": ">=16.9.0" } }, - "node_modules/rc-steps": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-6.0.1.tgz", - "integrity": "sha512-lKHL+Sny0SeHkQKKDJlAjV5oZ8DwCdS2hFhAkIjuQt1/pB81M0cA0ErVFdHq9+jmPmFw1vJB2F5NBzFXLJxV+g==", + "node_modules/rc-image": { + "version": "7.9.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.16.7", - "classnames": "^2.2.3", - "rc-util": "^5.16.1" - }, - "engines": { - "node": ">=8.x" + "@babel/runtime": "^7.11.2", + "@rc-component/portal": "^1.0.2", + "classnames": "^2.2.6", + "rc-dialog": "~9.5.2", + "rc-motion": "^2.6.2", + "rc-util": "^5.34.1" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, - "node_modules/rc-switch": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-4.1.0.tgz", - "integrity": "sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==", + "node_modules/rc-input": { + "version": "1.6.3", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.21.0", + "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", - "rc-util": "^5.30.0" + "rc-util": "^5.18.1" }, "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "react": ">=16.0.0", + "react-dom": ">=16.0.0" } }, - "node_modules/rc-table": { - "version": "7.45.7", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.45.7.tgz", - "integrity": "sha512-wi9LetBL1t1csxyGkMB2p3mCiMt+NDexMlPbXHvQFmBBAsMxrgNSAPwUci2zDLUq9m8QdWc1Nh8suvrpy9mXrg==", + "node_modules/rc-input-number": { + "version": "9.2.0", "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", - "@rc-component/context": "^1.4.0", + "@rc-component/mini-decimal": "^1.0.1", "classnames": "^2.2.5", - "rc-resize-observer": "^1.1.0", - "rc-util": "^5.37.0", - "rc-virtual-list": "^3.14.2" - }, - "engines": { - "node": ">=8.x" + "rc-input": "~1.6.0", + "rc-util": "^5.40.1" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, - "node_modules/rc-tabs": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-15.1.1.tgz", - "integrity": "sha512-Tc7bJvpEdkWIVCUL7yQrMNBJY3j44NcyWS48jF/UKMXuUlzaXK+Z/pEL5LjGcTadtPvVmNqA40yv7hmr+tCOAw==", + "node_modules/rc-mentions": { + "version": "2.15.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.11.2", - "classnames": "2.x", - "rc-dropdown": "~4.2.0", + "@babel/runtime": "^7.22.5", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.6", + "rc-input": "~1.6.0", "rc-menu": "~9.14.0", - "rc-motion": "^2.6.2", - "rc-resize-observer": "^1.0.0", + "rc-textarea": "~1.8.0", "rc-util": "^5.34.1" }, - "engines": { - "node": ">=8.x" - }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, - "node_modules/rc-textarea": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.8.1.tgz", - "integrity": "sha512-bm36N2ZqwZAP60ZQg2OY9mPdqWC+m6UTjHc+CqEZOxb3Ia29BGHazY/s5bI8M4113CkqTzhtFUDNA078ZiOx3Q==", + "node_modules/rc-menu": { + "version": "9.14.1", "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", - "classnames": "^2.2.1", - "rc-input": "~1.6.0", - "rc-resize-observer": "^1.0.0", + "@rc-component/trigger": "^2.0.0", + "classnames": "2.x", + "rc-motion": "^2.4.3", + "rc-overflow": "^1.3.1", "rc-util": "^5.27.0" }, "peerDependencies": { @@ -9861,1813 +6380,1496 @@ "react-dom": ">=16.9.0" } }, - "node_modules/rc-tooltip": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.0.tgz", - "integrity": "sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==", + "node_modules/rc-motion": { + "version": "2.9.2", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.11.2", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.3.1" + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.43.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, - "node_modules/rc-tree": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.9.0.tgz", - "integrity": "sha512-CPrgOvm9d/9E+izTONKSngNzQdIEjMox2PBufWjS1wf7vxtvmCWzK1SlpHbRY6IaBfJIeZ+88RkcIevf729cRg==", + "node_modules/rc-notification": { + "version": "5.6.0", "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-motion": "^2.0.1", - "rc-util": "^5.16.1", - "rc-virtual-list": "^3.5.1" + "rc-motion": "^2.9.0", + "rc-util": "^5.20.1" }, "engines": { - "node": ">=10.x" + "node": ">=8.x" }, "peerDependencies": { - "react": "*", - "react-dom": "*" + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/rc-tree-select": { - "version": "5.23.0", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.23.0.tgz", - "integrity": "sha512-aQGi2tFSRw1WbXv0UVXPzHm09E0cSvUVZMLxQtMv3rnZZpNmdRXWrnd9QkLNlVH31F+X5rgghmdSFF3yZW0N9A==", + "node_modules/rc-overflow": { + "version": "1.3.2", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.10.1", - "classnames": "2.x", - "rc-select": "~14.15.0", - "rc-tree": "~5.9.0", - "rc-util": "^5.16.1" + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.37.0" }, "peerDependencies": { - "react": "*", - "react-dom": "*" + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/rc-upload": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.7.0.tgz", - "integrity": "sha512-eUwxYNHlsYe5vYhKFAUGrQG95JrnPzY+BmPi1Daq39fWNl/eOc7v4UODuWrVp2LFkQBuV3cMCG/I68iub6oBrg==", + "node_modules/rc-pagination": { + "version": "4.2.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.18.3", - "classnames": "^2.2.5", - "rc-util": "^5.2.0" + "@babel/runtime": "^7.10.1", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, - "node_modules/rc-util": { - "version": "5.43.0", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz", - "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", + "node_modules/rc-picker": { + "version": "4.6.14", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.18.3", - "react-is": "^18.2.0" + "@babel/runtime": "^7.24.7", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.2.1", + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.43.0" + }, + "engines": { + "node": ">=8.x" }, "peerDependencies": { + "date-fns": ">= 2.x", + "dayjs": ">= 1.x", + "luxon": ">= 3.x", + "moment": ">= 2.x", "react": ">=16.9.0", "react-dom": ">=16.9.0" + }, + "peerDependenciesMeta": { + "date-fns": { + "optional": true + }, + "dayjs": { + "optional": true + }, + "luxon": { + "optional": true + }, + "moment": { + "optional": true + } } }, - "node_modules/rc-virtual-list": { - "version": "3.14.5", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.5.tgz", - "integrity": "sha512-ZMOnkCLv2wUN8Jz7yI4XiSLa9THlYvf00LuMhb1JlsQCewuU7ydPuHw1rGVPhe9VZYl/5UqODtNd7QKJ2DMGfg==", + "node_modules/rc-progress": { + "version": "4.0.0", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.20.0", + "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", - "rc-resize-observer": "^1.0.0", - "rc-util": "^5.36.0" - }, - "engines": { - "node": ">=8.x" + "rc-util": "^5.16.1" }, "peerDependencies": { "react": ">=16.9.0", "react-dom": ">=16.9.0" } }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "node_modules/rc-rate": { + "version": "2.13.0", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0" + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.0.1" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "node": ">=8.x" }, "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "license": "MIT" - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "node_modules/rc-resize-observer": { + "version": "1.4.0", "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "@babel/runtime": "^7.20.7", + "classnames": "^2.2.1", + "rc-util": "^5.38.0", + "resize-observer-polyfill": "^1.5.1" }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readline-sync": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz", - "integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/reghex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/reghex/-/reghex-1.0.2.tgz", - "integrity": "sha512-bYtyDmFGHxn1Y4gxIs12+AUQ1WRDNvaIhn6ZuKc5KUbSVcmm6U6vx/RA66s26xGhTWBErKKDKK7lorkvvIBB5g==", - "dev": true, - "license": "MIT" - }, - "node_modules/remeda": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/remeda/-/remeda-1.61.0.tgz", - "integrity": "sha512-caKfSz9rDeSKBQQnlJnVW3mbVdFgxgGWQKq1XlFokqjf+hQD5gxutLGTTY2A/x24UxVyJe9gH5fAkFI63ULw4A==", - "license": "MIT", - "peer": true - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", - "license": "MIT" + "node_modules/rc-segmented": { + "version": "2.3.0", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-motion": "^2.4.4", + "rc-util": "^5.17.0" + }, + "peerDependencies": { + "react": ">=16.0.0", + "react-dom": ">=16.0.0" + } }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, + "node_modules/rc-select": { + "version": "14.15.2", "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "@babel/runtime": "^7.10.1", + "@rc-component/trigger": "^2.1.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-overflow": "^1.3.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.2" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=8.x" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/resolve-alpn": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", - "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", - "license": "MIT" - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, + "node_modules/rc-slider": { + "version": "11.1.5", "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.5", + "rc-util": "^5.36.0" + }, "engines": { - "node": ">=8" + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, + "node_modules/rc-steps": { + "version": "6.0.1", "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.16.7", + "classnames": "^2.2.3", + "rc-util": "^5.16.1" + }, "engines": { - "node": ">=10" + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/responselike": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz", - "integrity": "sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==", + "node_modules/rc-switch": { + "version": "4.1.0", "license": "MIT", "dependencies": { - "lowercase-keys": "^2.0.0" + "@babel/runtime": "^7.21.0", + "classnames": "^2.2.1", + "rc-util": "^5.30.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "dev": true, + "node_modules/rc-table": { + "version": "7.45.7", "license": "MIT", "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" + "@babel/runtime": "^7.10.1", + "@rc-component/context": "^1.4.0", + "classnames": "^2.2.5", + "rc-resize-observer": "^1.1.0", + "rc-util": "^5.37.0", + "rc-virtual-list": "^3.14.2" }, "engines": { - "node": ">=18" + "node": ">=8.x" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/restore-cursor/node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "dev": true, + "node_modules/rc-tabs": { + "version": "15.1.1", "license": "MIT", "dependencies": { - "mimic-function": "^5.0.0" + "@babel/runtime": "^7.11.2", + "classnames": "2.x", + "rc-dropdown": "~4.2.0", + "rc-menu": "~9.14.0", + "rc-motion": "^2.6.2", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.34.1" }, "engines": { - "node": ">=18" + "node": ">=8.x" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, + "node_modules/rc-textarea": { + "version": "1.8.1", "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true, - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "peer": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.1", + "rc-input": "~1.6.0", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.27.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "node_modules/rc-tooltip": { + "version": "6.2.0", "license": "MIT", - "peer": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@babel/runtime": "^7.11.2", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/rc-tree": { + "version": "5.9.0", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-motion": "^2.0.1", + "rc-util": "^5.16.1", + "rc-virtual-list": "^3.5.1" }, "engines": { - "node": "*" + "node": ">=10.x" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/rc-tree-select": { + "version": "5.23.0", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "rc-select": "~14.15.0", + "rc-tree": "~5.9.0", + "rc-util": "^5.16.1" }, - "engines": { - "node": "*" + "peerDependencies": { + "react": "*", + "react-dom": "*" } }, - "node_modules/rollup": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.2.tgz", - "integrity": "sha512-e3TapAgYf9xjdLvKQCkQTnbTKd4a6jwlpQSJJFokHGaX2IVjoEqkIIhiQfqsi0cdwlOD+tQGuOd5AJkc5RngBw==", - "dev": true, + "node_modules/rc-upload": { + "version": "4.7.0", "license": "MIT", "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.21.2", - "@rollup/rollup-android-arm64": "4.21.2", - "@rollup/rollup-darwin-arm64": "4.21.2", - "@rollup/rollup-darwin-x64": "4.21.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", - "@rollup/rollup-linux-arm-musleabihf": "4.21.2", - "@rollup/rollup-linux-arm64-gnu": "4.21.2", - "@rollup/rollup-linux-arm64-musl": "4.21.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", - "@rollup/rollup-linux-riscv64-gnu": "4.21.2", - "@rollup/rollup-linux-s390x-gnu": "4.21.2", - "@rollup/rollup-linux-x64-gnu": "4.21.2", - "@rollup/rollup-linux-x64-musl": "4.21.2", - "@rollup/rollup-win32-arm64-msvc": "4.21.2", - "@rollup/rollup-win32-ia32-msvc": "4.21.2", - "@rollup/rollup-win32-x64-msvc": "4.21.2", - "fsevents": "~2.3.2" + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.5", + "rc-util": "^5.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/rollup-plugin-inject": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz", - "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.", - "dev": true, + "node_modules/rc-util": { + "version": "5.43.0", "license": "MIT", "dependencies": { - "estree-walker": "^0.6.1", - "magic-string": "^0.25.3", - "rollup-pluginutils": "^2.8.1" + "@babel/runtime": "^7.18.3", + "react-is": "^18.2.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/rollup-plugin-node-polyfills": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz", - "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==", - "dev": true, + "node_modules/rc-virtual-list": { + "version": "3.14.5", "license": "MIT", "dependencies": { - "rollup-plugin-inject": "^3.0.0" + "@babel/runtime": "^7.20.0", + "classnames": "^2.2.6", + "rc-resize-observer": "^1.0.0", + "rc-util": "^5.36.0" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/rollup-pluginutils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", - "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", - "dev": true, + "node_modules/react": { + "version": "18.3.1", "license": "MIT", "dependencies": { - "estree-walker": "^0.6.1" + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/react-dom": { + "version": "18.3.1", "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/safe-json-utils": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz", - "integrity": "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==", + "node_modules/react-is": { + "version": "18.3.1", "license": "MIT" }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "node_modules/read-cache": { + "version": "1.0.0", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0" + "pify": "^2.3.0" } }, - "node_modules/scroll-into-view-if-needed": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz", - "integrity": "sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==", + "node_modules/readable-stream": { + "version": "2.3.8", "license": "MIT", "dependencies": { - "compute-scroll-into-view": "^3.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "node_modules/readdirp": { + "version": "3.6.0", "dev": true, "license": "MIT", "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=10" + "node": ">=8.10.0" } }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, + "node_modules/readline-sync": { + "version": "1.4.10", + "license": "MIT", + "peer": true, "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "license": "MIT" }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "node_modules/reghex": { + "version": "1.0.2", "dev": true, - "license": "ISC", - "peer": true + "license": "MIT" }, - "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true, - "license": "ISC", + "node_modules/remeda": { + "version": "1.61.0", + "license": "MIT", "peer": true }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "node_modules/require-directory": { + "version": "2.1.1", "dev": true, "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "node_modules/require-from-string": { + "version": "2.0.2", "dev": true, "license": "MIT", + "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/shellac": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/shellac/-/shellac-0.8.0.tgz", - "integrity": "sha512-M3F2vzYIM7frKOs0+kgs/ITMlXhGpgtqs9HxDPciz3bckzAqqfd4LrBn+CCmSbICyJS+Jz5UDkmkR1jE+m+g+Q==", + "node_modules/resize-observer-polyfill": { + "version": "1.5.1", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.8", "dev": true, "license": "MIT", "dependencies": { - "reghex": "^1.0.2" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/resolve-alpn": { + "version": "1.2.1", + "license": "MIT" + }, + "node_modules/resolve-from": { + "version": "5.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=8" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/resolve.exports": { + "version": "2.0.2", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "node_modules/responselike": { + "version": "2.0.1", + "license": "MIT", + "dependencies": { + "lowercase-keys": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/snarkjs": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/snarkjs/-/snarkjs-0.7.4.tgz", - "integrity": "sha512-x4cOCR4YXSyBlLtfnUUwfbZrw8wFd/Y0lk83eexJzKwZB8ELdpH+10ts8YtDsm2/a3WK7c7p514bbE8NpqxW8w==", - "license": "GPL-3.0", + "node_modules/restore-cursor/node_modules/onetime": { + "version": "7.0.0", + "dev": true, + "license": "MIT", "dependencies": { - "@iden3/binfileutils": "0.0.12", - "bfj": "^7.0.2", - "blake2b-wasm": "^2.4.0", - "circom_runtime": "0.1.25", - "ejs": "^3.1.6", - "fastfile": "0.0.20", - "ffjavascript": "0.3.0", - "js-sha3": "^0.8.0", - "logplease": "^1.2.15", - "r1csfile": "0.0.48" + "mimic-function": "^5.0.0" }, - "bin": { - "snarkjs": "build/cli.cjs" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "devOptional": true, - "license": "BSD-3-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "license": "BSD-3-Clause", + "node_modules/reusify": { + "version": "1.0.4", + "dev": true, + "license": "MIT", "engines": { + "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "node_modules/rfdc": { + "version": "1.4.1", "dev": true, "license": "MIT" }, - "node_modules/stacktracey": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz", - "integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==", + "node_modules/rimraf": { + "version": "3.0.2", "dev": true, - "license": "Unlicense", + "license": "ISC", + "peer": true, "dependencies": { - "as-table": "^1.0.36", - "get-source": "^2.0.12" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/stat-mode": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.3.0.tgz", - "integrity": "sha512-QjMLR0A3WwFY2aZdV0okfFEJB5TRjkggXZjxP3A1RsWsNHNu3YPv8btmtc6iCFZ0Rul3FE93OYogvhOUClU+ng==", + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, "license": "MIT", - "peer": true + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "node_modules/static-eval": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", - "license": "MIT", + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "peer": true, "dependencies": { - "escodegen": "^1.8.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, "engines": { - "node": ">= 0.6" + "node": "*" } }, - "node_modules/stoppable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", - "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "node_modules/rollup": { + "version": "4.21.2", "dev": true, "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, "engines": { - "node": ">=4", - "npm": ">=6" + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.2", + "@rollup/rollup-android-arm64": "4.21.2", + "@rollup/rollup-darwin-arm64": "4.21.2", + "@rollup/rollup-darwin-x64": "4.21.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.2", + "@rollup/rollup-linux-arm-musleabihf": "4.21.2", + "@rollup/rollup-linux-arm64-gnu": "4.21.2", + "@rollup/rollup-linux-arm64-musl": "4.21.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.2", + "@rollup/rollup-linux-riscv64-gnu": "4.21.2", + "@rollup/rollup-linux-s390x-gnu": "4.21.2", + "@rollup/rollup-linux-x64-gnu": "4.21.2", + "@rollup/rollup-linux-x64-musl": "4.21.2", + "@rollup/rollup-win32-arm64-msvc": "4.21.2", + "@rollup/rollup-win32-ia32-msvc": "4.21.2", + "@rollup/rollup-win32-x64-msvc": "4.21.2", + "fsevents": "~2.3.2" } }, - "node_modules/stream-to-array": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-2.3.0.tgz", - "integrity": "sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==", + "node_modules/rollup-plugin-inject": { + "version": "3.0.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "any-promise": "^1.1.0" + "estree-walker": "^0.6.1", + "magic-string": "^0.25.3", + "rollup-pluginutils": "^2.8.1" } }, - "node_modules/stream-to-promise": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/stream-to-promise/-/stream-to-promise-2.2.0.tgz", - "integrity": "sha512-HAGUASw8NT0k8JvIVutB2Y/9iBk7gpgEyAudXwNJmZERdMITGdajOa4VJfD/kNiA3TppQpTP4J+CtcHwdzKBAw==", + "node_modules/rollup-plugin-node-polyfills": { + "version": "0.2.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "any-promise": "~1.3.0", - "end-of-stream": "~1.1.0", - "stream-to-array": "~2.3.0" + "rollup-plugin-inject": "^3.0.0" } }, - "node_modules/stream-to-promise/node_modules/end-of-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", - "integrity": "sha512-EoulkdKF/1xa92q25PbjuDcgJ9RDHYU2Rs3SCIvs2/dSQ3BpmxneNHmA/M7fe60M3PrV7nNGTTNbkK62l6vXiQ==", + "node_modules/rollup-pluginutils": { + "version": "2.8.2", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "once": "~1.3.0" + "estree-walker": "^0.6.1" } }, - "node_modules/stream-to-promise/node_modules/once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==", + "node_modules/run-parallel": { + "version": "1.2.0", "dev": true, - "license": "ISC", - "peer": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", "dependencies": { - "wrappy": "1" + "queue-microtask": "^1.2.2" } }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } + "node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT" }, - "node_modules/string_decoder": { + "node_modules/safe-json-utils": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } + "license": "MIT" }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "node_modules/safer-buffer": { + "version": "2.1.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.6.19" - } + "peer": true }, - "node_modules/string-convert": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", - "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==", - "license": "MIT" + "node_modules/scheduler": { + "version": "0.23.2", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } }, - "node_modules/string-length": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-6.0.0.tgz", - "integrity": "sha512-1U361pxZHEQ+FeSjzqRpV+cu2vTzYeWeafXFLykiFlv4Vc0n3njgU8HrMbyik5uwm77naWMuVG8fhEF+Ovb1Kg==", + "node_modules/scroll-into-view-if-needed": { + "version": "3.1.0", "license": "MIT", - "peer": true, "dependencies": { - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "compute-scroll-into-view": "^3.0.2" } }, - "node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "node_modules/selfsigned": { + "version": "2.4.1", "dev": true, "license": "MIT", "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" + "@types/node-forge": "^1.3.0", + "node-forge": "^1" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/semver": { + "version": "7.6.3", "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/serialize-javascript": { + "version": "6.0.2", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" } }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/set-blocking": { + "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "ISC", + "peer": true }, - "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/setprototypeof": { + "version": "1.1.1", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } + "license": "ISC", + "peer": true }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/shebang-command": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "shebang-regex": "^3.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/shebang-regex": { + "version": "3.0.0", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { "node": ">=8" } }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/shellac": { + "version": "0.8.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "reghex": "^1.0.2" } }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "node_modules/signal-exit": { + "version": "4.1.0", "dev": true, - "license": "MIT", + "license": "ISC", "engines": { - "node": ">=12" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "node_modules/slash": { + "version": "3.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "node_modules/slice-ansi": { + "version": "5.0.0", + "dev": true, "license": "MIT", "dependencies": { - "client-only": "0.0.1" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" }, "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + "node": ">=12" }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/stylis": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.4.tgz", - "integrity": "sha512-osIBl6BGUmSfDkyH2mB7EFvCJntXDrLhKjHTRj/rK6xLH0yuPrHULDRQzKokSOD4VoorhtKpfcfW1GAntu8now==", - "license": "MIT" - }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "dev": true, - "license": "MIT", + "node_modules/snarkjs": { + "version": "0.7.4", + "license": "GPL-3.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" + "@iden3/binfileutils": "0.0.12", + "bfj": "^7.0.2", + "blake2b-wasm": "^2.4.0", + "circom_runtime": "0.1.25", + "ejs": "^3.1.6", + "fastfile": "0.0.20", + "ffjavascript": "0.3.0", + "js-sha3": "^0.8.0", + "logplease": "^1.2.15", + "r1csfile": "0.0.48" }, "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, + "snarkjs": "build/cli.cjs" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "devOptional": true, + "license": "BSD-3-Clause", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=0.10.0" } }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "license": "MIT", + "node_modules/source-map-js": { + "version": "1.2.0", + "license": "BSD-3-Clause", "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/sourcemap-codec": { + "version": "1.4.8", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/stacktracey": { + "version": "2.1.8", + "dev": true, + "license": "Unlicense", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "as-table": "^1.0.36", + "get-source": "^2.0.12" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/stat-mode": { + "version": "0.3.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "peer": true }, - "node_modules/tailwindcss": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.10.tgz", - "integrity": "sha512-KWZkVPm7yJRhdu4SRSl9d4AK2wM3a50UsvgHZO7xY77NQr2V+fIrEuoDGQcbvswWvFGbS2f6e+jC/6WJm1Dl0w==", - "dev": true, + "node_modules/static-eval": { + "version": "2.0.2", "license": "MIT", "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" + "escodegen": "^1.8.1" } }, - "node_modules/tailwindcss/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/statuses": { + "version": "1.5.0", "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, + "license": "MIT", + "peer": true, "engines": { - "node": ">=10.13.0" + "node": ">= 0.6" } }, - "node_modules/tailwindcss/node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "node_modules/stoppable": { + "version": "1.1.0", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=4", + "npm": ">=6" } }, - "node_modules/tar": { - "version": "4.4.18", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.18.tgz", - "integrity": "sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==", + "node_modules/stream-to-array": { + "version": "2.3.0", "dev": true, - "license": "ISC", + "license": "MIT", "peer": true, "dependencies": { - "chownr": "^1.1.4", - "fs-minipass": "^1.2.7", - "minipass": "^2.9.0", - "minizlib": "^1.3.3", - "mkdirp": "^0.5.5", - "safe-buffer": "^5.2.1", - "yallist": "^3.1.1" - }, - "engines": { - "node": ">=4.5" + "any-promise": "^1.1.0" } }, - "node_modules/tar/node_modules/minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "node_modules/stream-to-promise": { + "version": "2.2.0", "dev": true, - "license": "ISC", + "license": "MIT", "peer": true, "dependencies": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "any-promise": "~1.3.0", + "end-of-stream": "~1.1.0", + "stream-to-array": "~2.3.0" } }, - "node_modules/tar/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/stream-to-promise/node_modules/end-of-stream": { + "version": "1.1.0", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], "license": "MIT", - "peer": true + "peer": true, + "dependencies": { + "once": "~1.3.0" + } }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "node_modules/stream-to-promise/node_modules/once": { + "version": "1.3.3", "dev": true, - "license": "MIT", + "license": "ISC", + "peer": true, "dependencies": { - "any-promise": "^1.0.0" + "wrappy": "1" } }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, + "node_modules/streamsearch": { + "version": "1.1.0", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", "license": "MIT", "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" + "safe-buffer": "~5.1.0" } }, - "node_modules/throttle-debounce": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", - "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", + "node_modules/string-argv": { + "version": "0.3.2", + "dev": true, "license": "MIT", "engines": { - "node": ">=12.22" + "node": ">=0.6.19" } }, - "node_modules/time-span": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/time-span/-/time-span-4.0.0.tgz", - "integrity": "sha512-MyqZCTGLDZ77u4k+jqg4UlrzPTPZ49NDlaekU6uuFaJLzPIN1woaRXCbGeqOfxwc3Y37ZROGAJ614Rdv7Olt+g==", - "dev": true, + "node_modules/string-convert": { + "version": "0.2.1", + "license": "MIT" + }, + "node_modules/string-length": { + "version": "6.0.0", "license": "MIT", "peer": true, "dependencies": { - "convert-hrtime": "^3.0.0" + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/string-width": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/toggle-selection": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", - "license": "MIT" - }, - "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", "dev": true, "license": "MIT", - "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=0.6" + "node": ">=8" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, "license": "MIT", - "bin": { - "tree-kill": "cli.js" + "engines": { + "node": ">=8" } }, - "node_modules/tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, "license": "MIT" }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, - "license": "Apache-2.0" + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/ts-morph": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-12.0.0.tgz", - "integrity": "sha512-VHC8XgU2fFW7yO1f/b3mxKDje1vmyzFXHWzOYmKEkCEwcLjDtbdLgBQviqj4ZwP4MJkQtRo6Ha2I29lq/B+VxA==", + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@ts-morph/common": "~0.11.0", - "code-block-writer": "^10.1.1" + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, + "node_modules/strip-ansi": { + "version": "7.1.0", "license": "MIT", - "peer": true, "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" + "ansi-regex": "^6.0.1" }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "engines": { + "node": ">=12" }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/ts-node/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", "dev": true, "license": "MIT", - "peer": true + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/ts-node/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, - "license": "BSD-3-Clause", - "peer": true, + "license": "MIT", "engines": { - "node": ">=0.3.1" + "node": ">=8" } }, - "node_modules/ts-toolbelt": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz", - "integrity": "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==", - "license": "Apache-2.0", - "peer": true - }, - "node_modules/tslib": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", - "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", - "license": "0BSD" + "node_modules/strip-final-newline": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/tsup": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.2.4.tgz", - "integrity": "sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==", + "node_modules/strip-json-comments": { + "version": "3.1.1", "dev": true, "license": "MIT", - "dependencies": { - "bundle-require": "^5.0.0", - "cac": "^6.7.14", - "chokidar": "^3.6.0", - "consola": "^3.2.3", - "debug": "^4.3.5", - "esbuild": "^0.23.0", - "execa": "^5.1.1", - "globby": "^11.1.0", - "joycon": "^3.1.1", - "picocolors": "^1.0.1", - "postcss-load-config": "^6.0.1", - "resolve-from": "^5.0.0", - "rollup": "^4.19.0", - "source-map": "0.8.0-beta.0", - "sucrase": "^3.35.0", - "tree-kill": "^1.2.2" + "engines": { + "node": ">=8" }, - "bin": { - "tsup": "dist/cli-default.js", - "tsup-node": "dist/cli-node.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" }, "engines": { - "node": ">=18" + "node": ">= 12.0.0" }, "peerDependencies": { - "@microsoft/api-extractor": "^7.36.0", - "@swc/core": "^1", - "postcss": "^8.4.12", - "typescript": ">=4.5.0" + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" }, "peerDependenciesMeta": { - "@microsoft/api-extractor": { - "optional": true - }, - "@swc/core": { - "optional": true - }, - "postcss": { + "@babel/core": { "optional": true }, - "typescript": { + "babel-plugin-macros": { "optional": true } } }, - "node_modules/tsup/node_modules/@esbuild/android-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", - "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", - "cpu": [ - "arm" - ], + "node_modules/stylis": { + "version": "4.3.4", + "license": "MIT" + }, + "node_modules/sucrase": { + "version": "3.35.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, "engines": { - "node": ">=18" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/tsup/node_modules/@esbuild/android-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", - "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", - "cpu": [ - "arm64" - ], + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], "engines": { - "node": ">=18" + "node": ">= 6" } }, - "node_modules/tsup/node_modules/@esbuild/android-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", - "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", - "cpu": [ - "x64" - ], + "node_modules/supports-color": { + "version": "8.1.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/tsup/node_modules/@esbuild/darwin-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", - "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", - "cpu": [ - "arm64" - ], + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=18" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tsup/node_modules/@esbuild/darwin-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", - "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", - "cpu": [ - "x64" - ], + "node_modules/tailwindcss": { + "version": "3.4.10", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, "engines": { - "node": ">=18" + "node": ">=14.0.0" } }, - "node_modules/tsup/node_modules/@esbuild/freebsd-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", - "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", - "cpu": [ - "arm64" - ], + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, "engines": { - "node": ">=18" + "node": ">=10.13.0" } }, - "node_modules/tsup/node_modules/@esbuild/freebsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", - "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", - "cpu": [ - "x64" - ], + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], "engines": { - "node": ">=18" + "node": ">=10" } }, - "node_modules/tsup/node_modules/@esbuild/linux-arm": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", - "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", - "cpu": [ - "arm" - ], + "node_modules/tar": { + "version": "4.4.18", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "peer": true, + "dependencies": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, "engines": { - "node": ">=18" + "node": ">=4.5" } }, - "node_modules/tsup/node_modules/@esbuild/linux-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", - "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", - "cpu": [ - "arm64" - ], + "node_modules/tar/node_modules/minipass": { + "version": "2.9.0", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "license": "ISC", + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" } }, - "node_modules/tsup/node_modules/@esbuild/linux-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", - "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", - "cpu": [ - "ia32" + "node_modules/tar/node_modules/safe-buffer": { + "version": "5.2.1", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } ], + "license": "MIT", + "peer": true + }, + "node_modules/thenify": { + "version": "3.3.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "dependencies": { + "any-promise": "^1.0.0" } }, - "node_modules/tsup/node_modules/@esbuild/linux-loong64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", - "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", - "cpu": [ - "loong64" - ], + "node_modules/thenify-all": { + "version": "1.6.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, "engines": { - "node": ">=18" + "node": ">=0.8" } }, - "node_modules/tsup/node_modules/@esbuild/linux-mips64el": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", - "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", - "cpu": [ - "mips64el" - ], - "dev": true, + "node_modules/throttle-debounce": { + "version": "5.0.2", "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">=18" + "node": ">=12.22" } }, - "node_modules/tsup/node_modules/@esbuild/linux-ppc64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", - "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", - "cpu": [ - "ppc64" - ], + "node_modules/time-span": { + "version": "4.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "peer": true, + "dependencies": { + "convert-hrtime": "^3.0.0" + }, "engines": { - "node": ">=18" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tsup/node_modules/@esbuild/linux-riscv64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", - "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", - "cpu": [ - "riscv64" - ], + "node_modules/to-regex-range": { + "version": "5.0.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "is-number": "^7.0.0" + }, "engines": { - "node": ">=18" + "node": ">=8.0" } }, - "node_modules/tsup/node_modules/@esbuild/linux-s390x": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", - "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", - "cpu": [ - "s390x" - ], + "node_modules/toggle-selection": { + "version": "1.0.6", + "license": "MIT" + }, + "node_modules/toidentifier": { + "version": "1.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "peer": true, "engines": { - "node": ">=18" + "node": ">=0.6" } }, - "node_modules/tsup/node_modules/@esbuild/linux-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", - "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", - "cpu": [ - "x64" - ], + "node_modules/tr46": { + "version": "0.0.3", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } + "peer": true }, - "node_modules/tsup/node_modules/@esbuild/netbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", - "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", - "cpu": [ - "x64" - ], + "node_modules/tree-kill": { + "version": "1.2.2", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" + "bin": { + "tree-kill": "cli.js" } }, - "node_modules/tsup/node_modules/@esbuild/openbsd-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", - "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", - "cpu": [ - "x64" - ], + "node_modules/tryer": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/ts-morph": { + "version": "12.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" + "peer": true, + "dependencies": { + "@ts-morph/common": "~0.11.0", + "code-block-writer": "^10.1.1" } }, - "node_modules/tsup/node_modules/@esbuild/sunos-x64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", - "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", - "cpu": [ - "x64" - ], + "node_modules/ts-node": { + "version": "10.9.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" + "peer": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/tsup/node_modules/@esbuild/win32-arm64": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", - "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", - "cpu": [ - "arm64" - ], + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "peer": true + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, "engines": { - "node": ">=18" + "node": ">=0.3.1" } }, - "node_modules/tsup/node_modules/@esbuild/win32-ia32": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", - "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", - "cpu": [ - "ia32" - ], + "node_modules/ts-toolbelt": { + "version": "9.6.0", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/tslib": { + "version": "2.7.0", + "license": "0BSD" + }, + "node_modules/tsup": { + "version": "8.2.4", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "bundle-require": "^5.0.0", + "cac": "^6.7.14", + "chokidar": "^3.6.0", + "consola": "^3.2.3", + "debug": "^4.3.5", + "esbuild": "^0.23.0", + "execa": "^5.1.1", + "globby": "^11.1.0", + "joycon": "^3.1.1", + "picocolors": "^1.0.1", + "postcss-load-config": "^6.0.1", + "resolve-from": "^5.0.0", + "rollup": "^4.19.0", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.35.0", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, "engines": { "node": ">=18" + }, + "peerDependencies": { + "@microsoft/api-extractor": "^7.36.0", + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "@microsoft/api-extractor": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "node_modules/tsup/node_modules/@esbuild/win32-x64": { + "node_modules/tsup/node_modules/@esbuild/linux-x64": { "version": "0.23.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", - "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", "cpu": [ "x64" ], @@ -11675,7 +7877,7 @@ "license": "MIT", "optional": true, "os": [ - "win32" + "linux" ], "engines": { "node": ">=18" @@ -11683,8 +7885,6 @@ }, "node_modules/tsup/node_modules/bundle-require": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.0.0.tgz", - "integrity": "sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==", "dev": true, "license": "MIT", "dependencies": { @@ -11699,8 +7899,6 @@ }, "node_modules/tsup/node_modules/esbuild": { "version": "0.23.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", - "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -11739,8 +7937,6 @@ }, "node_modules/tsup/node_modules/execa": { "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, "license": "MIT", "dependencies": { @@ -11763,8 +7959,6 @@ }, "node_modules/tsup/node_modules/get-stream": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, "license": "MIT", "engines": { @@ -11776,8 +7970,6 @@ }, "node_modules/tsup/node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, "license": "Apache-2.0", "engines": { @@ -11786,8 +7978,6 @@ }, "node_modules/tsup/node_modules/is-stream": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, "license": "MIT", "engines": { @@ -11799,8 +7989,6 @@ }, "node_modules/tsup/node_modules/mimic-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, "license": "MIT", "engines": { @@ -11809,8 +7997,6 @@ }, "node_modules/tsup/node_modules/npm-run-path": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "license": "MIT", "dependencies": { @@ -11822,8 +8008,6 @@ }, "node_modules/tsup/node_modules/onetime": { "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "license": "MIT", "dependencies": { @@ -11838,8 +8022,6 @@ }, "node_modules/tsup/node_modules/postcss-load-config": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", - "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", "dev": true, "funding": [ { @@ -11881,15 +8063,11 @@ }, "node_modules/tsup/node_modules/signal-exit": { "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true, "license": "ISC" }, "node_modules/tsup/node_modules/source-map": { "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -11901,8 +8079,6 @@ }, "node_modules/tsup/node_modules/strip-final-newline": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, "license": "MIT", "engines": { @@ -11911,8 +8087,6 @@ }, "node_modules/tsup/node_modules/tr46": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dev": true, "license": "MIT", "dependencies": { @@ -11921,15 +8095,11 @@ }, "node_modules/tsup/node_modules/webidl-conversions": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true, "license": "BSD-2-Clause" }, "node_modules/tsup/node_modules/whatwg-url": { "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dev": true, "license": "MIT", "dependencies": { @@ -11940,8 +8110,6 @@ }, "node_modules/turbo": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/turbo/-/turbo-2.1.1.tgz", - "integrity": "sha512-u9gUDkmR9dFS8b5kAYqIETK4OnzsS4l2ragJ0+soSMHh6VEeNHjTfSjk1tKxCqLyziCrPogadxP680J+v6yGHw==", "dev": true, "license": "MIT", "bin": { @@ -11956,38 +8124,8 @@ "turbo-windows-arm64": "2.1.1" } }, - "node_modules/turbo-darwin-64": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-2.1.1.tgz", - "integrity": "sha512-aYNuJpZlCoi0Htd79fl/2DywpewGKijdXeOfg9KzNuPVKzSMYlAXuAlNGh0MKjiOcyqxQGL7Mq9LFhwA0VpDpQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/turbo-darwin-arm64": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.1.1.tgz", - "integrity": "sha512-tifJKD8yHY48rHXPMcM8o1jI/Jk2KCaXiNjTKvvy9Zsim61BZksNVLelIbrRoCGwAN6PUBZO2lGU5iL/TQJ5Pw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, "node_modules/turbo-linux-64": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-2.1.1.tgz", - "integrity": "sha512-Js6d/bSQe9DuV9c7ITXYpsU/ADzFHABdz1UIHa7Oqjj9VOEbFeA9WpAn0c+mdJrVD+IXJFbbDZUjN7VYssmtcg==", "cpu": [ "x64" ], @@ -11998,65 +8136,17 @@ "linux" ] }, - "node_modules/turbo-linux-arm64": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-2.1.1.tgz", - "integrity": "sha512-LidzTCq0yvQ+N8w8Qub9FmhQ/mmEIeoqFi7DSupekEV2EjvE9jw/zYc9Pk67X+g7dHVfgOnvVzmrjChdxpFePw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/turbo-windows-64": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-2.1.1.tgz", - "integrity": "sha512-GKc9ZywKwy4xLDhwXd6H07yzl0TB52HjXMrFLyHGhCVnf/w0oq4sLJv2sjbvuarPjsyx4xnCBJ3m3oyL2XmFtA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/turbo-windows-arm64": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-2.1.1.tgz", - "integrity": "sha512-oFKkMj11KKUv3xSK9/fhAEQTxLUp1Ol1EOktwc32+SFtEU0uls7kosAz0b+qe8k3pJGEMFdDPdqoEjyJidbxtQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/tweetnacl": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", - "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==", "license": "Unlicense" }, "node_modules/tweetnacl-util": { "version": "0.15.1", - "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", - "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==", "license": "Unlicense", "peer": true }, "node_modules/type-check": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", "license": "MIT", "dependencies": { "prelude-ls": "~1.1.2" @@ -12067,8 +8157,6 @@ }, "node_modules/type-fest": { "version": "4.26.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", - "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", "license": "(MIT OR CC0-1.0)", "peer": true, "engines": { @@ -12080,8 +8168,6 @@ }, "node_modules/typescript": { "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, "license": "Apache-2.0", "bin": { @@ -12094,29 +8180,21 @@ }, "node_modules/ufo": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", - "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", "dev": true, "license": "MIT" }, "node_modules/uid-promise": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/uid-promise/-/uid-promise-1.0.0.tgz", - "integrity": "sha512-R8375j0qwXyIu/7R0tjdF06/sElHqbmdmWC9M2qQHpEVbvE4I5+38KJI7LUUmQMp7NVq4tKHiBMkT0NFM453Ig==", "dev": true, "license": "MIT", "peer": true }, "node_modules/underscore": { "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", "license": "MIT" }, "node_modules/undici": { "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dev": true, "license": "MIT", "dependencies": { @@ -12128,15 +8206,11 @@ }, "node_modules/undici-types": { "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", "license": "MIT" }, "node_modules/unenv": { "name": "unenv-nightly", "version": "2.0.0-1724863496.70db6f1", - "resolved": "https://registry.npmjs.org/unenv-nightly/-/unenv-nightly-2.0.0-1724863496.70db6f1.tgz", - "integrity": "sha512-r+VIl1gnsI4WQxluruSQhy8alpAf1AsLRLm4sEKp3otCyTIVD6I6wHEYzeQnwsyWgaD4+3BD4A/eqrgOpdTzhw==", "dev": true, "license": "MIT", "dependencies": { @@ -12148,8 +8222,6 @@ }, "node_modules/universalify": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, "license": "MIT", "peer": true, @@ -12159,8 +8231,6 @@ }, "node_modules/unpipe": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, "license": "MIT", "peer": true, @@ -12170,8 +8240,6 @@ }, "node_modules/update-browserslist-db": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, "funding": [ { @@ -12201,8 +8269,6 @@ }, "node_modules/uri-js": { "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "license": "BSD-2-Clause", "peer": true, @@ -12212,8 +8278,6 @@ }, "node_modules/use-sync-external-store": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", - "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", "license": "MIT", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -12221,15 +8285,10 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "license": "MIT" }, "node_modules/uuid": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, "license": "MIT", "peer": true, @@ -12239,15 +8298,11 @@ }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true, "license": "MIT" }, "node_modules/vercel": { "version": "37.4.0", - "resolved": "https://registry.npmjs.org/vercel/-/vercel-37.4.0.tgz", - "integrity": "sha512-v7NCmCW1ISjvJy5h2WqmV2GH7Md1c/OYuikWVLnCyqv+6tiVl6ef5v02bsk5HKGBZh70beArxRB3r4sTBD3gBQ==", "dev": true, "license": "Apache-2.0", "peer": true, @@ -12275,8 +8330,6 @@ }, "node_modules/vercel/node_modules/chokidar": { "version": "3.3.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", - "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", "dev": true, "license": "MIT", "peer": true, @@ -12296,27 +8349,8 @@ "fsevents": "~2.1.2" } }, - "node_modules/vercel/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "\"Please update to latest v2.3 or v2.2\"", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "peer": true, - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/vercel/node_modules/readdirp": { "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", "dev": true, "license": "MIT", "peer": true, @@ -12329,14 +8363,10 @@ }, "node_modules/wasmbuilder": { "version": "0.0.16", - "resolved": "https://registry.npmjs.org/wasmbuilder/-/wasmbuilder-0.0.16.tgz", - "integrity": "sha512-Qx3lEFqaVvp1cEYW7Bfi+ebRJrOiwz2Ieu7ZG2l7YyeSJIok/reEQCQCuicj/Y32ITIJuGIM9xZQppGx5LrQdA==", "license": "GPL-3.0" }, "node_modules/wasmcurves": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/wasmcurves/-/wasmcurves-0.2.2.tgz", - "integrity": "sha512-JRY908NkmKjFl4ytnTu5ED6AwPD+8VJ9oc94kdq7h5bIwbj0L4TDJ69mG+2aLs2SoCmGfqIesMWTEJjtYsoQXQ==", "license": "GPL-3.0", "dependencies": { "wasmbuilder": "0.0.16" @@ -12344,29 +8374,20 @@ }, "node_modules/web-vitals": { "version": "0.2.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-0.2.4.tgz", - "integrity": "sha512-6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==", "dev": true, "license": "Apache-2.0", "peer": true }, "node_modules/web-worker": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", "license": "Apache-2.0" }, "node_modules/webextension-polyfill": { "version": "0.12.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.12.0.tgz", - "integrity": "sha512-97TBmpoWJEE+3nFBQ4VocyCdLKfw54rFaJ6EVQYLBCXqCIpLSZkwGgASpv4oPt9gdKCJ80RJlcmNzNn008Ag6Q==", "license": "MPL-2.0" }, "node_modules/webextension-polyfill-ts": { "version": "0.25.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill-ts/-/webextension-polyfill-ts-0.25.0.tgz", - "integrity": "sha512-ikQhwwHYkpBu00pFaUzIKY26I6L87DeRI+Q6jBT1daZUNuu8dSrg5U9l/ZbqdaQ1M/TTSPKeAa3kolP5liuedw==", - "deprecated": "This project has moved to @types/webextension-polyfill", "license": "Zlib", "dependencies": { "webextension-polyfill": "^0.7.0" @@ -12374,22 +8395,16 @@ }, "node_modules/webextension-polyfill-ts/node_modules/webextension-polyfill": { "version": "0.7.0", - "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.7.0.tgz", - "integrity": "sha512-su48BkMLxqzTTvPSE1eWxKToPS2Tv5DLGxKexLEVpwFd6Po6N8hhSLIvG6acPAg7qERoEaDL+Y5HQJeJeml5Aw==", "license": "MPL-2.0" }, "node_modules/webidl-conversions": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true, "license": "BSD-2-Clause", "peer": true }, "node_modules/whatwg-url": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, "license": "MIT", "peer": true, @@ -12400,8 +8415,6 @@ }, "node_modules/which": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "license": "ISC", "dependencies": { @@ -12416,8 +8429,6 @@ }, "node_modules/wide-align": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dev": true, "license": "ISC", "peer": true, @@ -12427,8 +8438,6 @@ }, "node_modules/wide-align/node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "peer": true, @@ -12438,16 +8447,12 @@ }, "node_modules/wide-align/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT", "peer": true }, "node_modules/wide-align/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "peer": true, @@ -12457,8 +8462,6 @@ }, "node_modules/wide-align/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "peer": true, @@ -12473,8 +8476,6 @@ }, "node_modules/wide-align/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "peer": true, @@ -12487,8 +8488,6 @@ }, "node_modules/word-wrap": { "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -12496,8 +8495,6 @@ }, "node_modules/workerd": { "version": "1.20240821.1", - "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20240821.1.tgz", - "integrity": "sha512-y4phjCnEG96u8ZkgkkHB+gSw0i6uMNo23rBmixylWpjxDklB+LWD8dztasvsu7xGaZbLoTxQESdEw956F7VJDA==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", @@ -12517,15 +8514,11 @@ }, "node_modules/workerpool": { "version": "6.5.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", - "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true, "license": "Apache-2.0" }, "node_modules/wrangler": { "version": "3.75.0", - "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.75.0.tgz", - "integrity": "sha512-CitNuNj0O1z6qbonUXmpUbxeWpU3nx28Kc4ZT33tMdeooQssb063Ie7+ZCdfS3kPhRHSwGdtOV22xFYytHON8w==", "dev": true, "license": "MIT OR Apache-2.0", "dependencies": { @@ -12569,8 +8562,6 @@ }, "node_modules/wrap-ansi": { "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, "license": "MIT", "dependencies": { @@ -12588,8 +8579,6 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { @@ -12606,8 +8595,6 @@ }, "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { @@ -12616,8 +8603,6 @@ }, "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { @@ -12632,15 +8617,11 @@ }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "engines": { @@ -12649,8 +8630,6 @@ }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { @@ -12664,8 +8643,6 @@ }, "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -12677,14 +8654,10 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "license": "ISC" }, "node_modules/ws": { "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "license": "MIT", "engines": { @@ -12705,8 +8678,6 @@ }, "node_modules/xdg-app-paths": { "version": "5.1.0", - "resolved": "https://registry.npmjs.org/xdg-app-paths/-/xdg-app-paths-5.1.0.tgz", - "integrity": "sha512-RAQ3WkPf4KTU1A8RtFx3gWywzVKe00tfOPFfl2NDGqbIFENQO4kqAJp7mhQjNj/33W5x5hiWWUdyfPq/5SU3QA==", "dev": true, "license": "MIT", "peer": true, @@ -12719,8 +8690,6 @@ }, "node_modules/xdg-portable": { "version": "7.3.0", - "resolved": "https://registry.npmjs.org/xdg-portable/-/xdg-portable-7.3.0.tgz", - "integrity": "sha512-sqMMuL1rc0FmMBOzCpd0yuy9trqF2yTTVe+E9ogwCSWQCdDEtQUwrZPT6AxqtsFGRNxycgncbP/xmOOSPw5ZUw==", "dev": true, "license": "MIT", "peer": true, @@ -12733,15 +8702,11 @@ }, "node_modules/xxhash-wasm": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", - "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==", "dev": true, "license": "MIT" }, "node_modules/y18n": { "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "license": "ISC", "engines": { @@ -12750,16 +8715,12 @@ }, "node_modules/yallist": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true, "license": "ISC", "peer": true }, "node_modules/yaml": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", - "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", "dev": true, "license": "ISC", "bin": { @@ -12771,8 +8732,6 @@ }, "node_modules/yargs": { "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, "license": "MIT", "dependencies": { @@ -12790,8 +8749,6 @@ }, "node_modules/yargs-parser": { "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "license": "ISC", "engines": { @@ -12800,8 +8757,6 @@ }, "node_modules/yargs-unparser": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, "license": "MIT", "dependencies": { @@ -12816,8 +8771,6 @@ }, "node_modules/yargs/node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", "engines": { @@ -12826,15 +8779,11 @@ }, "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, "license": "MIT" }, "node_modules/yargs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "license": "MIT", "engines": { @@ -12843,8 +8792,6 @@ }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "license": "MIT", "dependencies": { @@ -12858,8 +8805,6 @@ }, "node_modules/yargs/node_modules/strip-ansi": { "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", "dependencies": { @@ -12871,8 +8816,6 @@ }, "node_modules/yauzl": { "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, "license": "MIT", "peer": true, @@ -12883,8 +8826,6 @@ }, "node_modules/yauzl-clone": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/yauzl-clone/-/yauzl-clone-1.0.4.tgz", - "integrity": "sha512-igM2RRCf3k8TvZoxR2oguuw4z1xasOnA31joCqHIyLkeWrvAc2Jgay5ISQ2ZplinkoGaJ6orCz56Ey456c5ESA==", "dev": true, "license": "MIT", "peer": true, @@ -12897,8 +8838,6 @@ }, "node_modules/yauzl-promise": { "version": "2.1.3", - "resolved": "https://registry.npmjs.org/yauzl-promise/-/yauzl-promise-2.1.3.tgz", - "integrity": "sha512-A1pf6fzh6eYkK0L4Qp7g9jzJSDrM6nN0bOn5T0IbY4Yo3w+YkWlHFkJP7mzknMXjqusHFHlKsK2N+4OLsK2MRA==", "dev": true, "license": "MIT", "peer": true, @@ -12912,8 +8851,6 @@ }, "node_modules/yn": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "dev": true, "license": "MIT", "engines": { @@ -12922,8 +8859,6 @@ }, "node_modules/yocto-queue": { "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, "license": "MIT", "engines": { @@ -12935,8 +8870,6 @@ }, "node_modules/youch": { "version": "3.3.3", - "resolved": "https://registry.npmjs.org/youch/-/youch-3.3.3.tgz", - "integrity": "sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==", "dev": true, "license": "MIT", "dependencies": { @@ -12947,8 +8880,6 @@ }, "node_modules/zod": { "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" @@ -12998,8 +8929,6 @@ }, "packages/ui/node_modules/@types/node": { "version": "20.16.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz", - "integrity": "sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==", "dev": true, "license": "MIT", "dependencies": { @@ -13007,7 +8936,10 @@ } }, "packages/zk-circuits": { - "name": "@jeton/zk-circuits", + "extraneous": true + }, + "packages/zk-deck": { + "name": "@jeton/zk-deck", "version": "0.0.0", "dependencies": { "ffjavascript": "^0.3.0", @@ -13025,14 +8957,14 @@ "typescript": "^5.5.4" } }, - "packages/zk-circuits/node_modules/arg": { + "packages/zk-deck/node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true, "license": "MIT" }, - "packages/zk-circuits/node_modules/diff": { + "packages/zk-deck/node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", @@ -13042,7 +8974,7 @@ "node": ">=0.3.1" } }, - "packages/zk-circuits/node_modules/ts-node": { + "packages/zk-deck/node_modules/ts-node": { "version": "10.9.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", diff --git a/packages/zk-circuits/src/babyjubjub.test.ts b/packages/zk-circuits/src/babyjubjub.test.ts deleted file mode 100644 index 3799903..0000000 --- a/packages/zk-circuits/src/babyjubjub.test.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { expect } from "chai"; -import { before, describe, test } from "mocha"; - -import createBabyJubJub, { type BabyJubJub, type Point } from "./babyjubjub.js"; - -describe("babyJubJub", async () => { - let bjj: BabyJubJub; - before(async () => { - bjj = await createBabyJubJub(); - }); - - test("ap should be in curve", () => { - const a = bjj.sampleScalar(); - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - const ap = bjj.mulScalarPoint(a, p); - expect(bjj.inCurve(ap)).to.be.true; - }); - - test("p + q should be in curve", () => { - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - const q: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - const s = bjj.addPoints(p, q); - expect(bjj.inCurve(s)).to.be.true; - }); - - test("p = p", () => { - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - expect(bjj.eqPoints(p, p)).to.be.true; - }); - - test("p + q = q + p", () => { - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - const q: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - const left = bjj.addPoints(p, q); - const right = bjj.addPoints(q, p); - expect(bjj.inCurve(left)).to.be.true; - expect(bjj.inCurve(right)).to.be.true; - expect(bjj.eqPoints(left, right)).to.be.true; - }); - - test("0 * p = 1", () => { - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - const left = bjj.mulScalarPoint(0, p); - const right: Point = [bjj.element(0), bjj.element(1)]; - expect(bjj.inCurve(left)).to.be.true; - expect(bjj.inCurve(right)).to.be.true; - expect(bjj.eqPoints(left, right)).to.be.true; - }); - - test("p + p = 2 * p", () => { - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - const left = bjj.addPoints(p, p); - const right = bjj.mulScalarPoint(2, p); - expect(bjj.inCurve(left)).to.be.true; - expect(bjj.inCurve(right)).to.be.true; - expect(bjj.eqPoints(left, right)).to.be.true; - }); - - test("p + p + p = 3 * p", () => { - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - const left = bjj.addPoints(bjj.addPoints(p, p), p); - const right = bjj.mulScalarPoint(3, p); - expect(bjj.inCurve(left)).to.be.true; - expect(bjj.inCurve(right)).to.be.true; - expect(bjj.eqPoints(left, right)).to.be.true; - }); - - test("a * (p + q) = a * p + a * q", () => { - const a = bjj.sampleScalar(); - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - const q: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - const left = bjj.mulScalarPoint(a, bjj.addPoints(p, q)); - const right = bjj.addPoints( - bjj.mulScalarPoint(a, p), - bjj.mulScalarPoint(a, q), - ); - expect(bjj.inCurve(left)).to.be.true; - expect(bjj.inCurve(right)).to.be.true; - expect(bjj.eqPoints(left, right)).to.be.true; - }); - - test("(a + b) * p = a * p + b * p", () => { - const a = bjj.sampleScalar(); - const b = bjj.sampleScalar(); - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - const left = bjj.mulScalarPoint(a + b, p); - const right = bjj.addPoints( - bjj.mulScalarPoint(a, p), - bjj.mulScalarPoint(b, p), - ); - expect(bjj.inCurve(left)).to.be.true; - expect(bjj.inCurve(right)).to.be.true; - expect(bjj.eqPoints(left, right)).to.be.true; - }); - - test("p + -p = 0", () => { - const p: Point = bjj.mulScalarPoint(bjj.sampleScalar(), bjj.generator); - - const left = bjj.addPoints(p, bjj.negPoint(p)); - const right: Point = [bjj.element(0), bjj.element(1)]; - expect(bjj.inCurve(left)).to.be.true; - expect(bjj.inCurve(right)).to.be.true; - expect(bjj.eqPoints(left, right)).to.be.true; - }); -}); diff --git a/packages/zk-circuits/circuits/decrypt_card.circom b/packages/zk-deck/circuits/decrypt_card_share.circom similarity index 65% rename from packages/zk-circuits/circuits/decrypt_card.circom rename to packages/zk-deck/circuits/decrypt_card_share.circom index 02d760b..ae5c114 100644 --- a/packages/zk-circuits/circuits/decrypt_card.circom +++ b/packages/zk-deck/circuits/decrypt_card_share.circom @@ -1,5 +1,5 @@ pragma circom 2.0.0; -include "./templates/decrypt_card.circom"; +include "./templates/decrypt_card_share.circom"; component main { public[ publicKey, inputVector ] } = DecryptCard(); diff --git a/packages/zk-circuits/circuits/shuffle_encrypt_deck.circom b/packages/zk-deck/circuits/shuffle_encrypt_deck.circom similarity index 100% rename from packages/zk-circuits/circuits/shuffle_encrypt_deck.circom rename to packages/zk-deck/circuits/shuffle_encrypt_deck.circom diff --git a/packages/zk-circuits/circuits/templates/decrypt_card.circom b/packages/zk-deck/circuits/templates/decrypt_card_share.circom similarity index 81% rename from packages/zk-circuits/circuits/templates/decrypt_card.circom rename to packages/zk-deck/circuits/templates/decrypt_card_share.circom index 7e01a39..8ecdf0a 100644 --- a/packages/zk-circuits/circuits/templates/decrypt_card.circom +++ b/packages/zk-deck/circuits/templates/decrypt_card_share.circom @@ -15,19 +15,19 @@ template DecryptCard() { 16950150798460657717958625567821834550301663161624707787222815936182638968203 ]; - component secretKeyBits = Num2Bits(253); + component secretKeyBits = Num2Bits(254); secretKeyBits.in <== secretKey; - component multiplySecretKeyBase8 = EscalarMulFix(253, BASE8); - for (var i = 0; i < 253; i++) { + component multiplySecretKeyBase8 = EscalarMulFix(254, BASE8); + for (var i = 0; i < 254; i++) { multiplySecretKeyBase8.e[i] <== secretKeyBits.out[i]; } for (var i = 0; i < 2; i++) { multiplySecretKeyBase8.out[i] === publicKey[i]; } - component multiplySecretKeyInputVector = EscalarMulAny(253); - for (var i = 0; i < 253; i++) { + component multiplySecretKeyInputVector = EscalarMulAny(254); + for (var i = 0; i < 254; i++) { multiplySecretKeyInputVector.e[i] <== secretKeyBits.out[i]; } for (var i = 0; i < 2; i++) { diff --git a/packages/zk-circuits/circuits/templates/encrypt_card.circom b/packages/zk-deck/circuits/templates/encrypt_card.circom similarity index 87% rename from packages/zk-circuits/circuits/templates/encrypt_card.circom rename to packages/zk-deck/circuits/templates/encrypt_card.circom index ca35abc..016c3cb 100644 --- a/packages/zk-circuits/circuits/templates/encrypt_card.circom +++ b/packages/zk-deck/circuits/templates/encrypt_card.circom @@ -16,16 +16,16 @@ template EncryptCard() { 16950150798460657717958625567821834550301663161624707787222815936182638968203 ]; - component randomBits = Num2Bits(253); + component randomBits = Num2Bits(254); randomBits.in <== random; - component multiplyRandomBase8 = EscalarMulFix(253, BASE8); - for (var i = 0; i < 253; i++) { + component multiplyRandomBase8 = EscalarMulFix(254, BASE8); + for (var i = 0; i < 254; i++) { multiplyRandomBase8.e[i] <== randomBits.out[i]; } - component multiplyRandomPublicKey = EscalarMulAny(253); - for (var i = 0; i < 253; i++) { + component multiplyRandomPublicKey = EscalarMulAny(254); + for (var i = 0; i < 254; i++) { multiplyRandomPublicKey.e[i] <== randomBits.out[i]; } for (var i = 0; i < 2; i++) { diff --git a/packages/zk-circuits/circuits/templates/encrypt_deck.circom b/packages/zk-deck/circuits/templates/encrypt_deck.circom similarity index 100% rename from packages/zk-circuits/circuits/templates/encrypt_deck.circom rename to packages/zk-deck/circuits/templates/encrypt_deck.circom diff --git a/packages/zk-circuits/circuits/templates/multiply_matrix_vector.circom b/packages/zk-deck/circuits/templates/multiply_matrix_vector.circom similarity index 100% rename from packages/zk-circuits/circuits/templates/multiply_matrix_vector.circom rename to packages/zk-deck/circuits/templates/multiply_matrix_vector.circom diff --git a/packages/zk-circuits/circuits/templates/shuffle_deck.circom b/packages/zk-deck/circuits/templates/shuffle_deck.circom similarity index 100% rename from packages/zk-circuits/circuits/templates/shuffle_deck.circom rename to packages/zk-deck/circuits/templates/shuffle_deck.circom diff --git a/packages/zk-circuits/circuits/templates/shuffle_encrypt_deck.circom b/packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom similarity index 100% rename from packages/zk-circuits/circuits/templates/shuffle_encrypt_deck.circom rename to packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom diff --git a/packages/zk-circuits/circuits/templates/verify_permutation_matrix.circom b/packages/zk-deck/circuits/templates/verify_permutation_matrix.circom similarity index 100% rename from packages/zk-circuits/circuits/templates/verify_permutation_matrix.circom rename to packages/zk-deck/circuits/templates/verify_permutation_matrix.circom diff --git a/packages/zk-circuits/package.json b/packages/zk-deck/package.json similarity index 65% rename from packages/zk-circuits/package.json rename to packages/zk-deck/package.json index 014996f..6b7dcb6 100644 --- a/packages/zk-circuits/package.json +++ b/packages/zk-deck/package.json @@ -1,23 +1,23 @@ { - "name": "@jeton/zk-circuits", + "name": "@jeton/zk-deck", "version": "0.0.0", "private": true, "type": "module", "exports": { "shuffle-encrypt-deck.wasm": "./dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck_js/shuffle_encrypt_deck.wasm", - "decrypt-card.wasm": "./dist/circuits/decrypt_card/decrypt_card_js/decrypt_card.wasm", + "decrypt-share-card.wasm": "./dist/circuits/decrypt_card_share/decrypt_card_share_js/decrypt_card_share.wasm", "shuffle-encrypt-deck.zkey": "./dist/zkeys/shuffle_encrypt_deck.zkey", - "decrypt-card.zkey": "./dist/zkeys/decrypt_card.zkey", + "decrypt-share-card.zkey": "./dist/zkeys/decrypt_card_share.zkey", "shuffle-encrypt-deck-verification-key.json": "./dist/verification_keys/shuffle_encrypt_deck_verification_key.json", - "decrypt-card-verification-key.json": "./dist/verification_keys/decrypt_card_verification_key.json" + "decrypt-share-card-verification-key.json": "./dist/verification_keys/decrypt_card_share_verification_key.json" }, "scripts": { "circom:build:shuffle-encrypt-deck:mkdir": "mkdir -p dist/circuits/shuffle_encrypt_deck", "circom:build:shuffle-encrypt-deck:compile": "circom --r1cs --wasm --output dist/circuits/shuffle_encrypt_deck circuits/shuffle_encrypt_deck.circom", - "circom:build:decrypt-card:mkdir": "mkdir -p dist/circuits/decrypt_card", - "circom:build:decrypt-card:compile": "circom --r1cs --wasm --output dist/circuits/decrypt_card circuits/decrypt_card.circom", + "circom:build:decrypt-share-card:mkdir": "mkdir -p dist/circuits/decrypt_card_share", + "circom:build:decrypt-share-card:compile": "circom --r1cs --wasm --output dist/circuits/decrypt_card_share circuits/decrypt_card_share.circom", "circom:check:shuffle-encrypt-deck": "circom --inspect circuits/shuffle_encrypt_deck.circom", - "circom:check:decrypt-card": "circom --inspect circuits/decrypt_card.circom", + "circom:check:decrypt-share-card": "circom --inspect circuits/decrypt_card_share.circom", "snarkjs:build:powersoftau:pot18:mkdir": "mkdir -p dist/powersoftaus", "snarkjs:build:powersoftau:pot18:new": "snarkjs powersoftau new bn128 18 dist/powersoftaus/pot18_new.ptau", "snarkjs:build:powersoftau:pot18:contribute": "snarkjs powersoftau contribute dist/powersoftaus/pot18_new.ptau dist/powersoftaus/pot18_contribute.ptau -e='x9J$gyWEGjBfHqp@CLn2^2XjXzJWrEeyb9EmkJqr2Hos@zpZmEq3HFiC4M2XbvBL'", @@ -27,12 +27,12 @@ "snarkjs:build:zkey:shuffle-encrypt-deck:setup": "snarkjs groth16 setup dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck.r1cs dist/powersoftaus/pot18.ptau dist/zkeys/shuffle_encrypt_deck_setup.zkey", "snarkjs:build:zkey:shuffle-encrypt-deck:contribute": "snarkjs zkey contribute dist/zkeys/shuffle_encrypt_deck_setup.zkey dist/zkeys/shuffle_encrypt_deck_contribute.zkey -e='JS^dbdvBo!P8HxjCxKJrdwF!HadBxS!b&vJtknJe5nDcnnGL3eo498UQe6yv87TU'", "snarkjs:build:zkey:shuffle-encrypt-deck:beacon": "snarkjs zkey beacon dist/zkeys/shuffle_encrypt_deck_contribute.zkey dist/zkeys/shuffle_encrypt_deck.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", - "snarkjs:build:zkey:decrypt-card:setup": "snarkjs groth16 setup dist/circuits/decrypt_card/decrypt_card.r1cs dist/powersoftaus/pot18.ptau dist/zkeys/decrypt_card_setup.zkey", - "snarkjs:build:zkey:decrypt-card:contribute": "snarkjs zkey contribute dist/zkeys/decrypt_card_setup.zkey dist/zkeys/decrypt_card_contribute.zkey -e='ex#UciTJm^4$RebWxzrUK%9c#*4^KPE!VrxnaeoFhQb7aRojg@6n&hiCFWbG4$qB'", - "snarkjs:build:zkey:decrypt-card:beacon": "snarkjs zkey beacon dist/zkeys/decrypt_card_contribute.zkey dist/zkeys/decrypt_card.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", + "snarkjs:build:zkey:decrypt-share-card:setup": "snarkjs groth16 setup dist/circuits/decrypt_card_share/decrypt_card_share.r1cs dist/powersoftaus/pot18.ptau dist/zkeys/decrypt_card_share_setup.zkey", + "snarkjs:build:zkey:decrypt-share-card:contribute": "snarkjs zkey contribute dist/zkeys/decrypt_card_share_setup.zkey dist/zkeys/decrypt_card_share_contribute.zkey -e='ex#UciTJm^4$RebWxzrUK%9c#*4^KPE!VrxnaeoFhQb7aRojg@6n&hiCFWbG4$qB'", + "snarkjs:build:zkey:decrypt-share-card:beacon": "snarkjs zkey beacon dist/zkeys/decrypt_card_share_contribute.zkey dist/zkeys/decrypt_card_share.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", "snarkjs:build:verificationkey:mkdir": "mkdir -p dist/verification_keys", "snarkjs:build:verificationkey:shuffle-encrypt-deck": "snarkjs zkey export verificationkey dist/zkeys/shuffle_encrypt_deck.zkey dist/verification_keys/shuffle_encrypt_deck_verification_key.json", - "snarkjs:build:verificationkey:decrypt-card": "snarkjs zkey export verificationkey dist/zkeys/decrypt_card.zkey dist/verification_keys/decrypt_card_verification_key.json", + "snarkjs:build:verificationkey:decrypt-share-card": "snarkjs zkey export verificationkey dist/zkeys/decrypt_card_share.zkey dist/verification_keys/decrypt_card_share_verification_key.json", "typescript:build": "tsc", "mocha:test": "mocha src/**/*.test.ts" }, @@ -52,6 +52,8 @@ "snarkjs": "^0.7.4" }, "mocha": { - "loader": "ts-node/esm" + "loader": "ts-node/esm", + "timeout": "10000", + "exit": true } } diff --git a/packages/zk-circuits/src/ffjavascript.d.ts b/packages/zk-deck/src/ffjavascript.d.ts similarity index 100% rename from packages/zk-circuits/src/ffjavascript.d.ts rename to packages/zk-deck/src/ffjavascript.d.ts diff --git a/packages/zk-deck/src/permutation.ts b/packages/zk-deck/src/permutation.ts new file mode 100644 index 0000000..cb2672a --- /dev/null +++ b/packages/zk-deck/src/permutation.ts @@ -0,0 +1,29 @@ +export function samplePermutationVector(n: number): number[] { + const permutationVector = Array.from(new Array(n).keys()); + for (let i = permutationVector.length - 1; i > 0; i--) { + const j = Math.floor(Math.random() * (i + 1)); + [permutationVector[i], permutationVector[j]] = [ + permutationVector[j] as number, + permutationVector[i] as number, + ]; + } + return permutationVector; +} + +export function applyPermutationVector( + permutationVector: number[], + inputVector: T[], +): T[] { + return permutationVector.map((_, i) => inputVector[i] as T); +} + +export function createPermutationMatrix( + permutationVector: number[], +): number[][] { + const n = permutationVector.length; + return permutationVector.map((index) => { + const row = new Array(n).fill(0); + row[index] = 1; + return row; + }); +} diff --git a/packages/zk-deck/src/twisted_edwards_curve.test.ts b/packages/zk-deck/src/twisted_edwards_curve.test.ts new file mode 100644 index 0000000..68f109a --- /dev/null +++ b/packages/zk-deck/src/twisted_edwards_curve.test.ts @@ -0,0 +1,115 @@ +import { expect } from "chai"; +import { getCurveFromName } from "ffjavascript"; +import { before, describe, test } from "mocha"; + +import { TwistedEdwardsCurve } from "./twisted_edwards_curve.js"; + +describe("TwistedEdwardsCurve", () => { + let curve: TwistedEdwardsCurve; + before(async () => { + const bn128 = await getCurveFromName("bn128", true); + curve = new TwistedEdwardsCurve(bn128.Fr, "168700", "168696", [ + "5299619240641551281634865583518297030282874472190772894086521144482721001553", + "16950150798460657717958625567821834550301663161624707787222815936182638968203", + ]); + }); + + test("ap should be in curve", () => { + const a = curve.sampleScalar(); + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const ap = curve.mulScalarPoint(a, p); + expect(curve.inCurve(ap)).to.be.true; + }); + + test("p + q should be in curve", () => { + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + const q = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const s = curve.addPoints(p, q); + expect(curve.inCurve(s)).to.be.true; + }); + + test("p = p", () => { + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + expect(curve.eqPoints(p, p)).to.be.true; + }); + + test("p + q = q + p", () => { + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + const q = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const left = curve.addPoints(p, q); + const right = curve.addPoints(q, p); + expect(curve.inCurve(left)).to.be.true; + expect(curve.inCurve(right)).to.be.true; + expect(curve.eqPoints(left, right)).to.be.true; + }); + + test("0 * p = 1", () => { + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const left = curve.mulScalarPoint(0, p); + expect(curve.inCurve(left)).to.be.true; + expect(curve.eqPoints(left, curve.zero)).to.be.true; + }); + + test("p + p = 2 * p", () => { + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const left = curve.addPoints(p, p); + const right = curve.mulScalarPoint(2, p); + expect(curve.inCurve(left)).to.be.true; + expect(curve.inCurve(right)).to.be.true; + expect(curve.eqPoints(left, right)).to.be.true; + }); + + test("p + p + p = 3 * p", () => { + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const left = curve.addPoints(curve.addPoints(p, p), p); + const right = curve.mulScalarPoint(3, p); + expect(curve.inCurve(left)).to.be.true; + expect(curve.inCurve(right)).to.be.true; + expect(curve.eqPoints(left, right)).to.be.true; + }); + + test("a * (p + q) = a * p + a * q", () => { + const a = curve.sampleScalar(); + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + const q = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const left = curve.mulScalarPoint(a, curve.addPoints(p, q)); + const right = curve.addPoints( + curve.mulScalarPoint(a, p), + curve.mulScalarPoint(a, q), + ); + expect(curve.inCurve(left)).to.be.true; + expect(curve.inCurve(right)).to.be.true; + expect(curve.eqPoints(left, right)).to.be.true; + }); + + test("(a + b) * p = a * p + b * p", () => { + const a = curve.sampleScalar(); + const b = curve.sampleScalar(); + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const left = curve.mulScalarPoint(a + b, p); + const right = curve.addPoints( + curve.mulScalarPoint(a, p), + curve.mulScalarPoint(b, p), + ); + expect(curve.inCurve(left)).to.be.true; + expect(curve.inCurve(right)).to.be.true; + expect(curve.eqPoints(left, right)).to.be.true; + }); + + test("p + -p = 0", () => { + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const left = curve.addPoints(p, curve.negPoint(p)); + expect(curve.inCurve(left)).to.be.true; + expect(curve.eqPoints(left, curve.zero)).to.be.true; + }); +}); diff --git a/packages/zk-circuits/src/babyjubjub.ts b/packages/zk-deck/src/twisted_edwards_curve.ts similarity index 67% rename from packages/zk-circuits/src/babyjubjub.ts rename to packages/zk-deck/src/twisted_edwards_curve.ts index c993e43..8c37779 100644 --- a/packages/zk-circuits/src/babyjubjub.ts +++ b/packages/zk-deck/src/twisted_edwards_curve.ts @@ -1,33 +1,25 @@ -import { - type Field, - type FieldElement, - Scalar, - getCurveFromName, -} from "ffjavascript"; +import { type Field, type FieldElement, Scalar } from "ffjavascript"; export type Point = [FieldElement, FieldElement]; -export class BabyJubJub { - readonly field: Field; - readonly generator: Point; +export class TwistedEdwardsCurve { readonly edwardsA: FieldElement; readonly edwardsD: FieldElement; - - constructor(field: Field) { - this.field = field; - this.edwardsA = this.element("168700"); - this.edwardsD = this.element("168696"); - this.generator = [ - this.element( - "5299619240641551281634865583518297030282874472190772894086521144482721001553", - ), - this.element( - "16950150798460657717958625567821834550301663161624707787222815936182638968203", - ), - ]; + readonly generator: Point; + readonly zero: Point; + constructor( + readonly field: Field, + edwardsA: string, + edwardsD: string, + generator: [string, string], + ) { + this.edwardsA = this.element(edwardsA); + this.edwardsD = this.element(edwardsD); + this.generator = this.point(generator); + this.zero = this.point([0, 1]); } - public element(v: string | bigint | number | FieldElement): FieldElement { + public element(v: string | bigint | number): FieldElement { return this.field.e(v); } @@ -35,6 +27,17 @@ export class BabyJubJub { return this.field.toString(e); } + public point([x, y]: + | [string, string] + | [bigint, bigint] + | [number, number]): Point { + return [this.element(x), this.element(y)]; + } + + public pointToStringTuple(p: Point): [string, string] { + return [this.elementToString(p[0]), this.elementToString(p[1])]; + } + public sampleScalar(): bigint { return this.field.toObject(this.field.random()); } @@ -77,7 +80,7 @@ export class BabyJubJub { public mulScalarPoint(s: string | bigint | number, p: Point): Point { const f = this.field; - let acc: Point = [this.element("0"), this.element("1")]; + let acc: Point = this.zero; let rem = Scalar.e(s); let exp: Point = p; while (!Scalar.isZero(rem)) { @@ -90,8 +93,3 @@ export class BabyJubJub { return acc; } } - -export default async function createBabyJubJub(): Promise { - const curve = await getCurveFromName("bn128", true); - return new BabyJubJub(curve.Fr); -} diff --git a/packages/zk-circuits/tsconfig.json b/packages/zk-deck/tsconfig.json similarity index 100% rename from packages/zk-circuits/tsconfig.json rename to packages/zk-deck/tsconfig.json diff --git a/packages/zk-circuits/turbo.json b/packages/zk-deck/turbo.json similarity index 71% rename from packages/zk-circuits/turbo.json rename to packages/zk-deck/turbo.json index 26aea1b..0be9b8b 100644 --- a/packages/zk-circuits/turbo.json +++ b/packages/zk-deck/turbo.json @@ -14,7 +14,7 @@ "circom:build": { "dependsOn": [ "circom:build:shuffle-encrypt-deck", - "circom:build:decrypt-card" + "circom:build:decrypt-share-card" ] }, "circom:build:shuffle-encrypt-deck": { @@ -35,20 +35,20 @@ ], "outputs": ["dist/circuits/shuffle_encrypt_deck/**"] }, - "circom:build:decrypt-card": { + "circom:build:decrypt-share-card": { "dependsOn": [ - "circom:build:decrypt-card:mkdir", - "circom:build:decrypt-card:compile" + "circom:build:decrypt-share-card:mkdir", + "circom:build:decrypt-share-card:compile" ] }, - "circom:build:decrypt-card:mkdir": { + "circom:build:decrypt-share-card:mkdir": { "inputs": [], - "outputs": ["dist/circuits/decrypt_card"] + "outputs": ["dist/circuits/decrypt_card_share"] }, - "circom:build:decrypt-card:compile": { - "dependsOn": ["circom:build:decrypt-card:mkdir"], - "inputs": ["circuits/decrypt_card.circom", "circuits/templates/**"], - "outputs": ["dist/circuits/decrypt_card/**"] + "circom:build:decrypt-share-card:compile": { + "dependsOn": ["circom:build:decrypt-share-card:mkdir"], + "inputs": ["circuits/decrypt_card_share.circom", "circuits/templates/**"], + "outputs": ["dist/circuits/decrypt_card_share/**"] }, "circom:check:shuffle-encrypt-deck": { "inputs": [ @@ -59,11 +59,11 @@ "circom:check": { "dependsOn": [ "circom:check:shuffle-encrypt-deck", - "circom:check:decrypt-card" + "circom:check:decrypt-share-card" ] }, - "circom:check:decrypt-card": { - "inputs": ["circuits/decrypt_card.circom", "circuits/templates/**"] + "circom:check:decrypt-share-card": { + "inputs": ["circuits/decrypt_card_share.circom", "circuits/templates/**"] }, "snarkjs:build": { "dependsOn": ["snarkjs:build:zkey", "snarkjs:build:verificationkey"] @@ -110,7 +110,7 @@ "dependsOn": [ "snarkjs:build:zkey:mkdir", "snarkjs:build:zkey:shuffle-encrypt-deck", - "snarkjs:build:zkey:decrypt-card" + "snarkjs:build:zkey:decrypt-share-card" ] }, "snarkjs:build:zkey:mkdir": { @@ -145,36 +145,39 @@ "inputs": ["dist/zkeys/shuffle_encrypt_deck_contribute.zkey"], "outputs": ["dist/zkeys/shuffle_encrypt_deck.zkey"] }, - "snarkjs:build:zkey:decrypt-card": { + "snarkjs:build:zkey:decrypt-share-card": { "dependsOn": [ - "snarkjs:build:zkey:decrypt-card:setup", - "snarkjs:build:zkey:decrypt-card:contribute", - "snarkjs:build:zkey:decrypt-card:beacon" + "snarkjs:build:zkey:decrypt-share-card:setup", + "snarkjs:build:zkey:decrypt-share-card:contribute", + "snarkjs:build:zkey:decrypt-share-card:beacon" ] }, - "snarkjs:build:zkey:decrypt-card:setup": { - "dependsOn": ["snarkjs:build:zkey:mkdir", "circom:build:decrypt-card"], + "snarkjs:build:zkey:decrypt-share-card:setup": { + "dependsOn": [ + "snarkjs:build:zkey:mkdir", + "circom:build:decrypt-share-card" + ], "inputs": [ - "dist/circuits/decrypt_card/decrypt_card.r1cs", + "dist/circuits/decrypt_card_share/decrypt_card_share.r1cs", "dist/powersoftaus/pot18.ptau" ], - "outputs": ["dist/zkeys/decrypt_card_setup.zkey"] + "outputs": ["dist/zkeys/decrypt_card_share_setup.zkey"] }, - "snarkjs:build:zkey:decrypt-card:contribute": { - "dependsOn": ["snarkjs:build:zkey:decrypt-card:setup"], - "inputs": ["dist/zkeys/decrypt_card_setup.zkey"], - "outputs": ["dist/zkeys/decrypt_card_contribute.zkey"] + "snarkjs:build:zkey:decrypt-share-card:contribute": { + "dependsOn": ["snarkjs:build:zkey:decrypt-share-card:setup"], + "inputs": ["dist/zkeys/decrypt_card_share_setup.zkey"], + "outputs": ["dist/zkeys/decrypt_card_share_contribute.zkey"] }, - "snarkjs:build:zkey:decrypt-card:beacon": { - "dependsOn": ["snarkjs:build:zkey:decrypt-card:contribute"], - "inputs": ["dist/zkeys/decrypt_card_contribute.zkey"], - "outputs": ["dist/zkeys/decrypt_card.zkey"] + "snarkjs:build:zkey:decrypt-share-card:beacon": { + "dependsOn": ["snarkjs:build:zkey:decrypt-share-card:contribute"], + "inputs": ["dist/zkeys/decrypt_card_share_contribute.zkey"], + "outputs": ["dist/zkeys/decrypt_card_share.zkey"] }, "snarkjs:build:verificationkey": { "dependsOn": [ "snarkjs:build:verificationkey:mkdir", "snarkjs:build:verificationkey:shuffle-encrypt-deck", - "snarkjs:build:verificationkey:decrypt-card" + "snarkjs:build:verificationkey:decrypt-share-card" ] }, "snarkjs:build:verificationkey:mkdir": { @@ -191,20 +194,23 @@ "dist/verification_keys/shuffle_encrypt_deck_verification_key.json" ] }, - "snarkjs:build:verificationkey:decrypt-card": { + "snarkjs:build:verificationkey:decrypt-share-card": { "dependsOn": [ "snarkjs:build:verificationkey:mkdir", - "snarkjs:build:zkey:decrypt-card" + "snarkjs:build:zkey:decrypt-share-card" ], - "inputs": ["dist/zkeys/decrypt_card_contribute.zkey"], - "outputs": ["dist/verification_keys/decrypt_card_verification_key.json"] + "inputs": ["dist/zkeys/decrypt_card_share_contribute.zkey"], + "outputs": [ + "dist/verification_keys/decrypt_card_share_verification_key.json" + ] }, "typescript:build": { + "dependsOn": ["snarkjs:build"], "inputs": ["src/**", "tsconfig.json"], "outputs": ["dist/src/**", "dist/tests/**"] }, "mocha:test": { - "dependsOn": ["build"], + "dependsOn": ["circom:build", "snarkjs:build"], "inputs": ["src/**"] } } From d1e7e020e6ca2d43b8d60bbc32599429ab4dd1ce Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Tue, 3 Sep 2024 14:00:11 +0330 Subject: [PATCH 03/10] Implement ZKDeck in ts --- packages/zk-deck/package.json | 2 +- packages/zk-deck/src/index.test.ts | 158 ++++++++++++++++++++ packages/zk-deck/src/index.ts | 226 +++++++++++++++++++++++++++++ 3 files changed, 385 insertions(+), 1 deletion(-) create mode 100644 packages/zk-deck/src/index.test.ts create mode 100644 packages/zk-deck/src/index.ts diff --git a/packages/zk-deck/package.json b/packages/zk-deck/package.json index 6b7dcb6..f38205f 100644 --- a/packages/zk-deck/package.json +++ b/packages/zk-deck/package.json @@ -53,7 +53,7 @@ }, "mocha": { "loader": "ts-node/esm", - "timeout": "10000", + "timeout": "20000", "exit": true } } diff --git a/packages/zk-deck/src/index.test.ts b/packages/zk-deck/src/index.test.ts new file mode 100644 index 0000000..296ab25 --- /dev/null +++ b/packages/zk-deck/src/index.test.ts @@ -0,0 +1,158 @@ +import { expect } from "chai"; +import { before, describe, test } from "mocha"; + +import { + type EncryptedDeck, + type ZKDeck, + createZKDeck, + numCards, +} from "./index.js"; +import { + applyPermutationVector, + samplePermutationVector, +} from "./permutation.js"; + +describe("ZKDeck", () => { + let zkdeck: ZKDeck; + before(async () => { + zkdeck = await createZKDeck( + "dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck_js/shuffle_encrypt_deck.wasm", + "dist/zkeys/shuffle_encrypt_deck.zkey", + "dist/circuits/decrypt_card_share/decrypt_card_share_js/decrypt_card_share.wasm", + "dist/zkeys/decrypt_card_share.zkey", + ); + }); + + test("should prove and verify shuffle_encrypt_deck", async () => { + const aggregatedPublicKey = zkdeck.generateAggregatedPublicKey( + new Array(5) + .fill(undefined) + .map((_) => zkdeck.generatePublicKey(zkdeck.sampleSecretKey())), + ); + const inDeck: EncryptedDeck = new Array(numCards) + .fill(undefined) + .map((_) => [ + ...zkdeck.curve.pointToStringTuple( + zkdeck.curve.mulScalarPoint( + zkdeck.curve.sampleScalar(), + zkdeck.curve.generator, + ), + ), + ...zkdeck.curve.pointToStringTuple( + zkdeck.curve.mulScalarPoint( + zkdeck.curve.sampleScalar(), + zkdeck.curve.generator, + ), + ), + ]); + const permutationVector = samplePermutationVector(numCards); + const randomVector = new Array(numCards) + .fill(undefined) + .map((_) => zkdeck.curve.sampleScalar()); + const { proof, deck } = await zkdeck.proveShuffleEncryptDeck( + aggregatedPublicKey, + inDeck, + permutationVector, + randomVector, + ); + expect( + await zkdeck.verifyShuffleEncryptDeck( + proof, + aggregatedPublicKey, + inDeck, + deck, + ), + ).to.be.true; + expect(deck).to.deep.equal( + zkdeck.shuffleEncryptDeck( + aggregatedPublicKey, + inDeck, + permutationVector, + randomVector, + ), + ); + }); + + test("should prove and verify decrypt_card_share", async () => { + const secretKey = zkdeck.sampleSecretKey(); + const publicKey = zkdeck.generatePublicKey(secretKey); + const cardIndex = 50; + const inDeck: EncryptedDeck = new Array(numCards) + .fill(undefined) + .map((_) => [ + ...zkdeck.curve.pointToStringTuple( + zkdeck.curve.mulScalarPoint( + zkdeck.curve.sampleScalar(), + zkdeck.curve.generator, + ), + ), + ...zkdeck.curve.pointToStringTuple( + zkdeck.curve.mulScalarPoint( + zkdeck.curve.sampleScalar(), + zkdeck.curve.generator, + ), + ), + ]); + const { proof, decryptCardShare } = await zkdeck.proveDecryptCardShare( + secretKey, + cardIndex, + inDeck, + ); + expect( + await zkdeck.verifyDecryptCardShare( + proof, + publicKey, + cardIndex, + inDeck, + decryptCardShare, + ), + ).to.be.true; + expect(decryptCardShare).to.deep.equal( + zkdeck.decryptCardShare(secretKey, cardIndex, inDeck), + ); + }); + + test("cards should have correct order after shuffle_encrypt and decrypt", async () => { + const numPlayers = 3; + const secretKeys = new Array(numPlayers) + .fill(undefined) + .map((_) => zkdeck.sampleSecretKey()); + const aggregatedPublicKey = zkdeck.generateAggregatedPublicKey( + secretKeys.map((secretKey) => zkdeck.generatePublicKey(secretKey)), + ); + const permutationVectors = new Array(numPlayers) + .fill(undefined) + .map((_) => samplePermutationVector(numCards)); + let encryptedDeck = zkdeck.initialEncryptedDeck; + for (let i = 0; i < numPlayers; i++) { + encryptedDeck = await zkdeck + .proveShuffleEncryptDeck( + aggregatedPublicKey, + encryptedDeck, + permutationVectors[i], + ) + .then(({ deck }) => deck); + } + + const deck = await Promise.all( + Array.from(new Array(numCards).keys()).map(async (cardIndex) => { + const shares = await Promise.all( + secretKeys.map((secretKeys) => + zkdeck + .proveDecryptCardShare(secretKeys, cardIndex, encryptedDeck) + .then(({ decryptCardShare }) => decryptCardShare), + ), + ); + return zkdeck.decryptCard(cardIndex, encryptedDeck, shares); + }), + ); + + expect(deck).to.deep.equal( + permutationVectors.reduce( + (deck, permutationVector) => + applyPermutationVector(permutationVector, deck), + Array.from(new Array(numCards).keys()), + ), + ); + }).timeout(5 * 60 * 1000); +}); diff --git a/packages/zk-deck/src/index.ts b/packages/zk-deck/src/index.ts new file mode 100644 index 0000000..5031d2d --- /dev/null +++ b/packages/zk-deck/src/index.ts @@ -0,0 +1,226 @@ +import { getCurveFromName } from "ffjavascript"; +import { type Groth16Proof, groth16 } from "snarkjs"; + +import { + applyPermutationVector, + createPermutationMatrix, + samplePermutationVector, +} from "./permutation.js"; +import { TwistedEdwardsCurve } from "./twisted_edwards_curve.js"; + +import decryptCardShareVerificationKey from "../dist/verification_keys/decrypt_card_share_verification_key.json" with { + type: "json", +}; +import shuffleEncryptDeckVerificationKey from "../dist/verification_keys/shuffle_encrypt_deck_verification_key.json" with { + type: "json", +}; + +export const numCards = 52; + +export type SecretKey = bigint; +export type PublicKey = [string, string]; +export type AggregatedPublicKey = [string, string]; + +export type EncryptedCard = [string, string, string, string]; +export type EncryptedDeck = EncryptedCard[]; +export type DecryptCardShare = [string, string]; + +export class ZKDeck { + readonly initialEncryptedDeck: EncryptedDeck; + constructor( + readonly curve: TwistedEdwardsCurve, + readonly shuffleEncryptDeckWasm: string, + readonly shuffleEncryptDeckZkey: string, + readonly decryptCardShareWasm: string, + readonly decryptCardShareZkey: string, + ) { + this.initialEncryptedDeck = Array.from(new Array(numCards).keys()).map( + (i) => + [ + ...this.curve.pointToStringTuple(this.curve.zero), + ...this.curve.pointToStringTuple( + this.curve.mulScalarPoint(i + 1, this.curve.generator), + ), + ] as EncryptedCard, + ); + } + + public sampleSecretKey(): SecretKey { + return this.curve.sampleScalar(); + } + + public generatePublicKey(secretKey: SecretKey): PublicKey { + const p = this.curve.mulScalarPoint(secretKey, this.curve.generator); + return [this.curve.field.toString(p[0]), this.curve.field.toString(p[1])]; + } + + public generateAggregatedPublicKey( + publicKeys: PublicKey[], + ): AggregatedPublicKey { + const p = publicKeys.reduce( + (acc, pk) => this.curve.addPoints(acc, this.curve.point(pk)), + this.curve.zero, + ); + return this.curve.pointToStringTuple(p); + } + + public shuffleEncryptDeck( + aggregatedPublicKey: AggregatedPublicKey, + deck: EncryptedDeck, + permutationVector?: number[], + randomVector?: bigint[], + ): EncryptedDeck { + return applyPermutationVector( + permutationVector || samplePermutationVector(numCards), + deck, + ).map((card, i) => { + const r = randomVector?.at(i) || this.curve.sampleScalar(); + const c1 = this.curve.addPoints( + this.curve.point([card[0], card[1]]), + this.curve.mulScalarPoint(r, this.curve.generator), + ); + const c2 = this.curve.addPoints( + this.curve.point([card[2], card[3]]), + this.curve.mulScalarPoint(r, this.curve.point(aggregatedPublicKey)), + ); + return [ + ...this.curve.pointToStringTuple(c1), + ...this.curve.pointToStringTuple(c2), + ]; + }); + } + + public async proveShuffleEncryptDeck( + aggregatedPublicKey: AggregatedPublicKey, + deck: EncryptedDeck, + permutationVector?: number[], + randomVector?: bigint[], + ): Promise<{ proof: Groth16Proof; deck: EncryptedDeck }> { + const { proof, publicSignals } = await groth16.fullProve( + { + permutationMatrix: createPermutationMatrix( + permutationVector || samplePermutationVector(numCards), + ), + aggregatedPublicKey, + randomVector: + randomVector || + new Array(numCards) + .fill(undefined) + .map((_) => this.curve.sampleScalar()), + inputDeck: deck, + }, + this.shuffleEncryptDeckWasm, + this.shuffleEncryptDeckZkey, + ); + return { + proof, + deck: Array.from(new Array(numCards).keys()).map( + (i) => publicSignals.slice(4 * i, 4 * i + 4) as EncryptedCard, + ), + }; + } + + public async verifyShuffleEncryptDeck( + proof: Groth16Proof, + aggregatedPublicKey: AggregatedPublicKey, + inDeck: EncryptedDeck, + outDeck: EncryptedDeck, + ): Promise { + return groth16.verify( + shuffleEncryptDeckVerificationKey, + [...outDeck.flat(), ...aggregatedPublicKey, ...inDeck.flat()], + proof, + ); + } + + public decryptCardShare( + secretKey: SecretKey, + cardIndex: number, + deck: EncryptedDeck, + ): DecryptCardShare { + const c1 = this.curve.point( + deck[cardIndex]?.slice(0, 2) as [string, string], + ); + return this.curve.pointToStringTuple( + this.curve.mulScalarPoint(secretKey, c1), + ); + } + + public async proveDecryptCardShare( + secretKey: SecretKey, + cardIndex: number, + deck: EncryptedDeck, + ): Promise<{ proof: Groth16Proof; decryptCardShare: DecryptCardShare }> { + const publicKey = this.generatePublicKey(secretKey); + const inputVector = deck[cardIndex]?.slice(0, 2) as [string, string]; + const { proof, publicSignals } = await groth16.fullProve( + { + secretKey, + publicKey, + inputVector, + }, + this.decryptCardShareWasm, + this.decryptCardShareZkey, + ); + const decryptCardShare = publicSignals.slice(0, 2) as DecryptCardShare; + return { proof, decryptCardShare }; + } + + public async verifyDecryptCardShare( + proof: Groth16Proof, + publicKey: PublicKey, + cardIndex: number, + deck: EncryptedDeck, + decryptCardShare: DecryptCardShare, + ): Promise { + return groth16.verify( + decryptCardShareVerificationKey, + [ + ...decryptCardShare, + ...publicKey, + ...(deck[cardIndex]?.slice(0, 2) as [string, string]), + ], + proof, + ); + } + + public decryptCard( + cardIndex: number, + deck: EncryptedDeck, + decryptCardShares: DecryptCardShare[], + ): number { + const sum = decryptCardShares.reduce( + (acc, ds) => this.curve.addPoints(acc, this.curve.point(ds)), + this.curve.zero, + ); + const result = this.curve.pointToStringTuple( + this.curve.addPoints( + this.curve.point(deck[cardIndex]?.slice(2, 4) as [string, string]), + this.curve.negPoint(sum), + ), + ); + return this.initialEncryptedDeck.findIndex( + (card) => card[2] === result[0] && card[3] === result[1], + ); + } +} + +export async function createZKDeck( + shuffleEncryptDeckWasm: string, + shuffleEncryptDeckZkey: string, + decryptCardShareWasm: string, + decryptCardShareZkey: string, +): Promise { + const bn128 = await getCurveFromName("bn128", true); + const curve = new TwistedEdwardsCurve(bn128.Fr, "168700", "168696", [ + "5299619240641551281634865583518297030282874472190772894086521144482721001553", + "16950150798460657717958625567821834550301663161624707787222815936182638968203", + ]); + return new ZKDeck( + curve, + shuffleEncryptDeckWasm, + shuffleEncryptDeckZkey, + decryptCardShareWasm, + decryptCardShareZkey, + ); +} From 5ca1ebb51e4c07eab04ff8449aead440eb6db901 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Wed, 4 Sep 2024 13:10:12 +0330 Subject: [PATCH 04/10] Fix sampleScalar issue --- packages/zk-deck/src/ffjavascript.d.ts | 9 ++-- packages/zk-deck/src/index.ts | 12 +++--- .../zk-deck/src/twisted_edwards_curve.test.ts | 22 ++++++---- packages/zk-deck/src/twisted_edwards_curve.ts | 41 ++++++++++++++++--- 4 files changed, 58 insertions(+), 26 deletions(-) diff --git a/packages/zk-deck/src/ffjavascript.d.ts b/packages/zk-deck/src/ffjavascript.d.ts index 3f52b10..64d811d 100644 --- a/packages/zk-deck/src/ffjavascript.d.ts +++ b/packages/zk-deck/src/ffjavascript.d.ts @@ -1,11 +1,10 @@ declare module "ffjavascript" { - export type ScalarElement = Record; export type Scalar = { - e(v: bigint | string | number | ScalarElement): ScalarElement; - isZero(e: ScalarElement): boolean; - isOdd(e: ScalarElement): boolean; + isZero(e: bigint): boolean; + isOdd(e: bigint): boolean; - shiftRight(e: ScalarElement, n: number): ScalarElement; + bitLength(e: bigint): number; + shiftRight(e: bigint, n: number): bigint; }; export const Scalar: Scalar; diff --git a/packages/zk-deck/src/index.ts b/packages/zk-deck/src/index.ts index 5031d2d..58fe3c3 100644 --- a/packages/zk-deck/src/index.ts +++ b/packages/zk-deck/src/index.ts @@ -1,4 +1,3 @@ -import { getCurveFromName } from "ffjavascript"; import { type Groth16Proof, groth16 } from "snarkjs"; import { @@ -6,7 +5,10 @@ import { createPermutationMatrix, samplePermutationVector, } from "./permutation.js"; -import { TwistedEdwardsCurve } from "./twisted_edwards_curve.js"; +import { + type TwistedEdwardsCurve, + createBabyJubJub, +} from "./twisted_edwards_curve.js"; import decryptCardShareVerificationKey from "../dist/verification_keys/decrypt_card_share_verification_key.json" with { type: "json", @@ -211,11 +213,7 @@ export async function createZKDeck( decryptCardShareWasm: string, decryptCardShareZkey: string, ): Promise { - const bn128 = await getCurveFromName("bn128", true); - const curve = new TwistedEdwardsCurve(bn128.Fr, "168700", "168696", [ - "5299619240641551281634865583518297030282874472190772894086521144482721001553", - "16950150798460657717958625567821834550301663161624707787222815936182638968203", - ]); + const curve = await createBabyJubJub(); return new ZKDeck( curve, shuffleEncryptDeckWasm, diff --git a/packages/zk-deck/src/twisted_edwards_curve.test.ts b/packages/zk-deck/src/twisted_edwards_curve.test.ts index 68f109a..da55168 100644 --- a/packages/zk-deck/src/twisted_edwards_curve.test.ts +++ b/packages/zk-deck/src/twisted_edwards_curve.test.ts @@ -1,17 +1,15 @@ import { expect } from "chai"; -import { getCurveFromName } from "ffjavascript"; import { before, describe, test } from "mocha"; -import { TwistedEdwardsCurve } from "./twisted_edwards_curve.js"; +import { + type TwistedEdwardsCurve, + createBabyJubJub, +} from "./twisted_edwards_curve.js"; describe("TwistedEdwardsCurve", () => { let curve: TwistedEdwardsCurve; before(async () => { - const bn128 = await getCurveFromName("bn128", true); - curve = new TwistedEdwardsCurve(bn128.Fr, "168700", "168696", [ - "5299619240641551281634865583518297030282874472190772894086521144482721001553", - "16950150798460657717958625567821834550301663161624707787222815936182638968203", - ]); + curve = await createBabyJubJub(); }); test("ap should be in curve", () => { @@ -95,7 +93,7 @@ describe("TwistedEdwardsCurve", () => { const b = curve.sampleScalar(); const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); - const left = curve.mulScalarPoint(a + b, p); + const left = curve.mulScalarPoint((a + b) % curve.order, p); const right = curve.addPoints( curve.mulScalarPoint(a, p), curve.mulScalarPoint(b, p), @@ -112,4 +110,12 @@ describe("TwistedEdwardsCurve", () => { expect(curve.inCurve(left)).to.be.true; expect(curve.eqPoints(left, curve.zero)).to.be.true; }); + + test("order * p = 0", () => { + const p = curve.mulScalarPoint(curve.sampleScalar(), curve.generator); + + const left = curve.mulScalarPoint(curve.order, p); + expect(curve.inCurve(left)).to.be.true; + expect(curve.eqPoints(left, curve.zero)).to.be.true; + }); }); diff --git a/packages/zk-deck/src/twisted_edwards_curve.ts b/packages/zk-deck/src/twisted_edwards_curve.ts index 8c37779..b487b85 100644 --- a/packages/zk-deck/src/twisted_edwards_curve.ts +++ b/packages/zk-deck/src/twisted_edwards_curve.ts @@ -1,20 +1,28 @@ -import { type Field, type FieldElement, Scalar } from "ffjavascript"; +import { + type Field, + type FieldElement, + Scalar, + getCurveFromName, +} from "ffjavascript"; export type Point = [FieldElement, FieldElement]; export class TwistedEdwardsCurve { readonly edwardsA: FieldElement; readonly edwardsD: FieldElement; + readonly order: bigint; readonly generator: Point; readonly zero: Point; constructor( readonly field: Field, - edwardsA: string, - edwardsD: string, - generator: [string, string], + edwardsA: string | bigint | number, + edwardsD: string | bigint | number, + order: string | bigint | number, + generator: [string, string] | [bigint, bigint] | [number, number], ) { this.edwardsA = this.element(edwardsA); this.edwardsD = this.element(edwardsD); + this.order = BigInt(order); this.generator = this.point(generator); this.zero = this.point([0, 1]); } @@ -39,7 +47,14 @@ export class TwistedEdwardsCurve { } public sampleScalar(): bigint { - return this.field.toObject(this.field.random()); + const numBits = Scalar.bitLength(this.order); + const buffer = new Uint8Array(Math.ceil(numBits / 8)); + let sample: bigint; + do { + crypto.getRandomValues(buffer); + sample = buffer.reduce((acc, byte) => acc * 256n + BigInt(byte), 0n); + } while (sample >= this.order); + return sample; } public inCurve(p: Point): boolean { @@ -81,7 +96,7 @@ export class TwistedEdwardsCurve { public mulScalarPoint(s: string | bigint | number, p: Point): Point { const f = this.field; let acc: Point = this.zero; - let rem = Scalar.e(s); + let rem = BigInt(s); let exp: Point = p; while (!Scalar.isZero(rem)) { if (Scalar.isOdd(rem)) { @@ -93,3 +108,17 @@ export class TwistedEdwardsCurve { return acc; } } + +export async function createBabyJubJub(): Promise { + const bn128 = await getCurveFromName("bn128", true); + return new TwistedEdwardsCurve( + bn128.Fr, + 168700n, + 168696n, + 2736030358979909402780800718157159386076813972158567259200215660948447373041n, + [ + 5299619240641551281634865583518297030282874472190772894086521144482721001553n, + 16950150798460657717958625567821834550301663161624707787222815936182638968203n, + ], + ); +} From 4be6befef5bf84167761258751803e1d13e4aa3e Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Wed, 4 Sep 2024 15:49:18 +0330 Subject: [PATCH 05/10] Refactor secretKey and randomVector to bits form for circuits --- .../circuits/decrypt_card_share.circom | 2 +- .../circuits/shuffle_encrypt_deck.circom | 2 +- .../templates/decrypt_card_share.circom | 32 +++++++------- .../circuits/templates/encrypt_card.circom | 44 +++++++++---------- .../circuits/templates/encrypt_deck.circom | 22 +++++----- .../circuits/templates/shuffle_deck.circom | 22 +++++----- .../templates/shuffle_encrypt_deck.circom | 28 ++++++------ packages/zk-deck/src/ffjavascript.d.ts | 1 + packages/zk-deck/src/index.test.ts | 8 ++-- packages/zk-deck/src/index.ts | 43 +++++++++++------- packages/zk-deck/src/permutation.ts | 2 +- 11 files changed, 112 insertions(+), 94 deletions(-) diff --git a/packages/zk-deck/circuits/decrypt_card_share.circom b/packages/zk-deck/circuits/decrypt_card_share.circom index ae5c114..0b31ec6 100644 --- a/packages/zk-deck/circuits/decrypt_card_share.circom +++ b/packages/zk-deck/circuits/decrypt_card_share.circom @@ -2,4 +2,4 @@ pragma circom 2.0.0; include "./templates/decrypt_card_share.circom"; -component main { public[ publicKey, inputVector ] } = DecryptCard(); +component main { public[ publicKey, inputPoint ] } = DecryptCardShare(251); diff --git a/packages/zk-deck/circuits/shuffle_encrypt_deck.circom b/packages/zk-deck/circuits/shuffle_encrypt_deck.circom index de12147..e671bef 100644 --- a/packages/zk-deck/circuits/shuffle_encrypt_deck.circom +++ b/packages/zk-deck/circuits/shuffle_encrypt_deck.circom @@ -2,4 +2,4 @@ pragma circom 2.0.0; include "./templates/shuffle_encrypt_deck.circom"; -component main { public[ aggregatedPublicKey, inputDeck ] } = ShuffleEncryptDeck(52); +component main { public[ aggregatedPublicKey, inputDeck ] } = ShuffleEncryptDeck(52, 251); diff --git a/packages/zk-deck/circuits/templates/decrypt_card_share.circom b/packages/zk-deck/circuits/templates/decrypt_card_share.circom index 8ecdf0a..4022605 100644 --- a/packages/zk-deck/circuits/templates/decrypt_card_share.circom +++ b/packages/zk-deck/circuits/templates/decrypt_card_share.circom @@ -1,39 +1,39 @@ pragma circom 2.0.0; -include "../../../../node_modules/circomlib/circuits/bitify.circom"; include "../../../../node_modules/circomlib/circuits/escalarmulany.circom"; include "../../../../node_modules/circomlib/circuits/escalarmulfix.circom"; -template DecryptCard() { - signal input secretKey; +template DecryptCardShare(numBits) { + signal input secretKeyBits[numBits]; signal input publicKey[2]; - signal input inputVector[2]; - signal output outputVector[2]; + signal input inputPoint[2]; + signal output outputPoint[2]; var BASE8[2] = [ 5299619240641551281634865583518297030282874472190772894086521144482721001553, 16950150798460657717958625567821834550301663161624707787222815936182638968203 ]; - component secretKeyBits = Num2Bits(254); - secretKeyBits.in <== secretKey; - - component multiplySecretKeyBase8 = EscalarMulFix(254, BASE8); - for (var i = 0; i < 254; i++) { - multiplySecretKeyBase8.e[i] <== secretKeyBits.out[i]; + for (var i = 0; i < numBits; i++) { + secretKeyBits[i] * (secretKeyBits[i] - 1) === 0; + } + + component multiplySecretKeyBase8 = EscalarMulFix(numBits, BASE8); + for (var i = 0; i < numBits; i++) { + multiplySecretKeyBase8.e[i] <== secretKeyBits[i]; } for (var i = 0; i < 2; i++) { multiplySecretKeyBase8.out[i] === publicKey[i]; } - component multiplySecretKeyInputVector = EscalarMulAny(254); - for (var i = 0; i < 254; i++) { - multiplySecretKeyInputVector.e[i] <== secretKeyBits.out[i]; + component multiplySecretKeyInputVector = EscalarMulAny(numBits); + for (var i = 0; i < numBits; i++) { + multiplySecretKeyInputVector.e[i] <== secretKeyBits[i]; } for (var i = 0; i < 2; i++) { - multiplySecretKeyInputVector.p[i] <== inputVector[i]; + multiplySecretKeyInputVector.p[i] <== inputPoint[i]; } for(var i = 0; i < 2; i++) { - outputVector[i] <== multiplySecretKeyInputVector.out[i]; + outputPoint[i] <== multiplySecretKeyInputVector.out[i]; } } \ No newline at end of file diff --git a/packages/zk-deck/circuits/templates/encrypt_card.circom b/packages/zk-deck/circuits/templates/encrypt_card.circom index 016c3cb..c9ae6f3 100644 --- a/packages/zk-deck/circuits/templates/encrypt_card.circom +++ b/packages/zk-deck/circuits/templates/encrypt_card.circom @@ -1,50 +1,50 @@ pragma circom 2.0.0; -include "../../../../node_modules/circomlib/circuits/bitify.circom"; include "../../../../node_modules/circomlib/circuits/escalarmulany.circom"; include "../../../../node_modules/circomlib/circuits/escalarmulfix.circom"; include "../../../../node_modules/circomlib/circuits/babyjub.circom"; -template EncryptCard() { +template EncryptCard(numBits) { signal input aggregatedPublicKey[2]; - signal input random; - signal input inputVector[4]; - signal output outputVector[4]; + signal input randomBits[numBits]; + signal input inputCard[4]; + signal output outputCard[4]; var BASE8[2] = [ 5299619240641551281634865583518297030282874472190772894086521144482721001553, 16950150798460657717958625567821834550301663161624707787222815936182638968203 ]; - - component randomBits = Num2Bits(254); - randomBits.in <== random; - component multiplyRandomBase8 = EscalarMulFix(254, BASE8); - for (var i = 0; i < 254; i++) { - multiplyRandomBase8.e[i] <== randomBits.out[i]; + for (var i = 0; i < numBits; i++) { + randomBits[i] * (randomBits[i] - 1) === 0; + } + + component multiplyRandomBase8 = EscalarMulFix(numBits, BASE8); + for (var i = 0; i < numBits; i++) { + multiplyRandomBase8.e[i] <== randomBits[i]; } - component multiplyRandomPublicKey = EscalarMulAny(254); - for (var i = 0; i < 254; i++) { - multiplyRandomPublicKey.e[i] <== randomBits.out[i]; + component multiplyRandomPublicKey = EscalarMulAny(numBits); + for (var i = 0; i < numBits; i++) { + multiplyRandomPublicKey.e[i] <== randomBits[i]; } for (var i = 0; i < 2; i++) { multiplyRandomPublicKey.p[i] <== aggregatedPublicKey[i]; } component addFirstPoint = BabyAdd(); - addFirstPoint.x1 <== inputVector[0]; - addFirstPoint.y1 <== inputVector[1]; + addFirstPoint.x1 <== inputCard[0]; + addFirstPoint.y1 <== inputCard[1]; addFirstPoint.x2 <== multiplyRandomBase8.out[0]; addFirstPoint.y2 <== multiplyRandomBase8.out[1]; - outputVector[0] <== addFirstPoint.xout; - outputVector[1] <== addFirstPoint.yout; + outputCard[0] <== addFirstPoint.xout; + outputCard[1] <== addFirstPoint.yout; component addSecondPoint = BabyAdd(); - addSecondPoint.x1 <== inputVector[2]; - addSecondPoint.y1 <== inputVector[3]; + addSecondPoint.x1 <== inputCard[2]; + addSecondPoint.y1 <== inputCard[3]; addSecondPoint.x2 <== multiplyRandomPublicKey.out[0]; addSecondPoint.y2 <== multiplyRandomPublicKey.out[1]; - outputVector[2] <== addSecondPoint.xout; - outputVector[3] <== addSecondPoint.yout; + outputCard[2] <== addSecondPoint.xout; + outputCard[3] <== addSecondPoint.yout; } \ No newline at end of file diff --git a/packages/zk-deck/circuits/templates/encrypt_deck.circom b/packages/zk-deck/circuits/templates/encrypt_deck.circom index f8f7a7e..4606b7b 100644 --- a/packages/zk-deck/circuits/templates/encrypt_deck.circom +++ b/packages/zk-deck/circuits/templates/encrypt_deck.circom @@ -2,24 +2,26 @@ pragma circom 2.0.0; include "./encrypt_card.circom"; -template EncryptDeck(n) { +template EncryptDeck(numCards, numBits) { signal input aggregatedPublicKey[2]; - signal input randomVector[n]; - signal input inputDeck[n][4]; - signal output outputDeck[n][4]; + signal input randomVectorBits[numCards][numBits]; + signal input inputDeck[numCards][4]; + signal output outputDeck[numCards][4]; - component encryptCard[n]; - for (var i = 0; i < n; i++) { - encryptCard[i] = EncryptCard(); - encryptCard[i].random <== randomVector[i]; + component encryptCard[numCards]; + for (var i = 0; i < numCards; i++) { + encryptCard[i] = EncryptCard(numBits); for (var j = 0; j < 2; j++) { encryptCard[i].aggregatedPublicKey[j] <== aggregatedPublicKey[j]; } + for (var j = 0; j < numBits; j++) { + encryptCard[i].randomBits[j] <== randomVectorBits[i][j]; + } for (var j = 0; j < 4; j++) { - encryptCard[i].inputVector[j] <== inputDeck[i][j]; + encryptCard[i].inputCard[j] <== inputDeck[i][j]; } for (var j = 0; j < 4; j++) { - outputDeck[i][j] <== encryptCard[i].outputVector[j]; + outputDeck[i][j] <== encryptCard[i].outputCard[j]; } } } \ No newline at end of file diff --git a/packages/zk-deck/circuits/templates/shuffle_deck.circom b/packages/zk-deck/circuits/templates/shuffle_deck.circom index b4a9ddf..11dab0d 100644 --- a/packages/zk-deck/circuits/templates/shuffle_deck.circom +++ b/packages/zk-deck/circuits/templates/shuffle_deck.circom @@ -3,28 +3,28 @@ pragma circom 2.0.0; include "./multiply_matrix_vector.circom"; include "./verify_permutation_matrix.circom"; -template ShuffleDeck(n) { - signal input permutationMatrix[n][n]; - signal input inputDeck[n][4]; - signal output outputDeck[n][4]; +template ShuffleDeck(numCards) { + signal input permutationMatrix[numCards][numCards]; + signal input inputDeck[numCards][4]; + signal output outputDeck[numCards][4]; - component verifyPermutationMatrix = VerifyPermutationMatrix(n); - for (var i = 0; i < n; i++) { - for (var j = 0; j < n; j++) { + component verifyPermutationMatrix = VerifyPermutationMatrix(numCards); + for (var i = 0; i < numCards; i++) { + for (var j = 0; j < numCards; j++) { verifyPermutationMatrix.matrix[i][j] <== permutationMatrix[i][j]; } } component multiplyMatrixVector[4]; for (var i = 0; i < 4; i++) { - multiplyMatrixVector[i] = MultiplyMatrixVector(n, n); - for (var j = 0; j < n; j++) { - for (var k = 0; k < n; k++) { + multiplyMatrixVector[i] = MultiplyMatrixVector(numCards, numCards); + for (var j = 0; j < numCards; j++) { + for (var k = 0; k < numCards; k++) { multiplyMatrixVector[i].matrix[j][k] <== permutationMatrix[j][k]; } multiplyMatrixVector[i].inputVector[j] <== inputDeck[j][i]; } - for (var j = 0; j < n; j++) { + for (var j = 0; j < numCards; j++) { outputDeck[j][i] <== multiplyMatrixVector[i].outputVector[j]; } } diff --git a/packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom b/packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom index 4952477..a243466 100644 --- a/packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom +++ b/packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom @@ -3,16 +3,16 @@ pragma circom 2.0.0; include "./shuffle_deck.circom"; include "./encrypt_deck.circom"; -template ShuffleEncryptDeck(n) { - signal input permutationMatrix[n][n]; +template ShuffleEncryptDeck(numCards, numBits) { + signal input permutationMatrix[numCards][numCards]; signal input aggregatedPublicKey[2]; - signal input randomVector[n]; - signal input inputDeck[n][4]; - signal output outputDeck[n][4]; + signal input randomVectorBits[numCards][numBits]; + signal input inputDeck[numCards][4]; + signal output outputDeck[numCards][4]; - component shuffleDeck = ShuffleDeck(n); - for (var i = 0; i < n; i++) { - for (var j = 0; j < n; j++) { + component shuffleDeck = ShuffleDeck(numCards); + for (var i = 0; i < numCards; i++) { + for (var j = 0; j < numCards; j++) { shuffleDeck.permutationMatrix[i][j] <== permutationMatrix[i][j]; } for (var j = 0; j < 4; j++) { @@ -20,18 +20,20 @@ template ShuffleEncryptDeck(n) { } } - component encryptDeck = EncryptDeck(n); + component encryptDeck = EncryptDeck(numCards, numBits); for (var i = 0; i < 2; i++) { encryptDeck.aggregatedPublicKey[i] <== aggregatedPublicKey[i]; } - for (var i = 0; i < n; i++) { - encryptDeck.randomVector[i] <== randomVector[i]; + for (var i = 0; i < numCards; i++) { + for (var j = 0; j < numBits; j++) { + encryptDeck.randomVectorBits[i][j] <== randomVectorBits[i][j]; + } for (var j = 0; j < 4; j++) { - encryptDeck.inputDeck[i][j] <== inputDeck[i][j]; + encryptDeck.inputDeck[i][j] <== shuffleDeck.outputDeck[i][j]; } } - for (var i = 0; i < n; i++) { + for (var i = 0; i < numCards; i++) { for (var j = 0; j < 4; j++) { outputDeck[i][j] <== encryptDeck.outputDeck[i][j]; } diff --git a/packages/zk-deck/src/ffjavascript.d.ts b/packages/zk-deck/src/ffjavascript.d.ts index 64d811d..d04ae31 100644 --- a/packages/zk-deck/src/ffjavascript.d.ts +++ b/packages/zk-deck/src/ffjavascript.d.ts @@ -4,6 +4,7 @@ declare module "ffjavascript" { isOdd(e: bigint): boolean; bitLength(e: bigint): number; + bits(e: bigint): number[]; shiftRight(e: bigint, n: number): bigint; }; export const Scalar: Scalar; diff --git a/packages/zk-deck/src/index.test.ts b/packages/zk-deck/src/index.test.ts index 296ab25..644b1d4 100644 --- a/packages/zk-deck/src/index.test.ts +++ b/packages/zk-deck/src/index.test.ts @@ -29,7 +29,7 @@ describe("ZKDeck", () => { .fill(undefined) .map((_) => zkdeck.generatePublicKey(zkdeck.sampleSecretKey())), ); - const inDeck: EncryptedDeck = new Array(numCards) + const inputDeck: EncryptedDeck = new Array(numCards) .fill(undefined) .map((_) => [ ...zkdeck.curve.pointToStringTuple( @@ -51,7 +51,7 @@ describe("ZKDeck", () => { .map((_) => zkdeck.curve.sampleScalar()); const { proof, deck } = await zkdeck.proveShuffleEncryptDeck( aggregatedPublicKey, - inDeck, + inputDeck, permutationVector, randomVector, ); @@ -59,14 +59,14 @@ describe("ZKDeck", () => { await zkdeck.verifyShuffleEncryptDeck( proof, aggregatedPublicKey, - inDeck, + inputDeck, deck, ), ).to.be.true; expect(deck).to.deep.equal( zkdeck.shuffleEncryptDeck( aggregatedPublicKey, - inDeck, + inputDeck, permutationVector, randomVector, ), diff --git a/packages/zk-deck/src/index.ts b/packages/zk-deck/src/index.ts index 58fe3c3..06651c9 100644 --- a/packages/zk-deck/src/index.ts +++ b/packages/zk-deck/src/index.ts @@ -1,3 +1,4 @@ +import { Scalar } from "ffjavascript"; import { type Groth16Proof, groth16 } from "snarkjs"; import { @@ -94,22 +95,28 @@ export class ZKDeck { public async proveShuffleEncryptDeck( aggregatedPublicKey: AggregatedPublicKey, - deck: EncryptedDeck, + inputDeck: EncryptedDeck, permutationVector?: number[], randomVector?: bigint[], ): Promise<{ proof: Groth16Proof; deck: EncryptedDeck }> { + const permutationMatrix = createPermutationMatrix( + permutationVector || samplePermutationVector(numCards), + ); + const randomVectorBits = ( + randomVector || + new Array(numCards).fill(undefined).map((_) => this.curve.sampleScalar()) + ).map((random) => { + const bits = Scalar.bits(random); + return bits.concat( + new Array(Scalar.bitLength(this.curve.order) - bits.length).fill(0), + ); + }); const { proof, publicSignals } = await groth16.fullProve( { - permutationMatrix: createPermutationMatrix( - permutationVector || samplePermutationVector(numCards), - ), + permutationMatrix, aggregatedPublicKey, - randomVector: - randomVector || - new Array(numCards) - .fill(undefined) - .map((_) => this.curve.sampleScalar()), - inputDeck: deck, + randomVectorBits, + inputDeck, }, this.shuffleEncryptDeckWasm, this.shuffleEncryptDeckZkey, @@ -125,12 +132,12 @@ export class ZKDeck { public async verifyShuffleEncryptDeck( proof: Groth16Proof, aggregatedPublicKey: AggregatedPublicKey, - inDeck: EncryptedDeck, + inputDeck: EncryptedDeck, outDeck: EncryptedDeck, ): Promise { return groth16.verify( shuffleEncryptDeckVerificationKey, - [...outDeck.flat(), ...aggregatedPublicKey, ...inDeck.flat()], + [...outDeck.flat(), ...aggregatedPublicKey, ...inputDeck.flat()], proof, ); } @@ -153,13 +160,19 @@ export class ZKDeck { cardIndex: number, deck: EncryptedDeck, ): Promise<{ proof: Groth16Proof; decryptCardShare: DecryptCardShare }> { + let secretKeyBits = Scalar.bits(secretKey); + secretKeyBits = secretKeyBits.concat( + new Array(Scalar.bitLength(this.curve.order) - secretKeyBits.length).fill( + 0, + ), + ); const publicKey = this.generatePublicKey(secretKey); - const inputVector = deck[cardIndex]?.slice(0, 2) as [string, string]; + const inputPoint = deck[cardIndex]?.slice(0, 2) as [string, string]; const { proof, publicSignals } = await groth16.fullProve( { - secretKey, + secretKeyBits, publicKey, - inputVector, + inputPoint, }, this.decryptCardShareWasm, this.decryptCardShareZkey, diff --git a/packages/zk-deck/src/permutation.ts b/packages/zk-deck/src/permutation.ts index cb2672a..60aa347 100644 --- a/packages/zk-deck/src/permutation.ts +++ b/packages/zk-deck/src/permutation.ts @@ -14,7 +14,7 @@ export function applyPermutationVector( permutationVector: number[], inputVector: T[], ): T[] { - return permutationVector.map((_, i) => inputVector[i] as T); + return permutationVector.map((i) => inputVector[i] as T); } export function createPermutationMatrix( From f7e899858fc7140e76b8f02dc0a22dc57bdebe48 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Thu, 5 Sep 2024 22:11:55 +0330 Subject: [PATCH 06/10] Parametrize circom TwistedEdwardsCurve implementation --- .../circuits/decrypt_card_share.circom | 10 +- .../circuits/shuffle_encrypt_deck.circom | 11 +- .../add_montgomery_curve_points.circom | 16 ++ .../add_twisted_edwards_curve_points.circom | 21 +++ .../templates/decrypt_card_share.circom | 40 ++--- .../double_montgomery_curve_point.circom | 19 +++ .../circuits/templates/encrypt_card.circom | 62 +++---- .../circuits/templates/encrypt_deck.circom | 11 +- ...lar_twisted_edwards_curve_fix_point.circom | 156 ++++++++++++++++++ ..._scalar_twisted_edwards_curve_point.circom | 95 +++++++++++ .../templates/shuffle_encrypt_deck.circom | 11 +- packages/zk-deck/src/index.ts | 8 +- 12 files changed, 382 insertions(+), 78 deletions(-) create mode 100644 packages/zk-deck/circuits/templates/add_montgomery_curve_points.circom create mode 100644 packages/zk-deck/circuits/templates/add_twisted_edwards_curve_points.circom create mode 100644 packages/zk-deck/circuits/templates/double_montgomery_curve_point.circom create mode 100644 packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_fix_point.circom create mode 100644 packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_point.circom diff --git a/packages/zk-deck/circuits/decrypt_card_share.circom b/packages/zk-deck/circuits/decrypt_card_share.circom index 0b31ec6..3b7ddc4 100644 --- a/packages/zk-deck/circuits/decrypt_card_share.circom +++ b/packages/zk-deck/circuits/decrypt_card_share.circom @@ -2,4 +2,12 @@ pragma circom 2.0.0; include "./templates/decrypt_card_share.circom"; -component main { public[ publicKey, inputPoint ] } = DecryptCardShare(251); +component main { public[ publicKey, inputPoint ] } = DecryptCardShare( + 84, + 168700, + 168696, + [ + 5299619240641551281634865583518297030282874472190772894086521144482721001553, + 16950150798460657717958625567821834550301663161624707787222815936182638968203 + ] +); diff --git a/packages/zk-deck/circuits/shuffle_encrypt_deck.circom b/packages/zk-deck/circuits/shuffle_encrypt_deck.circom index e671bef..524480c 100644 --- a/packages/zk-deck/circuits/shuffle_encrypt_deck.circom +++ b/packages/zk-deck/circuits/shuffle_encrypt_deck.circom @@ -2,4 +2,13 @@ pragma circom 2.0.0; include "./templates/shuffle_encrypt_deck.circom"; -component main { public[ aggregatedPublicKey, inputDeck ] } = ShuffleEncryptDeck(52, 251); +component main { public[ aggregatedPublicKey, inputDeck ] } = ShuffleEncryptDeck( + 52, + 84, + 168700, + 168696, + [ + 5299619240641551281634865583518297030282874472190772894086521144482721001553, + 16950150798460657717958625567821834550301663161624707787222815936182638968203 + ] +); diff --git a/packages/zk-deck/circuits/templates/add_montgomery_curve_points.circom b/packages/zk-deck/circuits/templates/add_montgomery_curve_points.circom new file mode 100644 index 0000000..ee05b73 --- /dev/null +++ b/packages/zk-deck/circuits/templates/add_montgomery_curve_points.circom @@ -0,0 +1,16 @@ +pragma circom 2.0.0; + +template AddMontgomeryCurvePoints(edwardsA, edwardsD) { + signal input inputPoints[2][2]; + signal output outputPoint[2]; + + var montgomeryA = (2 * (edwardsA + edwardsD)) / (edwardsA - edwardsD); + var montgomeryB = 4 / (edwardsA - edwardsD); + + signal lamda; + lamda <-- (inputPoints[1][1] - inputPoints[0][1]) / (inputPoints[1][0] - inputPoints[0][0]); + lamda * (inputPoints[1][0] - inputPoints[0][0]) === (inputPoints[1][1] - inputPoints[0][1]); + + outputPoint[0] <== montgomeryB * lamda * lamda - montgomeryA - inputPoints[0][0] - inputPoints[1][0]; + outputPoint[1] <== lamda * (inputPoints[0][0] - outputPoint[0]) - inputPoints[0][1]; +} \ No newline at end of file diff --git a/packages/zk-deck/circuits/templates/add_twisted_edwards_curve_points.circom b/packages/zk-deck/circuits/templates/add_twisted_edwards_curve_points.circom new file mode 100644 index 0000000..64c24a5 --- /dev/null +++ b/packages/zk-deck/circuits/templates/add_twisted_edwards_curve_points.circom @@ -0,0 +1,21 @@ +pragma circom 2.0.0; + +template AddTwistedEdwardsCurvePoints(edwardsA, edwardsD) { + signal input inputPoints[2][2]; + signal output outputPoint[2]; + + signal beta; + beta <== inputPoints[0][0] * inputPoints[1][1]; + signal gamma; + gamma <== inputPoints[0][1] * inputPoints[1][0]; + signal delta; + delta <== (-edwardsA * inputPoints[0][0] + inputPoints[0][1]) * (inputPoints[1][0] + inputPoints[1][1]); + signal tau; + tau <== beta * gamma; + + outputPoint[0] <-- (beta + gamma) / (1+ edwardsD * tau); + (1 + edwardsD * tau) * outputPoint[0] === (beta + gamma); + + outputPoint[1] <-- (delta + edwardsA * beta - gamma) / (1 - edwardsD * tau); + (1 - edwardsD * tau) * outputPoint[1] === (delta + edwardsA * beta - gamma); +} \ No newline at end of file diff --git a/packages/zk-deck/circuits/templates/decrypt_card_share.circom b/packages/zk-deck/circuits/templates/decrypt_card_share.circom index 4022605..740c5eb 100644 --- a/packages/zk-deck/circuits/templates/decrypt_card_share.circom +++ b/packages/zk-deck/circuits/templates/decrypt_card_share.circom @@ -1,39 +1,29 @@ pragma circom 2.0.0; -include "../../../../node_modules/circomlib/circuits/escalarmulany.circom"; -include "../../../../node_modules/circomlib/circuits/escalarmulfix.circom"; +include "./multiply_scalar_twisted_edwards_curve_fix_point.circom"; +include "./multiply_scalar_twisted_edwards_curve_point.circom"; + +template DecryptCardShare(numTripleBits, edwardsA, edwardsD, generator) { + var numBits = 3 * numTripleBits; -template DecryptCardShare(numBits) { signal input secretKeyBits[numBits]; signal input publicKey[2]; signal input inputPoint[2]; signal output outputPoint[2]; - var BASE8[2] = [ - 5299619240641551281634865583518297030282874472190772894086521144482721001553, - 16950150798460657717958625567821834550301663161624707787222815936182638968203 - ]; - - for (var i = 0; i < numBits; i++) { - secretKeyBits[i] * (secretKeyBits[i] - 1) === 0; - } - - component multiplySecretKeyBase8 = EscalarMulFix(numBits, BASE8); + component multiplyGenerator = MultiplyScalarTwistedEdwardsCurveFixPoint(numTripleBits, edwardsA, edwardsD, generator); for (var i = 0; i < numBits; i++) { - multiplySecretKeyBase8.e[i] <== secretKeyBits[i]; - } - for (var i = 0; i < 2; i++) { - multiplySecretKeyBase8.out[i] === publicKey[i]; + multiplyGenerator.scalarBits[i] <== secretKeyBits[i]; } + publicKey[0] === multiplyGenerator.outputPoint[0]; + publicKey[1] === multiplyGenerator.outputPoint[1]; - component multiplySecretKeyInputVector = EscalarMulAny(numBits); + component multiplyInputPoint = MultiplyScalarTwistedEdwardsCurvePoint(numBits, edwardsA, edwardsD); for (var i = 0; i < numBits; i++) { - multiplySecretKeyInputVector.e[i] <== secretKeyBits[i]; - } - for (var i = 0; i < 2; i++) { - multiplySecretKeyInputVector.p[i] <== inputPoint[i]; - } - for(var i = 0; i < 2; i++) { - outputPoint[i] <== multiplySecretKeyInputVector.out[i]; + multiplyInputPoint.scalarBits[i] <== secretKeyBits[i]; } + multiplyInputPoint.inputPoint[0] <== inputPoint[0]; + multiplyInputPoint.inputPoint[1] <== inputPoint[1]; + outputPoint[0] <== multiplyInputPoint.outputPoint[0]; + outputPoint[1] <== multiplyInputPoint.outputPoint[1]; } \ No newline at end of file diff --git a/packages/zk-deck/circuits/templates/double_montgomery_curve_point.circom b/packages/zk-deck/circuits/templates/double_montgomery_curve_point.circom new file mode 100644 index 0000000..aeb03e8 --- /dev/null +++ b/packages/zk-deck/circuits/templates/double_montgomery_curve_point.circom @@ -0,0 +1,19 @@ +pragma circom 2.0.0; + +template DoubleMontgomeryCurvePoint(edwardsA, edwardsD) { + signal input inputPoint[2]; + signal output outputPoint[2]; + + var montgomeryA = (2 * (edwardsA + edwardsD)) / (edwardsA - edwardsD); + var montgomeryB = 4 / (edwardsA - edwardsD); + + signal x1_2; + x1_2 <== inputPoint[0] * inputPoint[0]; + + signal lamda; + lamda <-- (3 * x1_2 + 2 * montgomeryA * inputPoint[0] + 1 ) / (2 * montgomeryB * inputPoint[1]); + lamda * (2 * montgomeryB * inputPoint[1]) === (3 * x1_2 + 2 * montgomeryA * inputPoint[0] + 1 ); + + outputPoint[0] <== montgomeryB * lamda * lamda - montgomeryA - 2 * inputPoint[0]; + outputPoint[1] <== lamda * (inputPoint[0] - outputPoint[0]) - inputPoint[1]; +} \ No newline at end of file diff --git a/packages/zk-deck/circuits/templates/encrypt_card.circom b/packages/zk-deck/circuits/templates/encrypt_card.circom index c9ae6f3..d76912f 100644 --- a/packages/zk-deck/circuits/templates/encrypt_card.circom +++ b/packages/zk-deck/circuits/templates/encrypt_card.circom @@ -1,50 +1,42 @@ pragma circom 2.0.0; -include "../../../../node_modules/circomlib/circuits/escalarmulany.circom"; -include "../../../../node_modules/circomlib/circuits/escalarmulfix.circom"; -include "../../../../node_modules/circomlib/circuits/babyjub.circom"; +include "./multiply_scalar_twisted_edwards_curve_fix_point.circom"; +include "./multiply_scalar_twisted_edwards_curve_point.circom"; +include "./add_twisted_edwards_curve_points.circom"; + +template EncryptCard(numTripleBits, edwardsA, edwardsD, generator) { + var numBits = 3 * numTripleBits; -template EncryptCard(numBits) { signal input aggregatedPublicKey[2]; signal input randomBits[numBits]; signal input inputCard[4]; signal output outputCard[4]; - var BASE8[2] = [ - 5299619240641551281634865583518297030282874472190772894086521144482721001553, - 16950150798460657717958625567821834550301663161624707787222815936182638968203 - ]; - - for (var i = 0; i < numBits; i++) { - randomBits[i] * (randomBits[i] - 1) === 0; - } - - component multiplyRandomBase8 = EscalarMulFix(numBits, BASE8); + component multiplyGenerator = MultiplyScalarTwistedEdwardsCurveFixPoint(numTripleBits, edwardsA, edwardsD, generator); for (var i = 0; i < numBits; i++) { - multiplyRandomBase8.e[i] <== randomBits[i]; + multiplyGenerator.scalarBits[i] <== randomBits[i]; } - component multiplyRandomPublicKey = EscalarMulAny(numBits); + component addFirstPoint = AddTwistedEdwardsCurvePoints(edwardsA, edwardsD); + addFirstPoint.inputPoints[0][0] <== inputCard[0]; + addFirstPoint.inputPoints[0][1] <== inputCard[1]; + addFirstPoint.inputPoints[1][0] <== multiplyGenerator.outputPoint[0]; + addFirstPoint.inputPoints[1][1] <== multiplyGenerator.outputPoint[1]; + outputCard[0] <== addFirstPoint.outputPoint[0]; + outputCard[1] <== addFirstPoint.outputPoint[1]; + + component multiplyPublicKey = MultiplyScalarTwistedEdwardsCurvePoint(numBits, edwardsA, edwardsD); for (var i = 0; i < numBits; i++) { - multiplyRandomPublicKey.e[i] <== randomBits[i]; - } - for (var i = 0; i < 2; i++) { - multiplyRandomPublicKey.p[i] <== aggregatedPublicKey[i]; + multiplyPublicKey.scalarBits[i] <== randomBits[i]; } + multiplyPublicKey.inputPoint[0] <== aggregatedPublicKey[0]; + multiplyPublicKey.inputPoint[1] <== aggregatedPublicKey[1]; - component addFirstPoint = BabyAdd(); - addFirstPoint.x1 <== inputCard[0]; - addFirstPoint.y1 <== inputCard[1]; - addFirstPoint.x2 <== multiplyRandomBase8.out[0]; - addFirstPoint.y2 <== multiplyRandomBase8.out[1]; - outputCard[0] <== addFirstPoint.xout; - outputCard[1] <== addFirstPoint.yout; - - component addSecondPoint = BabyAdd(); - addSecondPoint.x1 <== inputCard[2]; - addSecondPoint.y1 <== inputCard[3]; - addSecondPoint.x2 <== multiplyRandomPublicKey.out[0]; - addSecondPoint.y2 <== multiplyRandomPublicKey.out[1]; - outputCard[2] <== addSecondPoint.xout; - outputCard[3] <== addSecondPoint.yout; + component addSecondPoint = AddTwistedEdwardsCurvePoints(edwardsA, edwardsD); + addSecondPoint.inputPoints[0][0] <== inputCard[2]; + addSecondPoint.inputPoints[0][1] <== inputCard[3]; + addSecondPoint.inputPoints[1][0] <== multiplyPublicKey.outputPoint[0]; + addSecondPoint.inputPoints[1][1] <== multiplyPublicKey.outputPoint[1]; + outputCard[2] <== addSecondPoint.outputPoint[0]; + outputCard[3] <== addSecondPoint.outputPoint[1]; } \ No newline at end of file diff --git a/packages/zk-deck/circuits/templates/encrypt_deck.circom b/packages/zk-deck/circuits/templates/encrypt_deck.circom index 4606b7b..8213fbc 100644 --- a/packages/zk-deck/circuits/templates/encrypt_deck.circom +++ b/packages/zk-deck/circuits/templates/encrypt_deck.circom @@ -2,7 +2,9 @@ pragma circom 2.0.0; include "./encrypt_card.circom"; -template EncryptDeck(numCards, numBits) { +template EncryptDeck(numCards, numTripleBits, edwardsA, edwardsD, generator) { + var numBits = 3 * numTripleBits; + signal input aggregatedPublicKey[2]; signal input randomVectorBits[numCards][numBits]; signal input inputDeck[numCards][4]; @@ -10,10 +12,9 @@ template EncryptDeck(numCards, numBits) { component encryptCard[numCards]; for (var i = 0; i < numCards; i++) { - encryptCard[i] = EncryptCard(numBits); - for (var j = 0; j < 2; j++) { - encryptCard[i].aggregatedPublicKey[j] <== aggregatedPublicKey[j]; - } + encryptCard[i] = EncryptCard(numTripleBits, edwardsA, edwardsD, generator); + encryptCard[i].aggregatedPublicKey[0] <== aggregatedPublicKey[0]; + encryptCard[i].aggregatedPublicKey[1] <== aggregatedPublicKey[1]; for (var j = 0; j < numBits; j++) { encryptCard[i].randomBits[j] <== randomVectorBits[i][j]; } diff --git a/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_fix_point.circom b/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_fix_point.circom new file mode 100644 index 0000000..43738a7 --- /dev/null +++ b/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_fix_point.circom @@ -0,0 +1,156 @@ +pragma circom 2.0.0; + +include "../../../../node_modules/circomlib/circuits/mux3.circom"; +include "../../../../node_modules/circomlib/circuits/montgomery.circom"; +include "./add_montgomery_curve_points.circom"; +include "./double_montgomery_curve_point.circom"; +include "./add_twisted_edwards_curve_points.circom"; + +template MultiplyScalarTwistedEdwardsCurveFixPointSegment(edwardsA, edwardsD) { + signal input scalarBits[3]; + signal input inputPoint[2]; + signal output outputPoint[2]; + signal output eightPoint[2]; + + component mux = MultiMux3(2); + mux.s[0] <== scalarBits[0]; + mux.s[1] <== scalarBits[1]; + mux.s[2] <== scalarBits[2]; + + mux.c[0][0] <== inputPoint[0]; + mux.c[1][0] <== inputPoint[1]; + + component two = DoubleMontgomeryCurvePoint(edwardsA, edwardsD); + two.inputPoint[0] <== inputPoint[0]; + two.inputPoint[1] <== inputPoint[1]; + mux.c[0][1] <== two.outputPoint[0]; + mux.c[1][1] <== two.outputPoint[1]; + + component three = AddMontgomeryCurvePoints(edwardsA, edwardsD); + three.inputPoints[0][0] <== two.outputPoint[0]; + three.inputPoints[0][1] <== two.outputPoint[1]; + three.inputPoints[1][0] <== inputPoint[0]; + three.inputPoints[1][1] <== inputPoint[1]; + mux.c[0][2] <== three.outputPoint[0]; + mux.c[1][2] <== three.outputPoint[1]; + + component four = AddMontgomeryCurvePoints(edwardsA, edwardsD); + four.inputPoints[0][0] <== three.outputPoint[0]; + four.inputPoints[0][1] <== three.outputPoint[1]; + four.inputPoints[1][0] <== inputPoint[0]; + four.inputPoints[1][1] <== inputPoint[1]; + mux.c[0][3] <== four.outputPoint[0]; + mux.c[1][3] <== four.outputPoint[1]; + + component five = AddMontgomeryCurvePoints(edwardsA, edwardsD); + five.inputPoints[0][0] <== four.outputPoint[0]; + five.inputPoints[0][1] <== four.outputPoint[1]; + five.inputPoints[1][0] <== inputPoint[0]; + five.inputPoints[1][1] <== inputPoint[1]; + mux.c[0][4] <== five.outputPoint[0]; + mux.c[1][4] <== five.outputPoint[1]; + + component six = AddMontgomeryCurvePoints(edwardsA, edwardsD); + six.inputPoints[0][0] <== five.outputPoint[0]; + six.inputPoints[0][1] <== five.outputPoint[1]; + six.inputPoints[1][0] <== inputPoint[0]; + six.inputPoints[1][1] <== inputPoint[1]; + mux.c[0][5] <== six.outputPoint[0]; + mux.c[1][5] <== six.outputPoint[1]; + + component seven = AddMontgomeryCurvePoints(edwardsA, edwardsD); + seven.inputPoints[0][0] <== six.outputPoint[0]; + seven.inputPoints[0][1] <== six.outputPoint[1]; + seven.inputPoints[1][0] <== inputPoint[0]; + seven.inputPoints[1][1] <== inputPoint[1]; + mux.c[0][6] <== seven.outputPoint[0]; + mux.c[1][6] <== seven.outputPoint[1]; + + component eight = AddMontgomeryCurvePoints(edwardsA, edwardsD); + eight.inputPoints[0][0] <== seven.outputPoint[0]; + eight.inputPoints[0][1] <== seven.outputPoint[1]; + eight.inputPoints[1][0] <== inputPoint[0]; + eight.inputPoints[1][1] <== inputPoint[1]; + mux.c[0][7] <== eight.outputPoint[0]; + mux.c[1][7] <== eight.outputPoint[1]; + + outputPoint[0] <== mux.out[0]; + outputPoint[1] <== mux.out[1]; + eightPoint[0] <== eight.outputPoint[0]; + eightPoint[1] <== eight.outputPoint[1]; +} + +template MultiplyScalarTwistedEdwardsCurveFixPoint(numTripleBits, edwardsA, edwardsD, basePoint) { + var numBits = 3 * numTripleBits; + + signal input scalarBits[numBits]; + signal output outputPoint[2]; + + for (var i = 0; i < numBits; i++) { + scalarBits[i] * (scalarBits[i] - 1) === 0; + } + + component montgomeryPoint = Edwards2Montgomery(); + montgomeryPoint.in[0] <== basePoint[0]; + montgomeryPoint.in[1] <== basePoint[1]; + + component segments[numTripleBits]; + for (var i = 0; i < numTripleBits; i++) { + segments[i] = MultiplyScalarTwistedEdwardsCurveFixPointSegment(edwardsA, edwardsD); + segments[i].scalarBits[0] <== scalarBits[3 * i]; + segments[i].scalarBits[1] <== scalarBits[3 * i + 1]; + segments[i].scalarBits[2] <== scalarBits[3 * i + 2]; + } + segments[0].inputPoint[0] <== montgomeryPoint.out[0]; + segments[0].inputPoint[1] <== montgomeryPoint.out[1]; + for (var i = 1; i < numTripleBits; i++) { + segments[i].inputPoint[0] <== segments[i - 1].eightPoint[0]; + segments[i].inputPoint[1] <== segments[i - 1].eightPoint[1]; + } + component doublePoint = DoubleMontgomeryCurvePoint(edwardsA, edwardsD); + doublePoint.inputPoint[0] <== segments[numTripleBits - 1].eightPoint[0]; + doublePoint.inputPoint[1] <== segments[numTripleBits - 1].eightPoint[1]; + + component addFirstPoints[numTripleBits]; + for (var i = 0; i < numTripleBits - 1; i++) { + addFirstPoints[i] = AddMontgomeryCurvePoints(edwardsA, edwardsD); + addFirstPoints[i].inputPoints[0][0] <== segments[i].eightPoint[0]; + addFirstPoints[i].inputPoints[0][1] <== segments[i].eightPoint[1]; + } + addFirstPoints[numTripleBits - 1] = AddMontgomeryCurvePoints(edwardsA, edwardsD); + addFirstPoints[numTripleBits - 1].inputPoints[0][0] <== doublePoint.outputPoint[0]; + addFirstPoints[numTripleBits - 1].inputPoints[0][1] <== doublePoint.outputPoint[1]; + addFirstPoints[0].inputPoints[1][0] <== montgomeryPoint.out[0]; + addFirstPoints[0].inputPoints[1][1] <== montgomeryPoint.out[1]; + for (var i = 1; i < numTripleBits; i++) { + addFirstPoints[i].inputPoints[1][0] <== addFirstPoints[i - 1].outputPoint[0]; + addFirstPoints[i].inputPoints[1][1] <== addFirstPoints[i - 1].outputPoint[1]; + } + component edwardsFirstPoint = Montgomery2Edwards(); + edwardsFirstPoint.in[0] <== addFirstPoints[numTripleBits - 1].outputPoint[0]; + edwardsFirstPoint.in[1] <== addFirstPoints[numTripleBits - 1].outputPoint[1]; + + component addSecondPoints[numTripleBits]; + for (var i = 0; i < numTripleBits; i++) { + addSecondPoints[i] = AddMontgomeryCurvePoints(edwardsA, edwardsD); + addSecondPoints[i].inputPoints[0][0] <== segments[i].outputPoint[0]; + addSecondPoints[i].inputPoints[0][1] <== segments[i].outputPoint[1]; + } + addSecondPoints[0].inputPoints[1][0] <== doublePoint.outputPoint[0]; + addSecondPoints[0].inputPoints[1][1] <== doublePoint.outputPoint[1]; + for (var i = 1; i < numTripleBits; i++) { + addSecondPoints[i].inputPoints[1][0] <== addSecondPoints[i - 1].outputPoint[0]; + addSecondPoints[i].inputPoints[1][1] <== addSecondPoints[i - 1].outputPoint[1]; + } + component edwardsSecondPoint = Montgomery2Edwards(); + edwardsSecondPoint.in[0] <== addSecondPoints[numTripleBits - 1].outputPoint[0]; + edwardsSecondPoint.in[1] <== addSecondPoints[numTripleBits - 1].outputPoint[1]; + + component result = AddTwistedEdwardsCurvePoints(edwardsA, edwardsD); + result.inputPoints[0][0] <== -1 * edwardsFirstPoint.out[0]; + result.inputPoints[0][1] <== edwardsFirstPoint.out[1]; + result.inputPoints[1][0] <== edwardsSecondPoint.out[0]; + result.inputPoints[1][1] <== edwardsSecondPoint.out[1]; + outputPoint[0] <== result.outputPoint[0]; + outputPoint[1] <== result.outputPoint[1]; +} diff --git a/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_point.circom b/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_point.circom new file mode 100644 index 0000000..696ad46 --- /dev/null +++ b/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_point.circom @@ -0,0 +1,95 @@ +pragma circom 2.0.0; + +include "../../../../node_modules/circomlib/circuits/montgomery.circom"; +include "./add_montgomery_curve_points.circom"; +include "./double_montgomery_curve_point.circom"; +include "./add_twisted_edwards_curve_points.circom"; + +template SelectPoint() { + signal input bit; + signal input inputPoints[2][2]; + signal output outputPoint[2]; + + outputPoint[0] <== (inputPoints[1][0] - inputPoints[0][0]) * bit + inputPoints[0][0]; + outputPoint[1] <== (inputPoints[1][1] - inputPoints[0][1]) * bit + inputPoints[0][1]; +} + +template MultiplyScalarTwistedEdwardsCurvePointSegment(edwardsA, edwardsD) { + signal input bit; + signal input doubleInputPoint[2]; + signal input addInputPoint[2]; + signal output doubleOutputPoint[2]; + signal output addOutputPoint[2]; + + component doublePoint = DoubleMontgomeryCurvePoint(edwardsA, edwardsD); + doublePoint.inputPoint[0] <== doubleInputPoint[0]; + doublePoint.inputPoint[1] <== doubleInputPoint[1]; + + component addPoints = AddMontgomeryCurvePoints(edwardsA, edwardsD); + addPoints.inputPoints[0][0] <== doublePoint.outputPoint[0]; + addPoints.inputPoints[0][1] <== doublePoint.outputPoint[1]; + addPoints.inputPoints[1][0] <== addInputPoint[0]; + addPoints.inputPoints[1][1] <== addInputPoint[1]; + + component selectPoint = SelectPoint(); + selectPoint.bit <== bit; + selectPoint.inputPoints[0][0] <== addInputPoint[0]; + selectPoint.inputPoints[0][1] <== addInputPoint[1]; + selectPoint.inputPoints[1][0] <== addPoints.outputPoint[0]; + selectPoint.inputPoints[1][1] <== addPoints.outputPoint[1]; + + doubleOutputPoint[0] <== doublePoint.outputPoint[0]; + doubleOutputPoint[1] <== doublePoint.outputPoint[1]; + addOutputPoint[0] <== selectPoint.outputPoint[0]; + addOutputPoint[1] <== selectPoint.outputPoint[1]; +} + +template MultiplyScalarTwistedEdwardsCurvePoint(numBits, edwardsA, edwardsD) { + signal input scalarBits[numBits]; + signal input inputPoint[2]; + signal output outputPoint[2]; + + for (var i = 0; i < numBits; i++) { + scalarBits[i] * (scalarBits[i] - 1) === 0; + } + + component montgomeryPoint = Edwards2Montgomery(); + montgomeryPoint.in[0] <== inputPoint[0]; + montgomeryPoint.in[1] <== inputPoint[1]; + + component segments[numBits - 1]; + segments[0] = MultiplyScalarTwistedEdwardsCurvePointSegment(edwardsA, edwardsD); + segments[0].bit <== scalarBits[1]; + segments[0].doubleInputPoint[0] <== montgomeryPoint.out[0]; + segments[0].doubleInputPoint[1] <== montgomeryPoint.out[1]; + segments[0].addInputPoint[0] <== montgomeryPoint.out[0]; + segments[0].addInputPoint[1] <== montgomeryPoint.out[1]; + for (var i = 1; i < numBits - 1; i++) { + segments[i] = MultiplyScalarTwistedEdwardsCurvePointSegment(edwardsA, edwardsD); + segments[i].bit <== scalarBits[i + 1]; + segments[i].doubleInputPoint[0] <== segments[i - 1].doubleOutputPoint[0]; + segments[i].doubleInputPoint[1] <== segments[i - 1].doubleOutputPoint[1]; + segments[i].addInputPoint[0] <== segments[i - 1].addOutputPoint[0]; + segments[i].addInputPoint[1] <== segments[i - 1].addOutputPoint[1]; + } + + component edwardsPoint = Montgomery2Edwards(); + edwardsPoint.in[0] <== segments[numBits - 2].addOutputPoint[0]; + edwardsPoint.in[1] <== segments[numBits - 2].addOutputPoint[1]; + + component firstAddPoint = AddTwistedEdwardsCurvePoints(edwardsA, edwardsD); + firstAddPoint.inputPoints[0][0] <== edwardsPoint.out[0]; + firstAddPoint.inputPoints[0][1] <== edwardsPoint.out[1]; + firstAddPoint.inputPoints[1][0] <== -1 * inputPoint[0]; + firstAddPoint.inputPoints[1][1] <== inputPoint[1]; + + component firstSelectPoint = SelectPoint(); + firstSelectPoint.bit <== scalarBits[0]; + firstSelectPoint.inputPoints[0][0] <== firstAddPoint.outputPoint[0]; + firstSelectPoint.inputPoints[0][1] <== firstAddPoint.outputPoint[1]; + firstSelectPoint.inputPoints[1][0] <== edwardsPoint.out[0]; + firstSelectPoint.inputPoints[1][1] <== edwardsPoint.out[1]; + + outputPoint[0] <== firstSelectPoint.outputPoint[0]; + outputPoint[1] <== firstSelectPoint.outputPoint[1]; +} \ No newline at end of file diff --git a/packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom b/packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom index a243466..3b6716e 100644 --- a/packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom +++ b/packages/zk-deck/circuits/templates/shuffle_encrypt_deck.circom @@ -3,7 +3,9 @@ pragma circom 2.0.0; include "./shuffle_deck.circom"; include "./encrypt_deck.circom"; -template ShuffleEncryptDeck(numCards, numBits) { +template ShuffleEncryptDeck(numCards, numTripleBits, edwardsA, edwardsD, generator) { + var numBits = 3 * numTripleBits; + signal input permutationMatrix[numCards][numCards]; signal input aggregatedPublicKey[2]; signal input randomVectorBits[numCards][numBits]; @@ -20,10 +22,9 @@ template ShuffleEncryptDeck(numCards, numBits) { } } - component encryptDeck = EncryptDeck(numCards, numBits); - for (var i = 0; i < 2; i++) { - encryptDeck.aggregatedPublicKey[i] <== aggregatedPublicKey[i]; - } + component encryptDeck = EncryptDeck(numCards, numTripleBits, edwardsA, edwardsD, generator); + encryptDeck.aggregatedPublicKey[0] <== aggregatedPublicKey[0]; + encryptDeck.aggregatedPublicKey[1] <== aggregatedPublicKey[1]; for (var i = 0; i < numCards; i++) { for (var j = 0; j < numBits; j++) { encryptDeck.randomVectorBits[i][j] <== randomVectorBits[i][j]; diff --git a/packages/zk-deck/src/index.ts b/packages/zk-deck/src/index.ts index 06651c9..11765da 100644 --- a/packages/zk-deck/src/index.ts +++ b/packages/zk-deck/src/index.ts @@ -107,9 +107,7 @@ export class ZKDeck { new Array(numCards).fill(undefined).map((_) => this.curve.sampleScalar()) ).map((random) => { const bits = Scalar.bits(random); - return bits.concat( - new Array(Scalar.bitLength(this.curve.order) - bits.length).fill(0), - ); + return bits.concat(new Array(252 - bits.length).fill(0)); }); const { proof, publicSignals } = await groth16.fullProve( { @@ -162,9 +160,7 @@ export class ZKDeck { ): Promise<{ proof: Groth16Proof; decryptCardShare: DecryptCardShare }> { let secretKeyBits = Scalar.bits(secretKey); secretKeyBits = secretKeyBits.concat( - new Array(Scalar.bitLength(this.curve.order) - secretKeyBits.length).fill( - 0, - ), + new Array(252 - secretKeyBits.length).fill(0), ); const publicKey = this.generatePublicKey(secretKey); const inputPoint = deck[cardIndex]?.slice(0, 2) as [string, string]; From f3f3187112fc97e91ac4d94ee4d0f5de8b80a9a0 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Fri, 6 Sep 2024 02:51:00 +0330 Subject: [PATCH 07/10] Change the curve of groth16 to bls12381 --- .../circuits/decrypt_card_share.circom | 8 +- .../circuits/shuffle_encrypt_deck.circom | 8 +- ..._scalar_twisted_edwards_curve_point.circom | 4 + packages/zk-deck/package.json | 18 +++-- packages/zk-deck/src/index.ts | 4 +- .../zk-deck/src/twisted_edwards_curve.test.ts | 4 +- packages/zk-deck/src/twisted_edwards_curve.ts | 16 ++-- packages/zk-deck/turbo.json | 80 +++++++++++++------ 8 files changed, 89 insertions(+), 53 deletions(-) diff --git a/packages/zk-deck/circuits/decrypt_card_share.circom b/packages/zk-deck/circuits/decrypt_card_share.circom index 3b7ddc4..e1abb2e 100644 --- a/packages/zk-deck/circuits/decrypt_card_share.circom +++ b/packages/zk-deck/circuits/decrypt_card_share.circom @@ -4,10 +4,10 @@ include "./templates/decrypt_card_share.circom"; component main { public[ publicKey, inputPoint ] } = DecryptCardShare( 84, - 168700, - 168696, + 52435875175126190479447740508185965837690552500527637822603658699938581184512, + 19257038036680949359750312669786877991949435402254120286184196891950884077233, [ - 5299619240641551281634865583518297030282874472190772894086521144482721001553, - 16950150798460657717958625567821834550301663161624707787222815936182638968203 + 8076246640662884909881801758704306714034609987455869804520522091855516602923, + 13262374693698910701929044844600465831413122818447359594527400194675274060458 ] ); diff --git a/packages/zk-deck/circuits/shuffle_encrypt_deck.circom b/packages/zk-deck/circuits/shuffle_encrypt_deck.circom index 524480c..898f0d0 100644 --- a/packages/zk-deck/circuits/shuffle_encrypt_deck.circom +++ b/packages/zk-deck/circuits/shuffle_encrypt_deck.circom @@ -5,10 +5,10 @@ include "./templates/shuffle_encrypt_deck.circom"; component main { public[ aggregatedPublicKey, inputDeck ] } = ShuffleEncryptDeck( 52, 84, - 168700, - 168696, + 52435875175126190479447740508185965837690552500527637822603658699938581184512, + 19257038036680949359750312669786877991949435402254120286184196891950884077233, [ - 5299619240641551281634865583518297030282874472190772894086521144482721001553, - 16950150798460657717958625567821834550301663161624707787222815936182638968203 + 8076246640662884909881801758704306714034609987455869804520522091855516602923, + 13262374693698910701929044844600465831413122818447359594527400194675274060458 ] ); diff --git a/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_point.circom b/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_point.circom index 696ad46..36b27e7 100644 --- a/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_point.circom +++ b/packages/zk-deck/circuits/templates/multiply_scalar_twisted_edwards_curve_point.circom @@ -72,6 +72,10 @@ template MultiplyScalarTwistedEdwardsCurvePoint(numBits, edwardsA, edwardsD) { segments[i].addInputPoint[0] <== segments[i - 1].addOutputPoint[0]; segments[i].addInputPoint[1] <== segments[i - 1].addOutputPoint[1]; } + signal unused0; + unused0 <== segments[numBits - 2].doubleOutputPoint[0]; + signal unused1; + unused1 <== segments[numBits - 2].doubleOutputPoint[1]; component edwardsPoint = Montgomery2Edwards(); edwardsPoint.in[0] <== segments[numBits - 2].addOutputPoint[0]; diff --git a/packages/zk-deck/package.json b/packages/zk-deck/package.json index f38205f..e00047d 100644 --- a/packages/zk-deck/package.json +++ b/packages/zk-deck/package.json @@ -13,13 +13,17 @@ }, "scripts": { "circom:build:shuffle-encrypt-deck:mkdir": "mkdir -p dist/circuits/shuffle_encrypt_deck", - "circom:build:shuffle-encrypt-deck:compile": "circom --r1cs --wasm --output dist/circuits/shuffle_encrypt_deck circuits/shuffle_encrypt_deck.circom", + "circom:build:shuffle-encrypt-deck:compile": "circom --r1cs --wasm --prime bls12381 --output dist/circuits/shuffle_encrypt_deck circuits/shuffle_encrypt_deck.circom", "circom:build:decrypt-share-card:mkdir": "mkdir -p dist/circuits/decrypt_card_share", - "circom:build:decrypt-share-card:compile": "circom --r1cs --wasm --output dist/circuits/decrypt_card_share circuits/decrypt_card_share.circom", - "circom:check:shuffle-encrypt-deck": "circom --inspect circuits/shuffle_encrypt_deck.circom", - "circom:check:decrypt-share-card": "circom --inspect circuits/decrypt_card_share.circom", - "snarkjs:build:powersoftau:pot18:mkdir": "mkdir -p dist/powersoftaus", - "snarkjs:build:powersoftau:pot18:new": "snarkjs powersoftau new bn128 18 dist/powersoftaus/pot18_new.ptau", + "circom:build:decrypt-share-card:compile": "circom --r1cs --wasm --prime bls12381 --output dist/circuits/decrypt_card_share circuits/decrypt_card_share.circom", + "circom:check:shuffle-encrypt-deck": "circom --inspect --prime bls12381 circuits/shuffle_encrypt_deck.circom", + "circom:check:decrypt-share-card": "circom --inspect --prime bls12381 circuits/decrypt_card_share.circom", + "snarkjs:build:powersoftau:mkdir": "mkdir -p dist/powersoftaus", + "snarkjs:build:powersoftau:pot14:new": "snarkjs powersoftau new bls12381 14 dist/powersoftaus/pot14_new.ptau", + "snarkjs:build:powersoftau:pot14:contribute": "snarkjs powersoftau contribute dist/powersoftaus/pot14_new.ptau dist/powersoftaus/pot14_contribute.ptau -e='x9J$gyWEGjBfHqp@CLn2^2XjXzJWrEeyb9EmkJqr2Hos@zpZmEq3HFiC4M2XbvBL'", + "snarkjs:build:powersoftau:pot14:beacon": "snarkjs powersoftau beacon dist/powersoftaus/pot14_contribute.ptau dist/powersoftaus/pot14_beacon.ptau '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", + "snarkjs:build:powersoftau:pot14:prepare": "snarkjs powersoftau prepare phase2 dist/powersoftaus/pot14_beacon.ptau dist/powersoftaus/pot14.ptau", + "snarkjs:build:powersoftau:pot18:new": "snarkjs powersoftau new bls12381 18 dist/powersoftaus/pot18_new.ptau", "snarkjs:build:powersoftau:pot18:contribute": "snarkjs powersoftau contribute dist/powersoftaus/pot18_new.ptau dist/powersoftaus/pot18_contribute.ptau -e='x9J$gyWEGjBfHqp@CLn2^2XjXzJWrEeyb9EmkJqr2Hos@zpZmEq3HFiC4M2XbvBL'", "snarkjs:build:powersoftau:pot18:beacon": "snarkjs powersoftau beacon dist/powersoftaus/pot18_contribute.ptau dist/powersoftaus/pot18_beacon.ptau '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", "snarkjs:build:powersoftau:pot18:prepare": "snarkjs powersoftau prepare phase2 dist/powersoftaus/pot18_beacon.ptau dist/powersoftaus/pot18.ptau", @@ -27,7 +31,7 @@ "snarkjs:build:zkey:shuffle-encrypt-deck:setup": "snarkjs groth16 setup dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck.r1cs dist/powersoftaus/pot18.ptau dist/zkeys/shuffle_encrypt_deck_setup.zkey", "snarkjs:build:zkey:shuffle-encrypt-deck:contribute": "snarkjs zkey contribute dist/zkeys/shuffle_encrypt_deck_setup.zkey dist/zkeys/shuffle_encrypt_deck_contribute.zkey -e='JS^dbdvBo!P8HxjCxKJrdwF!HadBxS!b&vJtknJe5nDcnnGL3eo498UQe6yv87TU'", "snarkjs:build:zkey:shuffle-encrypt-deck:beacon": "snarkjs zkey beacon dist/zkeys/shuffle_encrypt_deck_contribute.zkey dist/zkeys/shuffle_encrypt_deck.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", - "snarkjs:build:zkey:decrypt-share-card:setup": "snarkjs groth16 setup dist/circuits/decrypt_card_share/decrypt_card_share.r1cs dist/powersoftaus/pot18.ptau dist/zkeys/decrypt_card_share_setup.zkey", + "snarkjs:build:zkey:decrypt-share-card:setup": "snarkjs groth16 setup dist/circuits/decrypt_card_share/decrypt_card_share.r1cs dist/powersoftaus/pot14.ptau dist/zkeys/decrypt_card_share_setup.zkey", "snarkjs:build:zkey:decrypt-share-card:contribute": "snarkjs zkey contribute dist/zkeys/decrypt_card_share_setup.zkey dist/zkeys/decrypt_card_share_contribute.zkey -e='ex#UciTJm^4$RebWxzrUK%9c#*4^KPE!VrxnaeoFhQb7aRojg@6n&hiCFWbG4$qB'", "snarkjs:build:zkey:decrypt-share-card:beacon": "snarkjs zkey beacon dist/zkeys/decrypt_card_share_contribute.zkey dist/zkeys/decrypt_card_share.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", "snarkjs:build:verificationkey:mkdir": "mkdir -p dist/verification_keys", diff --git a/packages/zk-deck/src/index.ts b/packages/zk-deck/src/index.ts index 11765da..af83fd0 100644 --- a/packages/zk-deck/src/index.ts +++ b/packages/zk-deck/src/index.ts @@ -8,7 +8,7 @@ import { } from "./permutation.js"; import { type TwistedEdwardsCurve, - createBabyJubJub, + createJubJub, } from "./twisted_edwards_curve.js"; import decryptCardShareVerificationKey from "../dist/verification_keys/decrypt_card_share_verification_key.json" with { @@ -222,7 +222,7 @@ export async function createZKDeck( decryptCardShareWasm: string, decryptCardShareZkey: string, ): Promise { - const curve = await createBabyJubJub(); + const curve = await createJubJub(); return new ZKDeck( curve, shuffleEncryptDeckWasm, diff --git a/packages/zk-deck/src/twisted_edwards_curve.test.ts b/packages/zk-deck/src/twisted_edwards_curve.test.ts index da55168..1c31787 100644 --- a/packages/zk-deck/src/twisted_edwards_curve.test.ts +++ b/packages/zk-deck/src/twisted_edwards_curve.test.ts @@ -3,13 +3,13 @@ import { before, describe, test } from "mocha"; import { type TwistedEdwardsCurve, - createBabyJubJub, + createJubJub, } from "./twisted_edwards_curve.js"; describe("TwistedEdwardsCurve", () => { let curve: TwistedEdwardsCurve; before(async () => { - curve = await createBabyJubJub(); + curve = await createJubJub(); }); test("ap should be in curve", () => { diff --git a/packages/zk-deck/src/twisted_edwards_curve.ts b/packages/zk-deck/src/twisted_edwards_curve.ts index b487b85..5907761 100644 --- a/packages/zk-deck/src/twisted_edwards_curve.ts +++ b/packages/zk-deck/src/twisted_edwards_curve.ts @@ -109,16 +109,16 @@ export class TwistedEdwardsCurve { } } -export async function createBabyJubJub(): Promise { - const bn128 = await getCurveFromName("bn128", true); +export async function createJubJub(): Promise { + const bls12381 = await getCurveFromName("bls12381", true); return new TwistedEdwardsCurve( - bn128.Fr, - 168700n, - 168696n, - 2736030358979909402780800718157159386076813972158567259200215660948447373041n, + bls12381.Fr, + 52435875175126190479447740508185965837690552500527637822603658699938581184512n, + 19257038036680949359750312669786877991949435402254120286184196891950884077233n, + 6554484396890773809930967563523245729705921265872317281365359162392183254199n, [ - 5299619240641551281634865583518297030282874472190772894086521144482721001553n, - 16950150798460657717958625567821834550301663161624707787222815936182638968203n, + 8076246640662884909881801758704306714034609987455869804520522091855516602923n, + 13262374693698910701929044844600465831413122818447359594527400194675274060458n, ], ); } diff --git a/packages/zk-deck/turbo.json b/packages/zk-deck/turbo.json index 0be9b8b..17491d3 100644 --- a/packages/zk-deck/turbo.json +++ b/packages/zk-deck/turbo.json @@ -3,7 +3,7 @@ "extends": ["//"], "tasks": { "build": { - "dependsOn": ["circom:build", "snarkjs:build", "typescript:build"] + "dependsOn": ["circom:build", "typescript:build"] }, "test": { "dependsOn": ["mocha:test"] @@ -24,8 +24,7 @@ ] }, "circom:build:shuffle-encrypt-deck:mkdir": { - "inputs": [], - "outputs": ["dist/circuits/shuffle_encrypt_deck"] + "cache": false }, "circom:build:shuffle-encrypt-deck:compile": { "dependsOn": ["circom:build:shuffle-encrypt-deck:mkdir"], @@ -42,41 +41,71 @@ ] }, "circom:build:decrypt-share-card:mkdir": { - "inputs": [], - "outputs": ["dist/circuits/decrypt_card_share"] + "cache": false }, "circom:build:decrypt-share-card:compile": { "dependsOn": ["circom:build:decrypt-share-card:mkdir"], "inputs": ["circuits/decrypt_card_share.circom", "circuits/templates/**"], "outputs": ["dist/circuits/decrypt_card_share/**"] }, - "circom:check:shuffle-encrypt-deck": { - "inputs": [ - "circuits/shuffle_encrypt_deck.circom", - "circuits/templates/**" - ] - }, "circom:check": { "dependsOn": [ "circom:check:shuffle-encrypt-deck", "circom:check:decrypt-share-card" ] }, + "circom:check:shuffle-encrypt-deck": { + "inputs": [ + "circuits/shuffle_encrypt_deck.circom", + "circuits/templates/**" + ] + }, "circom:check:decrypt-share-card": { "inputs": ["circuits/decrypt_card_share.circom", "circuits/templates/**"] }, "snarkjs:build": { - "dependsOn": ["snarkjs:build:zkey", "snarkjs:build:verificationkey"] + "dependsOn": [ + "snarkjs:build:powersoftau", + "snarkjs:build:zkey", + "snarkjs:build:verificationkey" + ] }, "snarkjs:build:powersoftau": { "dependsOn": [ "snarkjs:build:powersoftau:mkdir", + "snarkjs:build:powersoftau:pot14", "snarkjs:build:powersoftau:pot18" ] }, "snarkjs:build:powersoftau:mkdir": { - "inputs": [], - "outputs": ["dist/powersoftaus"] + "cache": false + }, + "snarkjs:build:powersoftau:pot14": { + "dependsOn": [ + "snarkjs:build:powersoftau:pot14:new", + "snarkjs:build:powersoftau:pot14:contribute", + "snarkjs:build:powersoftau:pot14:beacon", + "snarkjs:build:powersoftau:pot14:prepare" + ] + }, + "snarkjs:build:powersoftau:pot14:new": { + "dependsOn": ["snarkjs:build:powersoftau:mkdir"], + "outputs": ["dist/powersoftaus/pot14_new.ptau"] + }, + "snarkjs:build:powersoftau:pot14:contribute": { + "dependsOn": ["snarkjs:build:powersoftau:pot14:new"], + "inputs": ["dist/powersoftaus/pot14_new.ptau"], + "outputs": ["dist/powersoftaus/pot14_contribute.ptau"] + }, + "snarkjs:build:powersoftau:pot14:beacon": { + "dependsOn": ["snarkjs:build:powersoftau:pot14:contribute"], + "inputs": ["dist/powersoftaus/pot14_contribute.ptau"], + "outputs": ["dist/powersoftaus/pot14_beacon.ptau"] + }, + "snarkjs:build:powersoftau:pot14:prepare": { + "dependsOn": ["snarkjs:build:powersoftau:pot14:beacon"], + "inputs": ["dist/powersoftaus/pot14_beacon.ptau"], + "outputs": ["dist/powersoftaus/pot14.ptau"] }, "snarkjs:build:powersoftau:pot18": { "dependsOn": [ @@ -88,7 +117,6 @@ }, "snarkjs:build:powersoftau:pot18:new": { "dependsOn": ["snarkjs:build:powersoftau:mkdir"], - "inputs": [], "outputs": ["dist/powersoftaus/pot18_new.ptau"] }, "snarkjs:build:powersoftau:pot18:contribute": { @@ -114,8 +142,7 @@ ] }, "snarkjs:build:zkey:mkdir": { - "inputs": [], - "outputs": ["dist/zkeys"] + "cache": false }, "snarkjs:build:zkey:shuffle-encrypt-deck": { "dependsOn": [ @@ -126,8 +153,9 @@ }, "snarkjs:build:zkey:shuffle-encrypt-deck:setup": { "dependsOn": [ - "snarkjs:build:zkey:mkdir", - "circom:build:shuffle-encrypt-deck" + "circom:build:shuffle-encrypt-deck", + "snarkjs:build:powersoftau:pot18", + "snarkjs:build:zkey:mkdir" ], "inputs": [ "dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck.r1cs", @@ -154,12 +182,13 @@ }, "snarkjs:build:zkey:decrypt-share-card:setup": { "dependsOn": [ - "snarkjs:build:zkey:mkdir", - "circom:build:decrypt-share-card" + "circom:build:decrypt-share-card", + "snarkjs:build:powersoftau:pot14", + "snarkjs:build:zkey:mkdir" ], "inputs": [ "dist/circuits/decrypt_card_share/decrypt_card_share.r1cs", - "dist/powersoftaus/pot18.ptau" + "dist/powersoftaus/pot14.ptau" ], "outputs": ["dist/zkeys/decrypt_card_share_setup.zkey"] }, @@ -181,8 +210,7 @@ ] }, "snarkjs:build:verificationkey:mkdir": { - "inputs": [], - "outputs": ["dist/verification_keys"] + "cache": false }, "snarkjs:build:verificationkey:shuffle-encrypt-deck": { "dependsOn": [ @@ -205,12 +233,12 @@ ] }, "typescript:build": { - "dependsOn": ["snarkjs:build"], + "dependsOn": ["circom:build"], "inputs": ["src/**", "tsconfig.json"], "outputs": ["dist/src/**", "dist/tests/**"] }, "mocha:test": { - "dependsOn": ["circom:build", "snarkjs:build"], + "dependsOn": ["circom:build"], "inputs": ["src/**"] } } From 4a149cb0525d57e6ebb1ee02c729747af23fa4d7 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Fri, 6 Sep 2024 21:52:26 +0330 Subject: [PATCH 08/10] Refactor zk-deck --- package-lock.json | 6097 +++++++++++------ packages/zk-deck/package.json | 70 +- packages/zk-deck/src/constants.ts | 2 + .../zk-deck/src/decrypt_card_share.test.ts | 66 + packages/zk-deck/src/decrypt_card_share.ts | 43 + packages/zk-deck/src/index.test.ts | 189 +- packages/zk-deck/src/index.ts | 158 +- .../zk-deck/src/shuffle_encrypt_deck.test.ts | 173 + packages/zk-deck/src/shuffle_encrypt_deck.ts | 51 + packages/zk-deck/turbo.json | 125 +- .../verification_keys/decrypt_card_share.json | 110 + .../shuffle_encrypt_deck.json | 2170 ++++++ 12 files changed, 6819 insertions(+), 2435 deletions(-) create mode 100644 packages/zk-deck/src/constants.ts create mode 100644 packages/zk-deck/src/decrypt_card_share.test.ts create mode 100644 packages/zk-deck/src/decrypt_card_share.ts create mode 100644 packages/zk-deck/src/shuffle_encrypt_deck.test.ts create mode 100644 packages/zk-deck/src/shuffle_encrypt_deck.ts create mode 100644 packages/zk-deck/verification_keys/decrypt_card_share.json create mode 100644 packages/zk-deck/verification_keys/shuffle_encrypt_deck.json diff --git a/package-lock.json b/package-lock.json index eda1a45..e3b4088 100644 --- a/package-lock.json +++ b/package-lock.json @@ -498,6 +498,40 @@ } } }, + "node_modules/@cloudflare/next-on-pages/node_modules/@esbuild/android-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz", + "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@cloudflare/next-on-pages/node_modules/@esbuild/linux-loong64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz", + "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@cloudflare/next-on-pages/node_modules/commander": { "version": "11.1.0", "dev": true, @@ -664,3049 +698,4832 @@ "esbuild": "*" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.17.19", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", "cpu": [ - "x64" + "ppc64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" + "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", + "node_modules/@esbuild/android-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=14" + "node": ">=18" } }, - "node_modules/@graphql-typed-document-node/core": { - "version": "3.2.0", + "node_modules/@esbuild/android-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "peer": true, - "peerDependencies": { - "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@iden3/bigarray": { - "version": "0.0.2", - "license": "GPL-3.0" - }, - "node_modules/@iden3/binfileutils": { - "version": "0.0.12", - "license": "GPL-3.0", - "dependencies": { - "fastfile": "0.0.20", - "ffjavascript": "^0.3.0" + "node_modules/@esbuild/android-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@identity-connect/api": { - "version": "0.7.0", - "license": "MIT" - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", + "node_modules/@esbuild/darwin-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=18" } }, - "node_modules/@jeton/tailwindcss-config": { - "resolved": "packages/tailwindcss-config", - "link": true - }, - "node_modules/@jeton/ts-sdk": { - "resolved": "packages/ts-sdk", - "link": true - }, - "node_modules/@jeton/typescript-config": { - "resolved": "packages/typescript-config", - "link": true - }, - "node_modules/@jeton/ui": { - "resolved": "packages/ui", - "link": true - }, - "node_modules/@jeton/web": { - "resolved": "apps/web", - "link": true - }, - "node_modules/@jeton/zk-deck": { - "resolved": "packages/zk-deck", - "link": true - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", + "node_modules/@esbuild/linux-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", + "node_modules/@esbuild/linux-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", + "node_modules/@esbuild/linux-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", + "node_modules/@esbuild/linux-loong64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "cpu": [ + "mips64el" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@json-rpc-tools/provider": { - "version": "1.7.6", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "cpu": [ + "riscv64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@json-rpc-tools/utils": "^1.7.6", - "axios": "^0.21.0", - "safe-json-utils": "^1.1.1", - "ws": "^7.4.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@json-rpc-tools/provider/node_modules/axios": { - "version": "0.21.4", + "node_modules/@esbuild/linux-s390x": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "cpu": [ + "s390x" + ], + "dev": true, "license": "MIT", - "dependencies": { - "follow-redirects": "^1.14.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@json-rpc-tools/provider/node_modules/ws": { - "version": "7.5.10", + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "node": ">=12" } }, - "node_modules/@json-rpc-tools/types": { - "version": "1.7.6", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "keyvaluestorage-interface": "^1.0.0" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@json-rpc-tools/utils": { - "version": "1.7.6", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@json-rpc-tools/types": "^1.7.6", - "@pedrouid/environment": "^1.0.1" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@legendapp/state": { - "version": "3.0.0-alpha.34", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "use-sync-external-store": "^1.2.2" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", + "node_modules/@esbuild/sunos-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/chownr": { - "version": "2.0.0", + "node_modules/@esbuild/win32-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "peer": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=10" + "node": ">=18" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/@esbuild/win32-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "minipass": "^3.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", + "node_modules/@esbuild/win32-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/minipass": { - "version": "5.0.0", + "node_modules/@fastify/busboy": { + "version": "2.1.1", "dev": true, - "license": "ISC", - "peer": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/minizlib": { - "version": "2.1.2", - "dev": true, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", "license": "MIT", "peer": true, + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@iden3/bigarray": { + "version": "0.0.2", + "license": "GPL-3.0" + }, + "node_modules/@iden3/binfileutils": { + "version": "0.0.12", + "license": "GPL-3.0", "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" + "fastfile": "0.0.20", + "ffjavascript": "^0.3.0" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", + "node_modules/@identity-connect/api": { + "version": "0.7.0", + "license": "MIT" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", "dev": true, "license": "ISC", - "peer": true, "dependencies": { - "yallist": "^4.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", "dev": true, - "license": "MIT", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } + "license": "MIT" }, - "node_modules/@mapbox/node-pre-gyp/node_modules/tar": { - "version": "6.2.1", + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", "dev": true, - "license": "ISC", - "peer": true, + "license": "MIT", "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/yallist": { - "version": "4.0.0", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/@metamask/object-multiplex": { - "version": "1.3.0", - "license": "ISC", - "dependencies": { - "end-of-stream": "^1.4.4", - "once": "^1.4.0", - "readable-stream": "^2.3.3" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@metamask/safe-event-emitter": { - "version": "2.0.0", - "license": "ISC" - }, - "node_modules/@microsoft/fetch-event-source": { - "version": "2.0.1", "license": "MIT", - "peer": true - }, - "node_modules/@mizuwallet-sdk/aptos-wallet-adapter": { - "version": "0.2.3", - "license": "Apache-2.0", "dependencies": { - "@aptos-labs/ts-sdk": "^1.26.0", - "@aptos-labs/wallet-standard": "0.1.0-ms.1", - "@blocto/sdk": "^0.10.3", - "@msafe/aptos-wallet": "^6.1.1", - "buffer": "^6.0.3", - "postmate": "^1.5.2" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, - "peerDependencies": { - "@mizuwallet-sdk/core": ">=1.2.0", - "@mizuwallet-sdk/protocol": "0.0.1" - } - }, - "node_modules/@mizuwallet-sdk/aptos-wallet-adapter/node_modules/@aptos-labs/wallet-standard": { - "version": "0.1.0-ms.1", - "license": "Apache-2.0", - "peerDependencies": { - "@aptos-labs/ts-sdk": "^1.17.0", - "@wallet-standard/core": "^1.0.3" - } - }, - "node_modules/@mizuwallet-sdk/core": { - "version": "1.3.0", - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "buffer": "^6.0.3", - "jwt-decode": "^4.0.0" + "engines": { + "node": ">=12" }, - "peerDependencies": { - "@aptos-labs/ts-sdk": ">=1.14.0", - "graphql-request": ">=7.0.1" + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@mizuwallet-sdk/protocol": { - "version": "0.0.1", - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@microsoft/fetch-event-source": "^2.0.1", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - } + "node_modules/@jeton/tailwindcss-config": { + "resolved": "packages/tailwindcss-config", + "link": true }, - "node_modules/@molt/command": { - "version": "0.9.0", - "license": "MIT", - "peer": true, - "dependencies": { - "@molt/types": "0.2.0", - "alge": "0.8.1", - "chalk": "^5.3.0", - "lodash.camelcase": "^4.3.0", - "lodash.snakecase": "^4.1.1", - "readline-sync": "^1.4.10", - "string-length": "^6.0.0", - "strip-ansi": "^7.1.0", - "ts-toolbelt": "^9.6.0", - "type-fest": "^4.3.1", - "zod": "^3.22.2" - } + "node_modules/@jeton/ts-sdk": { + "resolved": "packages/ts-sdk", + "link": true }, - "node_modules/@molt/types": { - "version": "0.2.0", - "license": "MIT", - "peer": true, - "dependencies": { - "ts-toolbelt": "^9.6.0" - } + "node_modules/@jeton/typescript-config": { + "resolved": "packages/typescript-config", + "link": true }, - "node_modules/@msafe/aptos-wallet": { - "version": "6.1.1", - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3", - "json-rpc-protocol": "^0.13.2" - } + "node_modules/@jeton/ui": { + "resolved": "packages/ui", + "link": true }, - "node_modules/@next/env": { - "version": "14.2.8", - "license": "MIT" + "node_modules/@jeton/web": { + "resolved": "apps/web", + "link": true }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.8", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } + "node_modules/@jeton/zk-deck": { + "resolved": "packages/zk-deck", + "link": true }, - "node_modules/@noble/curves": { - "version": "1.6.0", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "dev": true, "license": "MIT", "dependencies": { - "@noble/hashes": "1.5.0" - }, - "engines": { - "node": "^14.21.3 || >=16" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/hashes": { - "version": "1.5.0", - "license": "MIT", "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "node": ">=6.0.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", "dev": true, "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=6.0.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", "dev": true, "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, "engines": { - "node": ">= 8" + "node": ">=6.0.0" } }, - "node_modules/@pedrouid/environment": { - "version": "1.0.1", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "dev": true, "license": "MIT" }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", "dev": true, "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.0", + "node_modules/@json-rpc-tools/provider": { + "version": "1.7.6", "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "dependencies": { + "@json-rpc-tools/utils": "^1.7.6", + "axios": "^0.21.0", + "safe-json-utils": "^1.1.1", + "ws": "^7.4.0" } }, - "node_modules/@radix-ui/react-slot": { - "version": "1.1.0", + "node_modules/@json-rpc-tools/provider/node_modules/axios": { + "version": "0.21.4", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0" + "follow-redirects": "^1.14.0" + } + }, + "node_modules/@json-rpc-tools/provider/node_modules/ws": { + "version": "7.5.10", + "license": "MIT", + "engines": { + "node": ">=8.3.0" }, "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" }, "peerDependenciesMeta": { - "@types/react": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { "optional": true } } }, - "node_modules/@rc-component/async-validator": { - "version": "5.0.4", + "node_modules/@json-rpc-tools/types": { + "version": "1.7.6", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.24.4" - }, - "engines": { - "node": ">=14.x" + "keyvaluestorage-interface": "^1.0.0" } }, - "node_modules/@rc-component/color-picker": { - "version": "2.0.1", + "node_modules/@json-rpc-tools/utils": { + "version": "1.7.6", "license": "MIT", "dependencies": { - "@ant-design/fast-color": "^2.0.6", - "@babel/runtime": "^7.23.6", - "classnames": "^2.2.6", - "rc-util": "^5.38.1" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "@json-rpc-tools/types": "^1.7.6", + "@pedrouid/environment": "^1.0.1" } }, - "node_modules/@rc-component/context": { - "version": "1.4.0", + "node_modules/@legendapp/state": { + "version": "3.0.0-alpha.34", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.10.1", - "rc-util": "^5.27.0" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "use-sync-external-store": "^1.2.2" } }, - "node_modules/@rc-component/mini-decimal": { - "version": "1.1.0", - "license": "MIT", + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, "dependencies": { - "@babel/runtime": "^7.18.0" + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/chownr": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "peer": true, "engines": { - "node": ">=8.x" + "node": ">=10" } }, - "node_modules/@rc-component/mutate-observer": { - "version": "1.1.0", - "license": "MIT", + "node_modules/@mapbox/node-pre-gyp/node_modules/fs-minipass": { + "version": "2.1.0", + "dev": true, + "license": "ISC", + "peer": true, "dependencies": { - "@babel/runtime": "^7.18.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" + "minipass": "^3.0.0" }, "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "node": ">= 8" } }, - "node_modules/@rc-component/portal": { - "version": "1.1.2", - "license": "MIT", + "node_modules/@mapbox/node-pre-gyp/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "license": "ISC", + "peer": true, "dependencies": { - "@babel/runtime": "^7.18.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "node": ">=8" } }, - "node_modules/@rc-component/qrcode": { - "version": "1.0.0", + "node_modules/@mapbox/node-pre-gyp/node_modules/minipass": { + "version": "5.0.0", + "dev": true, + "license": "ISC", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@babel/runtime": "^7.24.7", - "classnames": "^2.3.2", - "rc-util": "^5.38.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "node": ">= 8" } }, - "node_modules/@rc-component/tour": { - "version": "1.15.1", - "license": "MIT", + "node_modules/@mapbox/node-pre-gyp/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "license": "ISC", + "peer": true, "dependencies": { - "@babel/runtime": "^7.18.0", - "@rc-component/portal": "^1.0.0-9", - "@rc-component/trigger": "^2.0.0", - "classnames": "^2.3.2", - "rc-util": "^5.24.4" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "node": ">=8" } }, - "node_modules/@rc-component/trigger": { - "version": "2.2.2", + "node_modules/@mapbox/node-pre-gyp/node_modules/mkdirp": { + "version": "1.0.4", + "dev": true, "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.2", - "@rc-component/portal": "^1.1.0", - "classnames": "^2.3.2", - "rc-motion": "^2.0.0", - "rc-resize-observer": "^1.3.1", - "rc-util": "^5.38.0" + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" }, "engines": { - "node": ">=8.x" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "node": ">=10" } }, - "node_modules/@rollup/pluginutils": { - "version": "4.2.1", + "node_modules/@mapbox/node-pre-gyp/node_modules/tar": { + "version": "6.2.1", "dev": true, - "license": "MIT", + "license": "ISC", "peer": true, "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "engines": { - "node": ">= 8.0.0" + "node": ">=10" } }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", + "node_modules/@mapbox/node-pre-gyp/node_modules/yallist": { + "version": "4.0.0", "dev": true, - "license": "MIT", + "license": "ISC", "peer": true }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.21.2", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@scure/base": { - "version": "1.1.8", - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@scure/bip32": { - "version": "1.5.0", - "license": "MIT", + "node_modules/@metamask/object-multiplex": { + "version": "1.3.0", + "license": "ISC", "dependencies": { - "@noble/curves": "~1.6.0", - "@noble/hashes": "~1.5.0", - "@scure/base": "~1.1.7" + "end-of-stream": "^1.4.4", + "once": "^1.4.0", + "readable-stream": "^2.3.3" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=12.0.0" } }, - "node_modules/@scure/bip39": { - "version": "1.4.0", - "license": "MIT", - "dependencies": { - "@noble/hashes": "~1.5.0", - "@scure/base": "~1.1.8" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } + "node_modules/@metamask/safe-event-emitter": { + "version": "2.0.0", + "license": "ISC" }, - "node_modules/@sinclair/typebox": { - "version": "0.25.24", - "dev": true, + "node_modules/@microsoft/fetch-event-source": { + "version": "2.0.1", "license": "MIT", "peer": true }, - "node_modules/@sindresorhus/is": { - "version": "4.6.0", - "license": "MIT", - "engines": { - "node": ">=10" + "node_modules/@mizuwallet-sdk/aptos-wallet-adapter": { + "version": "0.2.3", + "license": "Apache-2.0", + "dependencies": { + "@aptos-labs/ts-sdk": "^1.26.0", + "@aptos-labs/wallet-standard": "0.1.0-ms.1", + "@blocto/sdk": "^0.10.3", + "@msafe/aptos-wallet": "^6.1.1", + "buffer": "^6.0.3", + "postmate": "^1.5.2" }, - "funding": { - "url": "https://github.com/sindresorhus/is?sponsor=1" + "peerDependencies": { + "@mizuwallet-sdk/core": ">=1.2.0", + "@mizuwallet-sdk/protocol": "0.0.1" } }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "license": "Apache-2.0" - }, - "node_modules/@swc/helpers": { - "version": "0.5.5", + "node_modules/@mizuwallet-sdk/aptos-wallet-adapter/node_modules/@aptos-labs/wallet-standard": { + "version": "0.1.0-ms.1", "license": "Apache-2.0", - "dependencies": { - "@swc/counter": "^0.1.3", - "tslib": "^2.4.0" + "peerDependencies": { + "@aptos-labs/ts-sdk": "^1.17.0", + "@wallet-standard/core": "^1.0.3" } }, - "node_modules/@szmarczak/http-timer": { - "version": "4.0.6", - "license": "MIT", + "node_modules/@mizuwallet-sdk/core": { + "version": "1.3.0", + "license": "Apache-2.0", + "peer": true, "dependencies": { - "defer-to-connect": "^2.0.0" + "buffer": "^6.0.3", + "jwt-decode": "^4.0.0" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "@aptos-labs/ts-sdk": ">=1.14.0", + "graphql-request": ">=7.0.1" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "dev": true, - "license": "MIT", + "node_modules/@mizuwallet-sdk/protocol": { + "version": "0.0.1", + "license": "Apache-2.0", "peer": true, - "engines": { - "node": ">= 10" + "dependencies": { + "@microsoft/fetch-event-source": "^2.0.1", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" } }, - "node_modules/@ts-morph/common": { - "version": "0.11.1", - "dev": true, + "node_modules/@molt/command": { + "version": "0.9.0", "license": "MIT", "peer": true, "dependencies": { - "fast-glob": "^3.2.7", - "minimatch": "^3.0.4", - "mkdirp": "^1.0.4", - "path-browserify": "^1.0.1" + "@molt/types": "0.2.0", + "alge": "0.8.1", + "chalk": "^5.3.0", + "lodash.camelcase": "^4.3.0", + "lodash.snakecase": "^4.1.1", + "readline-sync": "^1.4.10", + "string-length": "^6.0.0", + "strip-ansi": "^7.1.0", + "ts-toolbelt": "^9.6.0", + "type-fest": "^4.3.1", + "zod": "^3.22.2" } }, - "node_modules/@ts-morph/common/node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, + "node_modules/@molt/types": { + "version": "0.2.0", "license": "MIT", "peer": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "ts-toolbelt": "^9.6.0" } }, - "node_modules/@ts-morph/common/node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/@msafe/aptos-wallet": { + "version": "6.1.1", + "license": "MIT", "dependencies": { - "brace-expansion": "^1.1.7" - }, + "buffer": "^6.0.3", + "json-rpc-protocol": "^0.13.2" + } + }, + "node_modules/@next/env": { + "version": "14.2.8", + "license": "MIT" + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.8", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "*" + "node": ">= 10" } }, - "node_modules/@ts-morph/common/node_modules/mkdirp": { - "version": "1.0.4", - "dev": true, + "node_modules/@noble/curves": { + "version": "1.6.0", "license": "MIT", - "peer": true, - "bin": { - "mkdirp": "bin/cmd.js" + "dependencies": { + "@noble/hashes": "1.5.0" }, "engines": { - "node": ">=10" + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "dev": true, - "license": "MIT" + "node_modules/@noble/hashes": { + "version": "1.5.0", + "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "dev": true, - "license": "MIT" - }, - "node_modules/@types/cacheable-request": { - "version": "6.0.3", "license": "MIT", "dependencies": { - "@types/http-cache-semantics": "*", - "@types/keyv": "^3.1.4", - "@types/node": "*", - "@types/responselike": "^1.0.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@types/chai": { - "version": "4.3.19", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", "dev": true, - "license": "MIT" - }, - "node_modules/@types/chrome": { - "version": "0.0.136", "license": "MIT", - "dependencies": { - "@types/filesystem": "*", - "@types/har-format": "*" + "engines": { + "node": ">= 8" } }, - "node_modules/@types/estree": { - "version": "1.0.5", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "dev": true, - "license": "MIT" - }, - "node_modules/@types/filesystem": { - "version": "0.0.36", "license": "MIT", "dependencies": { - "@types/filewriter": "*" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/@types/filewriter": { - "version": "0.0.33", - "license": "MIT" - }, - "node_modules/@types/har-format": { - "version": "1.2.15", - "license": "MIT" - }, - "node_modules/@types/http-cache-semantics": { - "version": "4.0.4", + "node_modules/@pedrouid/environment": { + "version": "1.0.1", "license": "MIT" }, - "node_modules/@types/json-schema": { - "version": "7.0.15", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", "dev": true, "license": "MIT", - "peer": true + "optional": true, + "engines": { + "node": ">=14" + } }, - "node_modules/@types/keyv": { - "version": "3.1.4", + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.0", "license": "MIT", - "dependencies": { - "@types/node": "*" + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@types/mocha": { - "version": "10.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.5.4", + "node_modules/@radix-ui/react-slot": { + "version": "1.1.0", "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "@radix-ui/react-compose-refs": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "dev": true, + "node_modules/@rc-component/async-validator": { + "version": "5.0.4", "license": "MIT", "dependencies": { - "@types/node": "*" + "@babel/runtime": "^7.24.4" + }, + "engines": { + "node": ">=14.x" } }, - "node_modules/@types/prop-types": { - "version": "15.7.12", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.3.5", - "devOptional": true, + "node_modules/@rc-component/color-picker": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" + "@ant-design/fast-color": "^2.0.6", + "@babel/runtime": "^7.23.6", + "classnames": "^2.2.6", + "rc-util": "^5.38.1" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@types/responselike": { - "version": "1.0.3", + "node_modules/@rc-component/context": { + "version": "1.4.0", "license": "MIT", "dependencies": { - "@types/node": "*" + "@babel/runtime": "^7.10.1", + "rc-util": "^5.27.0" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@types/snarkjs": { - "version": "0.7.8", - "dev": true, - "license": "MIT" - }, - "node_modules/@vercel/build-utils": { - "version": "8.4.0", - "dev": true, - "license": "Apache-2.0", - "peer": true - }, - "node_modules/@vercel/error-utils": { - "version": "2.0.2", - "dev": true, - "license": "Apache-2.0", - "peer": true - }, - "node_modules/@vercel/fun": { + "node_modules/@rc-component/mini-decimal": { "version": "1.1.0", - "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", "dependencies": { - "@tootallnate/once": "2.0.0", - "async-listen": "1.2.0", - "debug": "4.1.1", - "execa": "3.2.0", - "fs-extra": "8.1.0", - "generic-pool": "3.4.2", - "micro": "9.3.5-canary.3", - "ms": "2.1.1", - "node-fetch": "2.6.7", - "path-match": "1.2.4", - "promisepipe": "3.0.0", - "semver": "7.3.5", - "stat-mode": "0.3.0", - "stream-to-promise": "2.2.0", - "tar": "4.4.18", - "tree-kill": "1.2.2", - "uid-promise": "1.0.0", - "uuid": "3.3.2", - "xdg-app-paths": "5.1.0", - "yauzl-promise": "2.1.3" + "@babel/runtime": "^7.18.0" }, "engines": { - "node": ">= 10" + "node": ">=8.x" } }, - "node_modules/@vercel/fun/node_modules/debug": { - "version": "4.1.1", - "dev": true, + "node_modules/@rc-component/mutate-observer": { + "version": "1.1.0", "license": "MIT", - "peer": true, "dependencies": { - "ms": "^2.1.1" + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, + "engines": { + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@vercel/fun/node_modules/execa": { - "version": "3.2.0", - "dev": true, + "node_modules/@rc-component/portal": { + "version": "1.1.2", "license": "MIT", - "peer": true, "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "@babel/runtime": "^7.18.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" }, "engines": { - "node": "^8.12.0 || >=9.7.0" + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@vercel/fun/node_modules/get-stream": { - "version": "5.2.0", - "dev": true, + "node_modules/@rc-component/qrcode": { + "version": "1.0.0", "license": "MIT", - "peer": true, "dependencies": { - "pump": "^3.0.0" + "@babel/runtime": "^7.24.7", + "classnames": "^2.3.2", + "rc-util": "^5.38.0" }, "engines": { - "node": ">=8" + "node": ">=8.x" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vercel/fun/node_modules/human-signals": { - "version": "1.1.1", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": ">=8.12.0" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@vercel/fun/node_modules/is-stream": { - "version": "2.0.1", - "dev": true, + "node_modules/@rc-component/tour": { + "version": "1.15.1", "license": "MIT", - "peer": true, + "dependencies": { + "@babel/runtime": "^7.18.0", + "@rc-component/portal": "^1.0.0-9", + "@rc-component/trigger": "^2.0.0", + "classnames": "^2.3.2", + "rc-util": "^5.24.4" + }, "engines": { - "node": ">=8" + "node": ">=8.x" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@vercel/fun/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/@rc-component/trigger": { + "version": "2.2.2", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@babel/runtime": "^7.23.2", + "@rc-component/portal": "^1.1.0", + "classnames": "^2.3.2", + "rc-motion": "^2.0.0", + "rc-resize-observer": "^1.3.1", + "rc-util": "^5.38.0" }, "engines": { - "node": ">=10" + "node": ">=8.x" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, - "node_modules/@vercel/fun/node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", "dev": true, "license": "MIT", "peer": true, + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, "engines": { - "node": ">=6" + "node": ">= 8.0.0" } }, - "node_modules/@vercel/fun/node_modules/ms": { - "version": "2.1.1", + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", "dev": true, "license": "MIT", "peer": true }, - "node_modules/@vercel/fun/node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.2", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@scure/base": { + "version": "1.1.8", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@vercel/fun/node_modules/onetime": { - "version": "5.1.2", - "dev": true, + "node_modules/@scure/bip32": { + "version": "1.5.0", "license": "MIT", - "peer": true, "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" + "@noble/curves": "~1.6.0", + "@noble/hashes": "~1.5.0", + "@scure/base": "~1.1.7" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@vercel/fun/node_modules/semver": { - "version": "7.3.5", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/@scure/bip39": { + "version": "1.4.0", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@noble/hashes": "~1.5.0", + "@scure/base": "~1.1.8" }, - "engines": { - "node": ">=10" + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "node_modules/@vercel/fun/node_modules/signal-exit": { - "version": "3.0.7", + "node_modules/@sinclair/typebox": { + "version": "0.25.24", "dev": true, - "license": "ISC", + "license": "MIT", "peer": true }, - "node_modules/@vercel/fun/node_modules/strip-final-newline": { - "version": "2.0.0", - "dev": true, + "node_modules/@sindresorhus/is": { + "version": "4.6.0", "license": "MIT", - "peer": true, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@vercel/fun/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC", - "peer": true + "node_modules/@swc/counter": { + "version": "0.1.3", + "license": "Apache-2.0" }, - "node_modules/@vercel/gatsby-plugin-vercel-analytics": { - "version": "1.0.11", - "dev": true, + "node_modules/@swc/helpers": { + "version": "0.5.5", "license": "Apache-2.0", - "peer": true, "dependencies": { - "web-vitals": "0.2.4" + "@swc/counter": "^0.1.3", + "tslib": "^2.4.0" } }, - "node_modules/@vercel/gatsby-plugin-vercel-builder": { - "version": "2.0.44", - "dev": true, - "peer": true, + "node_modules/@szmarczak/http-timer": { + "version": "4.0.6", + "license": "MIT", "dependencies": { - "@sinclair/typebox": "0.25.24", - "@vercel/build-utils": "8.4.0", - "@vercel/routing-utils": "3.1.0", - "esbuild": "0.14.47", - "etag": "1.8.1", - "fs-extra": "11.1.0" + "defer-to-connect": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild": { - "version": "0.14.47", + "node_modules/@tootallnate/once": { + "version": "2.0.0", "dev": true, - "hasInstallScript": true, "license": "MIT", "peer": true, - "bin": { - "esbuild": "bin/esbuild" - }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "esbuild-android-64": "0.14.47", - "esbuild-android-arm64": "0.14.47", - "esbuild-darwin-64": "0.14.47", - "esbuild-darwin-arm64": "0.14.47", - "esbuild-freebsd-64": "0.14.47", - "esbuild-freebsd-arm64": "0.14.47", - "esbuild-linux-32": "0.14.47", - "esbuild-linux-64": "0.14.47", - "esbuild-linux-arm": "0.14.47", - "esbuild-linux-arm64": "0.14.47", - "esbuild-linux-mips64le": "0.14.47", - "esbuild-linux-ppc64le": "0.14.47", - "esbuild-linux-riscv64": "0.14.47", - "esbuild-linux-s390x": "0.14.47", - "esbuild-netbsd-64": "0.14.47", - "esbuild-openbsd-64": "0.14.47", - "esbuild-sunos-64": "0.14.47", - "esbuild-windows-32": "0.14.47", - "esbuild-windows-64": "0.14.47", - "esbuild-windows-arm64": "0.14.47" + "node": ">= 10" } }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-64": { - "version": "0.14.47", - "cpu": [ - "x64" - ], + "node_modules/@ts-morph/common": { + "version": "0.11.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "peer": true, - "engines": { - "node": ">=12" + "dependencies": { + "fast-glob": "^3.2.7", + "minimatch": "^3.0.4", + "mkdirp": "^1.0.4", + "path-browserify": "^1.0.1" } }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/fs-extra": { - "version": "11.1.0", + "node_modules/@ts-morph/common/node_modules/brace-expansion": { + "version": "1.1.11", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "peer": true, "dependencies": { - "universalify": "^2.0.0" + "brace-expansion": "^1.1.7" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": "*" } }, - "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/universalify": { - "version": "2.0.1", + "node_modules/@ts-morph/common/node_modules/mkdirp": { + "version": "1.0.4", "dev": true, "license": "MIT", "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=10" } }, - "node_modules/@vercel/go": { - "version": "3.1.2", + "node_modules/@tsconfig/node10": { + "version": "1.0.11", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "peer": true }, - "node_modules/@vercel/hydrogen": { + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@tsconfig/node16": { "version": "1.0.4", "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", + "peer": true + }, + "node_modules/@types/cacheable-request": { + "version": "6.0.3", + "license": "MIT", "dependencies": { - "@vercel/static-config": "3.0.0", - "ts-morph": "12.0.0" + "@types/http-cache-semantics": "*", + "@types/keyv": "^3.1.4", + "@types/node": "*", + "@types/responselike": "^1.0.0" } }, - "node_modules/@vercel/next": { - "version": "4.3.8", + "node_modules/@types/chai": { + "version": "4.3.19", "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT" + }, + "node_modules/@types/chai-as-promised": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-8.0.0.tgz", + "integrity": "sha512-YbYaXFqJwSABp9OXQTVrPPmstZgNjkRieWVd/xAl5Yc/e5+F44bXLeQggpvm0sjsS1bg+2Y5cwU+rquwwD2dXA==", + "dev": true, + "license": "MIT", "dependencies": { - "@vercel/nft": "0.27.3" + "@types/chai": "*" } }, - "node_modules/@vercel/nft": { - "version": "0.27.3", - "dev": true, + "node_modules/@types/chrome": { + "version": "0.0.136", "license": "MIT", - "peer": true, "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.5", - "@rollup/pluginutils": "^4.0.0", - "acorn": "^8.6.0", - "acorn-import-attributes": "^1.9.5", - "async-sema": "^3.1.1", - "bindings": "^1.4.0", - "estree-walker": "2.0.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.2", - "node-gyp-build": "^4.2.2", - "resolve-from": "^5.0.0" - }, - "bin": { - "nft": "out/cli.js" - }, - "engines": { - "node": ">=16" + "@types/filesystem": "*", + "@types/har-format": "*" } }, - "node_modules/@vercel/nft/node_modules/brace-expansion": { - "version": "1.1.11", + "node_modules/@types/estree": { + "version": "1.0.5", "dev": true, + "license": "MIT" + }, + "node_modules/@types/filesystem": { + "version": "0.0.36", "license": "MIT", - "peer": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@types/filewriter": "*" } }, - "node_modules/@vercel/nft/node_modules/estree-walker": { - "version": "2.0.2", + "node_modules/@types/filewriter": { + "version": "0.0.33", + "license": "MIT" + }, + "node_modules/@types/har-format": { + "version": "1.2.15", + "license": "MIT" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", "dev": true, "license": "MIT", "peer": true }, - "node_modules/@vercel/nft/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "peer": true, + "node_modules/@types/keyv": { + "version": "3.1.4", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@types/node": "*" } }, - "node_modules/@vercel/nft/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/@types/mocha": { + "version": "10.0.7", "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.5.4", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" } }, - "node_modules/@vercel/node": { - "version": "3.2.12", + "node_modules/@types/node-forge": { + "version": "1.3.11", "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", "dependencies": { - "@edge-runtime/node-utils": "2.3.0", - "@edge-runtime/primitives": "4.1.0", - "@edge-runtime/vm": "3.2.0", - "@types/node": "16.18.11", - "@vercel/build-utils": "8.4.0", - "@vercel/error-utils": "2.0.2", - "@vercel/nft": "0.27.3", - "@vercel/static-config": "3.0.0", - "async-listen": "3.0.0", - "cjs-module-lexer": "1.2.3", - "edge-runtime": "2.5.9", - "es-module-lexer": "1.4.1", - "esbuild": "0.14.47", - "etag": "1.8.1", - "node-fetch": "2.6.9", - "path-to-regexp": "6.2.1", - "ts-morph": "12.0.0", - "ts-node": "10.9.1", - "typescript": "4.9.5", - "undici": "5.28.4" + "@types/node": "*" } }, - "node_modules/@vercel/node/node_modules/@types/node": { - "version": "16.18.11", - "dev": true, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "devOptional": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.5", + "devOptional": true, "license": "MIT", - "peer": true + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } }, - "node_modules/@vercel/node/node_modules/async-listen": { - "version": "3.0.0", + "node_modules/@types/react-dom": { + "version": "18.3.0", "dev": true, "license": "MIT", - "peer": true, - "engines": { - "node": ">= 14" + "dependencies": { + "@types/react": "*" } }, - "node_modules/@vercel/node/node_modules/esbuild": { - "version": "0.14.47", - "dev": true, - "hasInstallScript": true, + "node_modules/@types/responselike": { + "version": "1.0.3", "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/snarkjs": { + "version": "0.7.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@vercel/build-utils": { + "version": "8.4.0", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@vercel/error-utils": { + "version": "2.0.2", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@vercel/fun": { + "version": "1.1.0", + "dev": true, + "license": "Apache-2.0", "peer": true, - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "@tootallnate/once": "2.0.0", + "async-listen": "1.2.0", + "debug": "4.1.1", + "execa": "3.2.0", + "fs-extra": "8.1.0", + "generic-pool": "3.4.2", + "micro": "9.3.5-canary.3", + "ms": "2.1.1", + "node-fetch": "2.6.7", + "path-match": "1.2.4", + "promisepipe": "3.0.0", + "semver": "7.3.5", + "stat-mode": "0.3.0", + "stream-to-promise": "2.2.0", + "tar": "4.4.18", + "tree-kill": "1.2.2", + "uid-promise": "1.0.0", + "uuid": "3.3.2", + "xdg-app-paths": "5.1.0", + "yauzl-promise": "2.1.3" }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "esbuild-android-64": "0.14.47", - "esbuild-android-arm64": "0.14.47", - "esbuild-darwin-64": "0.14.47", - "esbuild-darwin-arm64": "0.14.47", - "esbuild-freebsd-64": "0.14.47", - "esbuild-freebsd-arm64": "0.14.47", - "esbuild-linux-32": "0.14.47", - "esbuild-linux-64": "0.14.47", - "esbuild-linux-arm": "0.14.47", - "esbuild-linux-arm64": "0.14.47", - "esbuild-linux-mips64le": "0.14.47", - "esbuild-linux-ppc64le": "0.14.47", - "esbuild-linux-riscv64": "0.14.47", - "esbuild-linux-s390x": "0.14.47", - "esbuild-netbsd-64": "0.14.47", - "esbuild-openbsd-64": "0.14.47", - "esbuild-sunos-64": "0.14.47", - "esbuild-windows-32": "0.14.47", - "esbuild-windows-64": "0.14.47", - "esbuild-windows-arm64": "0.14.47" + "node": ">= 10" } }, - "node_modules/@vercel/node/node_modules/esbuild-linux-64": { - "version": "0.14.47", - "cpu": [ - "x64" - ], + "node_modules/@vercel/fun/node_modules/debug": { + "version": "4.1.1", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], "peer": true, - "engines": { - "node": ">=12" + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/@vercel/node/node_modules/node-fetch": { - "version": "2.6.9", + "node_modules/@vercel/fun/node_modules/execa": { + "version": "3.2.0", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "whatwg-url": "^5.0.0" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "node": "^8.12.0 || >=9.7.0" } }, - "node_modules/@vercel/node/node_modules/path-to-regexp": { - "version": "6.2.1", + "node_modules/@vercel/fun/node_modules/get-stream": { + "version": "5.2.0", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/@vercel/node/node_modules/typescript": { - "version": "4.9.5", - "dev": true, - "license": "Apache-2.0", "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "pump": "^3.0.0" }, "engines": { - "node": ">=4.2.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vercel/python": { - "version": "4.3.1", + "node_modules/@vercel/fun/node_modules/human-signals": { + "version": "1.1.1", "dev": true, "license": "Apache-2.0", - "peer": true + "peer": true, + "engines": { + "node": ">=8.12.0" + } }, - "node_modules/@vercel/redwood": { - "version": "2.1.3", + "node_modules/@vercel/fun/node_modules/is-stream": { + "version": "2.0.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "peer": true, - "dependencies": { - "@vercel/nft": "0.27.3", - "@vercel/routing-utils": "3.1.0", - "@vercel/static-config": "3.0.0", - "semver": "6.3.1", - "ts-morph": "12.0.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vercel/redwood/node_modules/semver": { - "version": "6.3.1", + "node_modules/@vercel/fun/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, "license": "ISC", "peer": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@vercel/remix-builder": { - "version": "2.2.6", + "node_modules/@vercel/fun/node_modules/mimic-fn": { + "version": "2.1.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", "peer": true, - "dependencies": { - "@vercel/error-utils": "2.0.2", - "@vercel/nft": "0.27.3", - "@vercel/static-config": "3.0.0", - "ts-morph": "12.0.0" + "engines": { + "node": ">=6" } }, - "node_modules/@vercel/routing-utils": { - "version": "3.1.0", + "node_modules/@vercel/fun/node_modules/ms": { + "version": "2.1.1", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "peer": true + }, + "node_modules/@vercel/fun/node_modules/npm-run-path": { + "version": "4.0.1", + "dev": true, + "license": "MIT", "peer": true, "dependencies": { - "path-to-regexp": "6.1.0" + "path-key": "^3.0.0" }, - "optionalDependencies": { - "ajv": "^6.0.0" + "engines": { + "node": ">=8" } }, - "node_modules/@vercel/routing-utils/node_modules/path-to-regexp": { - "version": "6.1.0", + "node_modules/@vercel/fun/node_modules/onetime": { + "version": "5.1.2", "dev": true, "license": "MIT", + "peer": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vercel/fun/node_modules/semver": { + "version": "7.3.5", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vercel/fun/node_modules/signal-exit": { + "version": "3.0.7", + "dev": true, + "license": "ISC", "peer": true }, - "node_modules/@vercel/ruby": { - "version": "2.1.0", + "node_modules/@vercel/fun/node_modules/strip-final-newline": { + "version": "2.0.0", "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vercel/fun/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC", "peer": true }, - "node_modules/@vercel/static-build": { - "version": "2.5.22", + "node_modules/@vercel/gatsby-plugin-vercel-analytics": { + "version": "1.0.11", "dev": true, "license": "Apache-2.0", "peer": true, "dependencies": { - "@vercel/gatsby-plugin-vercel-analytics": "1.0.11", - "@vercel/gatsby-plugin-vercel-builder": "2.0.44", - "@vercel/static-config": "3.0.0", - "ts-morph": "12.0.0" + "web-vitals": "0.2.4" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder": { + "version": "2.0.44", + "dev": true, + "peer": true, + "dependencies": { + "@sinclair/typebox": "0.25.24", + "@vercel/build-utils": "8.4.0", + "@vercel/routing-utils": "3.1.0", + "esbuild": "0.14.47", + "etag": "1.8.1", + "fs-extra": "11.1.0" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild": { + "version": "0.14.47", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "esbuild-android-64": "0.14.47", + "esbuild-android-arm64": "0.14.47", + "esbuild-darwin-64": "0.14.47", + "esbuild-darwin-arm64": "0.14.47", + "esbuild-freebsd-64": "0.14.47", + "esbuild-freebsd-arm64": "0.14.47", + "esbuild-linux-32": "0.14.47", + "esbuild-linux-64": "0.14.47", + "esbuild-linux-arm": "0.14.47", + "esbuild-linux-arm64": "0.14.47", + "esbuild-linux-mips64le": "0.14.47", + "esbuild-linux-ppc64le": "0.14.47", + "esbuild-linux-riscv64": "0.14.47", + "esbuild-linux-s390x": "0.14.47", + "esbuild-netbsd-64": "0.14.47", + "esbuild-openbsd-64": "0.14.47", + "esbuild-sunos-64": "0.14.47", + "esbuild-windows-32": "0.14.47", + "esbuild-windows-64": "0.14.47", + "esbuild-windows-arm64": "0.14.47" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-android-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz", + "integrity": "sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-android-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz", + "integrity": "sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-darwin-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz", + "integrity": "sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-darwin-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz", + "integrity": "sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-freebsd-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz", + "integrity": "sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-freebsd-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz", + "integrity": "sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-32": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz", + "integrity": "sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-64": { + "version": "0.14.47", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-arm": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz", + "integrity": "sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" } }, - "node_modules/@vercel/static-config": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "peer": true, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz", + "integrity": "sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-mips64le": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz", + "integrity": "sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-ppc64le": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz", + "integrity": "sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-riscv64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz", + "integrity": "sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-linux-s390x": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz", + "integrity": "sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-netbsd-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz", + "integrity": "sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-openbsd-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz", + "integrity": "sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-sunos-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz", + "integrity": "sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-windows-32": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz", + "integrity": "sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-windows-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz", + "integrity": "sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/esbuild-windows-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz", + "integrity": "sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/fs-extra": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@vercel/gatsby-plugin-vercel-builder/node_modules/universalify": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@vercel/go": { + "version": "3.1.2", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@vercel/hydrogen": { + "version": "1.0.4", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@vercel/static-config": "3.0.0", + "ts-morph": "12.0.0" + } + }, + "node_modules/@vercel/next": { + "version": "4.3.8", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@vercel/nft": "0.27.3" + } + }, + "node_modules/@vercel/nft": { + "version": "0.27.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.5", + "@rollup/pluginutils": "^4.0.0", + "acorn": "^8.6.0", + "acorn-import-attributes": "^1.9.5", + "async-sema": "^3.1.1", + "bindings": "^1.4.0", + "estree-walker": "2.0.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.2", + "node-gyp-build": "^4.2.2", + "resolve-from": "^5.0.0" + }, + "bin": { + "nft": "out/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@vercel/nft/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@vercel/nft/node_modules/estree-walker": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@vercel/nft/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vercel/nft/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@vercel/node": { + "version": "3.2.12", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@edge-runtime/node-utils": "2.3.0", + "@edge-runtime/primitives": "4.1.0", + "@edge-runtime/vm": "3.2.0", + "@types/node": "16.18.11", + "@vercel/build-utils": "8.4.0", + "@vercel/error-utils": "2.0.2", + "@vercel/nft": "0.27.3", + "@vercel/static-config": "3.0.0", + "async-listen": "3.0.0", + "cjs-module-lexer": "1.2.3", + "edge-runtime": "2.5.9", + "es-module-lexer": "1.4.1", + "esbuild": "0.14.47", + "etag": "1.8.1", + "node-fetch": "2.6.9", + "path-to-regexp": "6.2.1", + "ts-morph": "12.0.0", + "ts-node": "10.9.1", + "typescript": "4.9.5", + "undici": "5.28.4" + } + }, + "node_modules/@vercel/node/node_modules/@types/node": { + "version": "16.18.11", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@vercel/node/node_modules/async-listen": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@vercel/node/node_modules/esbuild": { + "version": "0.14.47", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "esbuild-android-64": "0.14.47", + "esbuild-android-arm64": "0.14.47", + "esbuild-darwin-64": "0.14.47", + "esbuild-darwin-arm64": "0.14.47", + "esbuild-freebsd-64": "0.14.47", + "esbuild-freebsd-arm64": "0.14.47", + "esbuild-linux-32": "0.14.47", + "esbuild-linux-64": "0.14.47", + "esbuild-linux-arm": "0.14.47", + "esbuild-linux-arm64": "0.14.47", + "esbuild-linux-mips64le": "0.14.47", + "esbuild-linux-ppc64le": "0.14.47", + "esbuild-linux-riscv64": "0.14.47", + "esbuild-linux-s390x": "0.14.47", + "esbuild-netbsd-64": "0.14.47", + "esbuild-openbsd-64": "0.14.47", + "esbuild-sunos-64": "0.14.47", + "esbuild-windows-32": "0.14.47", + "esbuild-windows-64": "0.14.47", + "esbuild-windows-arm64": "0.14.47" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-android-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz", + "integrity": "sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-android-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz", + "integrity": "sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-darwin-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz", + "integrity": "sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-darwin-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz", + "integrity": "sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-freebsd-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz", + "integrity": "sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-freebsd-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz", + "integrity": "sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-linux-32": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz", + "integrity": "sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-linux-64": { + "version": "0.14.47", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-linux-arm": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz", + "integrity": "sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-linux-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz", + "integrity": "sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-linux-mips64le": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz", + "integrity": "sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-linux-ppc64le": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz", + "integrity": "sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-linux-riscv64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz", + "integrity": "sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-linux-s390x": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz", + "integrity": "sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-netbsd-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz", + "integrity": "sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-openbsd-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz", + "integrity": "sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-sunos-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz", + "integrity": "sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-windows-32": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz", + "integrity": "sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-windows-64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz", + "integrity": "sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/esbuild-windows-arm64": { + "version": "0.14.47", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz", + "integrity": "sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@vercel/node/node_modules/node-fetch": { + "version": "2.6.9", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@vercel/node/node_modules/path-to-regexp": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@vercel/node/node_modules/typescript": { + "version": "4.9.5", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/@vercel/python": { + "version": "4.3.1", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@vercel/redwood": { + "version": "2.1.3", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@vercel/nft": "0.27.3", + "@vercel/routing-utils": "3.1.0", + "@vercel/static-config": "3.0.0", + "semver": "6.3.1", + "ts-morph": "12.0.0" + } + }, + "node_modules/@vercel/redwood/node_modules/semver": { + "version": "6.3.1", + "dev": true, + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@vercel/remix-builder": { + "version": "2.2.6", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@vercel/error-utils": "2.0.2", + "@vercel/nft": "0.27.3", + "@vercel/static-config": "3.0.0", + "ts-morph": "12.0.0" + } + }, + "node_modules/@vercel/routing-utils": { + "version": "3.1.0", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "path-to-regexp": "6.1.0" + }, + "optionalDependencies": { + "ajv": "^6.0.0" + } + }, + "node_modules/@vercel/routing-utils/node_modules/path-to-regexp": { + "version": "6.1.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@vercel/ruby": { + "version": "2.1.0", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, + "node_modules/@vercel/static-build": { + "version": "2.5.22", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@vercel/gatsby-plugin-vercel-analytics": "1.0.11", + "@vercel/gatsby-plugin-vercel-builder": "2.0.44", + "@vercel/static-config": "3.0.0", + "ts-morph": "12.0.0" + } + }, + "node_modules/@vercel/static-config": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "ajv": "8.6.3", + "json-schema-to-ts": "1.6.4", + "ts-morph": "12.0.0" + } + }, + "node_modules/@vercel/static-config/node_modules/ajv": { + "version": "8.6.3", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@vercel/static-config/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@vercel/static-config/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/@wallet-standard/app": { + "version": "1.0.1", + "license": "Apache-2.0", + "dependencies": { + "@wallet-standard/base": "^1.0.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@wallet-standard/base": { + "version": "1.0.1", + "license": "Apache-2.0", + "engines": { + "node": ">=16" + } + }, + "node_modules/@wallet-standard/core": { + "version": "1.0.3", + "license": "Apache-2.0", + "dependencies": { + "@wallet-standard/app": "^1.0.1", + "@wallet-standard/base": "^1.0.1", + "@wallet-standard/features": "^1.0.3", + "@wallet-standard/wallet": "^1.0.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@wallet-standard/features": { + "version": "1.0.3", + "license": "Apache-2.0", + "dependencies": { + "@wallet-standard/base": "^1.0.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@wallet-standard/wallet": { + "version": "1.0.1", + "license": "Apache-2.0", + "dependencies": { + "@wallet-standard/base": "^1.0.1" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/acorn": { + "version": "8.12.1", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "dev": true, + "license": "MIT", + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/alge": { + "version": "0.8.1", + "license": "MIT", + "peer": true, + "dependencies": { + "lodash.ismatch": "^4.4.0", + "remeda": "^1.0.0", + "ts-toolbelt": "^9.6.0", + "zod": "^3.17.3" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antd": { + "version": "5.20.5", + "license": "MIT", + "dependencies": { + "@ant-design/colors": "^7.1.0", + "@ant-design/cssinjs": "^1.21.0", + "@ant-design/cssinjs-utils": "^1.0.3", + "@ant-design/icons": "^5.4.0", + "@ant-design/react-slick": "~1.1.2", + "@babel/runtime": "^7.24.8", + "@ctrl/tinycolor": "^3.6.1", + "@rc-component/color-picker": "~2.0.1", + "@rc-component/mutate-observer": "^1.1.0", + "@rc-component/qrcode": "~1.0.0", + "@rc-component/tour": "~1.15.1", + "@rc-component/trigger": "^2.2.1", + "classnames": "^2.5.1", + "copy-to-clipboard": "^3.3.3", + "dayjs": "^1.11.11", + "rc-cascader": "~3.28.0", + "rc-checkbox": "~3.3.0", + "rc-collapse": "~3.7.3", + "rc-dialog": "~9.5.2", + "rc-drawer": "~7.2.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~2.4.0", + "rc-image": "~7.9.0", + "rc-input": "~1.6.3", + "rc-input-number": "~9.2.0", + "rc-mentions": "~2.15.0", + "rc-menu": "~9.14.1", + "rc-motion": "^2.9.2", + "rc-notification": "~5.6.0", + "rc-pagination": "~4.2.0", + "rc-picker": "~4.6.14", + "rc-progress": "~4.0.0", + "rc-rate": "~2.13.0", + "rc-resize-observer": "^1.4.0", + "rc-segmented": "~2.3.0", + "rc-select": "~14.15.1", + "rc-slider": "~11.1.5", + "rc-steps": "~6.0.1", + "rc-switch": "~4.1.0", + "rc-table": "~7.45.7", + "rc-tabs": "~15.1.1", + "rc-textarea": "~1.8.1", + "rc-tooltip": "~6.2.0", + "rc-tree": "~5.9.0", + "rc-tree-select": "~5.23.0", + "rc-upload": "~4.7.0", + "rc-util": "^5.43.0", + "scroll-into-view-if-needed": "^3.1.0", + "throttle-debounce": "^5.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ant-design" + }, + "peerDependencies": { + "react": ">=16.9.0", + "react-dom": ">=16.9.0" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/aptos": { + "version": "1.21.0", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@aptos-labs/aptos-client": "^0.1.0", + "@noble/hashes": "1.3.3", + "@scure/bip39": "1.2.1", + "eventemitter3": "^5.0.1", + "form-data": "4.0.0", + "tweetnacl": "1.0.3" + }, + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/aptos/node_modules/@noble/hashes": { + "version": "1.3.3", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/aptos/node_modules/@scure/bip39": { + "version": "1.2.1", + "license": "MIT", + "peer": true, + "dependencies": { + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-tree-filter": { + "version": "2.1.0", + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/as-table": { + "version": "1.0.55", + "dev": true, + "license": "MIT", + "dependencies": { + "printable-characters": "^1.0.42" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/ast-types": { + "version": "0.14.2", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/async": { + "version": "3.2.6", + "license": "MIT" + }, + "node_modules/async-listen": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/async-sema": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "license": "MIT" + }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.7.4", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/b4a": { + "version": "1.6.6", + "license": "Apache-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bfj": { + "version": "7.1.0", + "license": "MIT", "dependencies": { - "ajv": "8.6.3", - "json-schema-to-ts": "1.6.4", - "ts-morph": "12.0.0" + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" } }, - "node_modules/@vercel/static-config/node_modules/ajv": { - "version": "8.6.3", + "node_modules/binary-extensions": { + "version": "2.3.0", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "engines": { + "node": ">=8" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vercel/static-config/node_modules/fast-deep-equal": { - "version": "3.1.3", + "node_modules/bindings": { + "version": "1.5.0", "dev": true, "license": "MIT", - "peer": true + "peer": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } }, - "node_modules/@vercel/static-config/node_modules/json-schema-traverse": { - "version": "1.0.0", - "dev": true, + "node_modules/blake2b-wasm": { + "version": "2.4.0", "license": "MIT", - "peer": true - }, - "node_modules/@wallet-standard/app": { - "version": "1.0.1", - "license": "Apache-2.0", "dependencies": { - "@wallet-standard/base": "^1.0.1" - }, - "engines": { - "node": ">=16" + "b4a": "^1.0.1", + "nanoassert": "^2.0.0" } }, - "node_modules/@wallet-standard/base": { - "version": "1.0.1", - "license": "Apache-2.0", - "engines": { - "node": ">=16" - } + "node_modules/blake3-wasm": { + "version": "2.1.5", + "dev": true, + "license": "MIT" }, - "node_modules/@wallet-standard/core": { - "version": "1.0.3", - "license": "Apache-2.0", - "dependencies": { - "@wallet-standard/app": "^1.0.1", - "@wallet-standard/base": "^1.0.1", - "@wallet-standard/features": "^1.0.3", - "@wallet-standard/wallet": "^1.0.1" - }, - "engines": { - "node": ">=16" - } + "node_modules/bluebird": { + "version": "3.7.2", + "license": "MIT" }, - "node_modules/@wallet-standard/features": { - "version": "1.0.3", - "license": "Apache-2.0", + "node_modules/brace-expansion": { + "version": "2.0.1", + "license": "MIT", "dependencies": { - "@wallet-standard/base": "^1.0.1" - }, - "engines": { - "node": ">=16" + "balanced-match": "^1.0.0" } }, - "node_modules/@wallet-standard/wallet": { - "version": "1.0.1", - "license": "Apache-2.0", + "node_modules/braces": { + "version": "3.0.3", + "dev": true, + "license": "MIT", "dependencies": { - "@wallet-standard/base": "^1.0.1" + "fill-range": "^7.1.1" }, "engines": { - "node": ">=16" + "node": ">=8" } }, - "node_modules/abbrev": { - "version": "1.1.1", + "node_modules/browser-stdout": { + "version": "1.3.1", "dev": true, - "license": "ISC", - "peer": true + "license": "ISC" }, - "node_modules/acorn": { - "version": "8.12.1", + "node_modules/browserslist": { + "version": "4.23.3", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, "bin": { - "acorn": "bin/acorn" + "browserslist": "cli.js" }, "engines": { - "node": ">=0.4.0" + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "dev": true, + "node_modules/buffer": { + "version": "6.0.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "license": "MIT", - "peer": true, - "peerDependencies": { - "acorn": "^8" + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "node_modules/acorn-walk": { - "version": "8.3.3", + "node_modules/buffer-crc32": { + "version": "0.2.13", "dev": true, "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, + "peer": true, "engines": { - "node": ">=0.4.0" + "node": "*" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "peer": true, + "node_modules/busboy": { + "version": "1.6.0", "dependencies": { - "debug": "4" + "streamsearch": "^1.1.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">=10.16.0" } }, - "node_modules/ajv": { - "version": "6.12.6", + "node_modules/bytes": { + "version": "3.1.0", "dev": true, "license": "MIT", - "optional": true, "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">= 0.8" } }, - "node_modules/ajv/node_modules/fast-deep-equal": { - "version": "3.1.3", + "node_modules/cac": { + "version": "6.7.14", "dev": true, "license": "MIT", - "optional": true, - "peer": true + "engines": { + "node": ">=8" + } }, - "node_modules/alge": { - "version": "0.8.1", + "node_modules/cacheable-lookup": { + "version": "5.0.4", "license": "MIT", - "peer": true, - "dependencies": { - "lodash.ismatch": "^4.4.0", - "remeda": "^1.0.0", - "ts-toolbelt": "^9.6.0", - "zod": "^3.17.3" + "engines": { + "node": ">=10.6.0" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "dev": true, + "node_modules/cacheable-request": { + "version": "7.0.4", "license": "MIT", + "dependencies": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^4.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^6.0.1", + "responselike": "^2.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/ansi-escapes": { - "version": "7.0.0", - "dev": true, + "node_modules/cacheable-request/node_modules/get-stream": { + "version": "5.2.0", "license": "MIT", "dependencies": { - "environment": "^1.0.0" + "pump": "^3.0.0" }, "engines": { - "node": ">=18" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-regex": { - "version": "6.0.1", + "node_modules/camelcase": { + "version": "6.3.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-styles": { - "version": "6.2.1", + "node_modules/camelcase-css": { + "version": "2.0.1", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 6" } }, - "node_modules/antd": { - "version": "5.20.5", + "node_modules/caniuse-lite": { + "version": "1.0.30001658", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/capnp-ts": { + "version": "0.7.0", + "dev": true, "license": "MIT", "dependencies": { - "@ant-design/colors": "^7.1.0", - "@ant-design/cssinjs": "^1.21.0", - "@ant-design/cssinjs-utils": "^1.0.3", - "@ant-design/icons": "^5.4.0", - "@ant-design/react-slick": "~1.1.2", - "@babel/runtime": "^7.24.8", - "@ctrl/tinycolor": "^3.6.1", - "@rc-component/color-picker": "~2.0.1", - "@rc-component/mutate-observer": "^1.1.0", - "@rc-component/qrcode": "~1.0.0", - "@rc-component/tour": "~1.15.1", - "@rc-component/trigger": "^2.2.1", - "classnames": "^2.5.1", - "copy-to-clipboard": "^3.3.3", - "dayjs": "^1.11.11", - "rc-cascader": "~3.28.0", - "rc-checkbox": "~3.3.0", - "rc-collapse": "~3.7.3", - "rc-dialog": "~9.5.2", - "rc-drawer": "~7.2.0", - "rc-dropdown": "~4.2.0", - "rc-field-form": "~2.4.0", - "rc-image": "~7.9.0", - "rc-input": "~1.6.3", - "rc-input-number": "~9.2.0", - "rc-mentions": "~2.15.0", - "rc-menu": "~9.14.1", - "rc-motion": "^2.9.2", - "rc-notification": "~5.6.0", - "rc-pagination": "~4.2.0", - "rc-picker": "~4.6.14", - "rc-progress": "~4.0.0", - "rc-rate": "~2.13.0", - "rc-resize-observer": "^1.4.0", - "rc-segmented": "~2.3.0", - "rc-select": "~14.15.1", - "rc-slider": "~11.1.5", - "rc-steps": "~6.0.1", - "rc-switch": "~4.1.0", - "rc-table": "~7.45.7", - "rc-tabs": "~15.1.1", - "rc-textarea": "~1.8.1", - "rc-tooltip": "~6.2.0", - "rc-tree": "~5.9.0", - "rc-tree-select": "~5.23.0", - "rc-upload": "~4.7.0", - "rc-util": "^5.43.0", - "scroll-into-view-if-needed": "^3.1.0", - "throttle-debounce": "^5.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ant-design" - }, - "peerDependencies": { - "react": ">=16.9.0", - "react-dom": ">=16.9.0" + "debug": "^4.3.1", + "tslib": "^2.2.0" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", + "node_modules/chai": { + "version": "5.1.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/aproba": { - "version": "2.0.0", + "node_modules/chai-as-promised": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-8.0.0.tgz", + "integrity": "sha512-sMsGXTrS3FunP/wbqh/KxM8Kj/aLPXQGkNtvE5wPfSToq8wkkvBpTZo1LIiEVmC4BwkKpag+l5h/20lBMk6nUg==", "dev": true, - "license": "ISC", - "peer": true - }, - "node_modules/aptos": { - "version": "1.21.0", - "license": "Apache-2.0", - "peer": true, + "license": "WTFPL", "dependencies": { - "@aptos-labs/aptos-client": "^0.1.0", - "@noble/hashes": "1.3.3", - "@scure/bip39": "1.2.1", - "eventemitter3": "^5.0.1", - "form-data": "4.0.0", - "tweetnacl": "1.0.3" + "check-error": "^2.0.0" }, - "engines": { - "node": ">=11.0.0" + "peerDependencies": { + "chai": ">= 2.1.2 < 6" } }, - "node_modules/aptos/node_modules/@noble/hashes": { - "version": "1.3.3", + "node_modules/chalk": { + "version": "5.3.0", "license": "MIT", - "peer": true, "engines": { - "node": ">= 16" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { - "url": "https://paulmillr.com/funding/" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/aptos/node_modules/@scure/bip39": { - "version": "1.2.1", + "node_modules/check-error": { + "version": "2.1.1", + "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "@noble/hashes": "~1.3.0", - "@scure/base": "~1.1.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">= 16" } }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", + "node_modules/check-types": { + "version": "11.2.3", + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.6.0", "dev": true, - "license": "ISC", - "peer": true, + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" }, "engines": { - "node": ">=10" + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/chownr": { + "version": "1.1.4", "dev": true, - "license": "MIT", - "peer": true, + "license": "ISC", + "peer": true + }, + "node_modules/circom_runtime": { + "version": "0.1.25", + "license": "Apache-2.0", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "ffjavascript": "0.3.0" }, - "engines": { - "node": ">= 6" + "bin": { + "calcwit": "calcwit.js" } }, - "node_modules/arg": { - "version": "5.0.2", + "node_modules/circomlib": { + "version": "2.0.5", "dev": true, - "license": "MIT" + "license": "GPL-3.0" }, - "node_modules/argparse": { - "version": "2.0.1", + "node_modules/cjs-module-lexer": { + "version": "1.2.3", "dev": true, - "license": "Python-2.0" + "license": "MIT", + "peer": true }, - "node_modules/array-tree-filter": { - "version": "2.1.0", + "node_modules/classnames": { + "version": "2.5.1", "license": "MIT" }, - "node_modules/array-union": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/as-table": { - "version": "1.0.55", + "node_modules/cli-cursor": { + "version": "5.0.0", "dev": true, "license": "MIT", "dependencies": { - "printable-characters": "^1.0.42" - } - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "dev": true, - "license": "MIT", + "restore-cursor": "^5.0.0" + }, "engines": { - "node": ">=12" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ast-types": { - "version": "0.14.2", + "node_modules/cli-truncate": { + "version": "4.0.0", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/async": { - "version": "3.2.6", + "node_modules/client-only": { + "version": "0.0.1", "license": "MIT" }, - "node_modules/async-listen": { - "version": "1.2.0", + "node_modules/cliui": { + "version": "7.0.4", "dev": true, - "license": "MIT", - "peer": true + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } }, - "node_modules/async-sema": { - "version": "3.1.1", + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" + "engines": { + "node": ">=8" + } }, - "node_modules/autoprefixer": { - "version": "10.4.20", + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=8" }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/axios": { - "version": "1.7.4", - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/b4a": { - "version": "1.6.6", - "license": "Apache-2.0" - }, - "node_modules/balanced-match": { - "version": "1.0.2", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, "license": "MIT" }, - "node_modules/base64-js": { - "version": "1.5.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/bfj": { - "version": "7.1.0", + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "dev": true, "license": "MIT", "dependencies": { - "bluebird": "^3.7.2", - "check-types": "^11.2.3", - "hoopy": "^0.1.4", - "jsonpath": "^1.1.1", - "tryer": "^1.0.1" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 8.0.0" + "node": ">=8" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bindings": { - "version": "1.5.0", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "file-uri-to-path": "1.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/blake2b-wasm": { - "version": "2.4.0", + "node_modules/clone-response": { + "version": "1.0.3", "license": "MIT", "dependencies": { - "b4a": "^1.0.1", - "nanoassert": "^2.0.0" + "mimic-response": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/blake3-wasm": { - "version": "2.1.5", + "node_modules/code-block-writer": { + "version": "10.1.1", "dev": true, - "license": "MIT" - }, - "node_modules/bluebird": { - "version": "3.7.2", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } + "peer": true }, - "node_modules/braces": { - "version": "3.0.3", - "dev": true, + "node_modules/color-convert": { + "version": "2.0.1", "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" + "node": ">=7.0.0" } }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "dev": true, - "license": "ISC" + "node_modules/color-name": { + "version": "1.1.4", + "license": "MIT" }, - "node_modules/browserslist": { - "version": "4.23.3", + "node_modules/color-support": { + "version": "1.1.3", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" - }, + "license": "ISC", + "peer": true, "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "color-support": "bin.js" } }, - "node_modules/buffer": { - "version": "6.0.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/colorette": { + "version": "2.0.20", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", + "node_modules/commander": { + "version": "12.1.0", "dev": true, "license": "MIT", - "peer": true, "engines": { - "node": "*" + "node": ">=18" } }, - "node_modules/busboy": { - "version": "1.6.0", - "dependencies": { - "streamsearch": "^1.1.0" - }, + "node_modules/compute-scroll-into-view": { + "version": "3.1.0", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "license": "MIT" + }, + "node_modules/consola": { + "version": "3.2.3", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10.16.0" + "node": "^14.18.0 || >=16.10.0" } }, - "node_modules/bytes": { - "version": "3.1.0", + "node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "license": "ISC", + "peer": true + }, + "node_modules/content-type": { + "version": "1.0.4", "dev": true, "license": "MIT", "peer": true, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/cac": { - "version": "6.7.14", + "node_modules/convert-hrtime": { + "version": "3.0.0", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=8" } }, - "node_modules/cacheable-lookup": { - "version": "5.0.4", + "node_modules/cookie": { + "version": "0.5.0", + "dev": true, "license": "MIT", "engines": { - "node": ">=10.6.0" + "node": ">= 0.6" } }, - "node_modules/cacheable-request": { - "version": "7.0.4", + "node_modules/copy-to-clipboard": { + "version": "3.3.3", "license": "MIT", "dependencies": { - "clone-response": "^1.0.2", - "get-stream": "^5.1.0", - "http-cache-semantics": "^4.0.0", - "keyv": "^4.0.0", - "lowercase-keys": "^2.0.0", - "normalize-url": "^6.0.1", - "responselike": "^2.0.0" - }, - "engines": { - "node": ">=8" + "toggle-selection": "^1.0.6" } }, - "node_modules/cacheable-request/node_modules/get-stream": { - "version": "5.2.0", + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/create-require": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/camelcase": { - "version": "6.3.0", + "node_modules/cssesc": { + "version": "3.0.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=10" + "bin": { + "cssesc": "bin/cssesc" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", + "node_modules/csstype": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/data-uri-to-buffer": { + "version": "2.0.2", "dev": true, + "license": "MIT" + }, + "node_modules/date-fns": { + "version": "3.6.0", + "devOptional": true, "license": "MIT", - "engines": { - "node": ">= 6" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001658", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" + "node_modules/dayjs": { + "version": "1.11.13", + "license": "MIT" }, - "node_modules/capnp-ts": { - "version": "0.7.0", + "node_modules/debug": { + "version": "4.3.7", "dev": true, "license": "MIT", "dependencies": { - "debug": "^4.3.1", - "tslib": "^2.2.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/chai": { - "version": "5.1.1", + "node_modules/decamelize": { + "version": "4.0.0", "dev": true, "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "license": "MIT", "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chalk": { - "version": "5.3.0", + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", "license": "MIT", "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/check-error": { - "version": "2.1.1", + "node_modules/deep-eql": { + "version": "5.0.2", "dev": true, "license": "MIT", "engines": { - "node": ">= 16" + "node": ">=6" } }, - "node_modules/check-types": { - "version": "11.2.3", + "node_modules/deep-is": { + "version": "0.1.4", "license": "MIT" }, - "node_modules/chokidar": { - "version": "3.6.0", + "node_modules/defer-to-connect": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/defu": { + "version": "6.1.4", "dev": true, + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">=0.4.0" } }, - "node_modules/chownr": { - "version": "1.1.4", + "node_modules/delegates": { + "version": "1.0.0", "dev": true, - "license": "ISC", + "license": "MIT", "peer": true }, - "node_modules/circom_runtime": { - "version": "0.1.25", + "node_modules/depd": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/detect-browser": { + "version": "5.3.0", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "dev": true, "license": "Apache-2.0", - "dependencies": { - "ffjavascript": "0.3.0" - }, - "bin": { - "calcwit": "calcwit.js" + "peer": true, + "engines": { + "node": ">=8" } }, - "node_modules/circomlib": { - "version": "2.0.5", + "node_modules/didyoumean": { + "version": "1.2.2", "dev": true, - "license": "GPL-3.0" + "license": "Apache-2.0" }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", + "node_modules/diff": { + "version": "5.2.0", "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/classnames": { - "version": "2.5.1", - "license": "MIT" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } }, - "node_modules/cli-cursor": { - "version": "5.0.0", + "node_modules/dir-glob": { + "version": "3.0.1", "dev": true, "license": "MIT", "dependencies": { - "restore-cursor": "^5.0.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/cli-truncate": { - "version": "4.0.0", + "node_modules/dlv": { + "version": "1.1.3", "dev": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, + "license": "MIT" + }, + "node_modules/dotenv": { + "version": "16.4.5", + "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=18" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://dotenvx.com" } }, - "node_modules/client-only": { - "version": "0.0.1", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "dev": true, "license": "MIT" }, - "node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", + "node_modules/ed2curve": { + "version": "0.3.0", + "license": "Unlicense", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "tweetnacl": "1.x.x" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", + "node_modules/edge-runtime": { + "version": "2.5.9", "dev": true, - "license": "MIT", + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "@edge-runtime/format": "2.2.1", + "@edge-runtime/ponyfill": "2.4.2", + "@edge-runtime/vm": "3.2.0", + "async-listen": "3.0.1", + "mri": "1.2.0", + "picocolors": "1.0.0", + "pretty-ms": "7.0.1", + "signal-exit": "4.0.2", + "time-span": "4.0.0" + }, + "bin": { + "edge-runtime": "dist/cli/index.js" + }, "engines": { - "node": ">=8" + "node": ">=16" } }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/edge-runtime/node_modules/async-listen": { + "version": "3.0.1", "dev": true, "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, + "peer": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 14" } }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", + "node_modules/edge-runtime/node_modules/picocolors": { + "version": "1.0.0", "dev": true, - "license": "MIT" + "license": "ISC", + "peer": true }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "node_modules/edge-runtime/node_modules/signal-exit": { + "version": "4.0.2", "dev": true, - "license": "MIT", + "license": "ISC", + "peer": true, "engines": { - "node": ">=8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "dev": true, + "node_modules/eip1193-provider": { + "version": "1.0.1", "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "@json-rpc-tools/provider": "^1.5.5" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", + "node_modules/ejs": { + "version": "3.1.10", + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^5.0.1" + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", + "node_modules/electron-to-chromium": { + "version": "1.5.18", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.4.0", "dev": true, + "license": "MIT" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "once": "^1.4.0" } }, - "node_modules/clone-response": { - "version": "1.0.3", + "node_modules/environment": { + "version": "1.1.0", + "dev": true, "license": "MIT", - "dependencies": { - "mimic-response": "^1.0.0" + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/code-block-writer": { - "version": "10.1.1", + "node_modules/es-module-lexer": { + "version": "1.4.1", "dev": true, "license": "MIT", "peer": true }, - "node_modules/color-convert": { - "version": "2.0.1", + "node_modules/esbuild": { + "version": "0.17.19", + "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" } }, - "node_modules/color-name": { - "version": "1.1.4", - "license": "MIT" + "node_modules/esbuild-android-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz", + "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/color-support": { - "version": "1.1.3", + "node_modules/esbuild-android-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz", + "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "peer": true, - "bin": { - "color-support": "bin.js" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/colorette": { - "version": "2.0.20", + "node_modules/esbuild-darwin-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz", + "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "node_modules/commander": { - "version": "12.1.0", + "node_modules/esbuild-darwin-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz", + "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=18" + "node": ">=12" } }, - "node_modules/compute-scroll-into-view": { - "version": "3.1.0", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/consola": { - "version": "3.2.3", + "node_modules/esbuild-freebsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz", + "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^14.18.0 || >=16.10.0" + "node": ">=12" } }, - "node_modules/console-control-strings": { - "version": "1.1.0", + "node_modules/esbuild-freebsd-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz", + "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "peer": true + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/content-type": { - "version": "1.0.4", + "node_modules/esbuild-linux-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz", + "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "peer": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/convert-hrtime": { - "version": "3.0.0", + "node_modules/esbuild-linux-64": { + "version": "0.15.18", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "peer": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/cookie": { - "version": "0.5.0", + "node_modules/esbuild-linux-arm": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz", + "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/copy-to-clipboard": { - "version": "3.3.3", + "node_modules/esbuild-linux-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz", + "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==", + "cpu": [ + "arm64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "toggle-selection": "^1.0.6" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "license": "MIT" - }, - "node_modules/create-require": { - "version": "1.1.1", + "node_modules/esbuild-linux-mips64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz", + "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==", + "cpu": [ + "mips64el" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/cross-spawn": { - "version": "7.0.3", + "node_modules/esbuild-linux-ppc64le": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz", + "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/cssesc": { - "version": "3.0.0", + "node_modules/esbuild-linux-riscv64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz", + "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/csstype": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/data-uri-to-buffer": { - "version": "2.0.2", + "node_modules/esbuild-linux-s390x": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz", + "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "MIT" - }, - "node_modules/date-fns": { - "version": "3.6.0", - "devOptional": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/kossnocorp" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/dayjs": { - "version": "1.11.13", - "license": "MIT" + "node_modules/esbuild-netbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz", + "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/debug": { - "version": "4.3.7", + "node_modules/esbuild-openbsd-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz", + "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=12" } }, - "node_modules/decamelize": { - "version": "4.0.0", + "node_modules/esbuild-sunos-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz", + "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/decompress-response": { - "version": "6.0.0", + "node_modules/esbuild-windows-32": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz", + "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==", + "cpu": [ + "ia32" + ], + "dev": true, "license": "MIT", - "dependencies": { - "mimic-response": "^3.1.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/decompress-response/node_modules/mimic-response": { - "version": "3.1.0", + "node_modules/esbuild-windows-64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz", + "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==", + "cpu": [ + "x64" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/deep-eql": { - "version": "5.0.2", + "node_modules/esbuild-windows-arm64": { + "version": "0.15.18", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz", + "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "license": "MIT" - }, - "node_modules/defer-to-connect": { - "version": "2.0.1", + "node_modules/esbuild/node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/defu": { - "version": "6.1.4", + "node_modules/esbuild/node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" - }, - "node_modules/delayed-stream": { - "version": "1.0.0", "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=0.4.0" + "node": ">=12" } }, - "node_modules/delegates": { - "version": "1.0.0", + "node_modules/esbuild/node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "peer": true + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/depd": { - "version": "1.1.2", + "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "peer": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.6" + "node": ">=12" } }, - "node_modules/detect-browser": { - "version": "5.3.0", - "license": "MIT" - }, - "node_modules/detect-libc": { - "version": "2.0.3", + "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/diff": { - "version": "5.2.0", + "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=0.3.1" + "node": ">=12" } }, - "node_modules/dir-glob": { - "version": "3.0.1", + "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/dlv": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/dotenv": { - "version": "16.4.5", + "node_modules/esbuild/node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", + "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" - }, - "node_modules/ed2curve": { - "version": "0.3.0", - "license": "Unlicense", - "dependencies": { - "tweetnacl": "1.x.x" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/edge-runtime": { - "version": "2.5.9", + "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MPL-2.0", - "peer": true, - "dependencies": { - "@edge-runtime/format": "2.2.1", - "@edge-runtime/ponyfill": "2.4.2", - "@edge-runtime/vm": "3.2.0", - "async-listen": "3.0.1", - "mri": "1.2.0", - "picocolors": "1.0.0", - "pretty-ms": "7.0.1", - "signal-exit": "4.0.2", - "time-span": "4.0.0" - }, - "bin": { - "edge-runtime": "dist/cli/index.js" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=16" + "node": ">=12" } }, - "node_modules/edge-runtime/node_modules/async-listen": { - "version": "3.0.1", + "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], "dev": true, "license": "MIT", - "peer": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 14" + "node": ">=12" } }, - "node_modules/edge-runtime/node_modules/picocolors": { - "version": "1.0.0", + "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], "dev": true, - "license": "ISC", - "peer": true + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/edge-runtime/node_modules/signal-exit": { - "version": "4.0.2", + "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "ISC", - "peer": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=12" } }, - "node_modules/eip1193-provider": { - "version": "1.0.1", + "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, "license": "MIT", - "dependencies": { - "@json-rpc-tools/provider": "^1.5.5" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/ejs": { - "version": "3.1.10", - "license": "Apache-2.0", - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, + "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, - "node_modules/electron-to-chromium": { - "version": "1.5.18", + "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC" + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/emoji-regex": { - "version": "10.4.0", + "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" - }, - "node_modules/end-of-stream": { - "version": "1.4.4", "license": "MIT", - "dependencies": { - "once": "^1.4.0" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/environment": { - "version": "1.1.0", + "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/es-module-lexer": { - "version": "1.4.1", + "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "peer": true + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/esbuild": { + "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], "dev": true, - "hasInstallScript": true, "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" } }, - "node_modules/esbuild-linux-64": { - "version": "0.15.18", + "node_modules/esbuild/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", "cpu": [ "x64" ], @@ -3714,7 +5531,7 @@ "license": "MIT", "optional": true, "os": [ - "linux" + "win32" ], "engines": { "node": ">=12" @@ -4091,6 +5908,21 @@ "dev": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "dev": true, @@ -4231,6 +6063,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-tsconfig": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz", + "integrity": "sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, "node_modules/glob": { "version": "10.4.5", "dev": true, @@ -6866,6 +8711,16 @@ "node": ">=8" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/resolve.exports": { "version": "2.0.2", "dev": true, @@ -8108,6 +9963,83 @@ "webidl-conversions": "^4.0.2" } }, + "node_modules/tsx": { + "version": "4.19.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.0.tgz", + "integrity": "sha512-bV30kM7bsLZKZIOCHeMNVMJ32/LuJzLVajkQI/qf92J2Qr08ueLQvW00PUZGiuLPP760UINwupgUj8qrSCPUKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.23.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/esbuild": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" + } + }, "node_modules/turbo": { "version": "2.1.1", "dev": true, @@ -8299,7 +10231,8 @@ "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/vercel": { "version": "37.4.0", @@ -8349,6 +10282,23 @@ "fsevents": "~2.1.2" } }, + "node_modules/vercel/node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "deprecated": "\"Please update to latest v2.3 or v2.2\"", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/vercel/node_modules/readdirp": { "version": "3.3.0", "dev": true, @@ -8853,6 +10803,7 @@ "version": "3.1.1", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -8935,9 +10886,6 @@ "undici-types": "~6.19.2" } }, - "packages/zk-circuits": { - "extraneous": true - }, "packages/zk-deck": { "name": "@jeton/zk-deck", "version": "0.0.0", @@ -8948,75 +10896,16 @@ "devDependencies": { "@jeton/typescript-config": "^0.0.0", "@types/chai": "^4.3.18", + "@types/chai-as-promised": "^8.0.0", "@types/mocha": "^10.0.7", "@types/snarkjs": "^0.7.8", "chai": "^5.1.1", + "chai-as-promised": "^8.0.0", "circomlib": "^2.0.5", "mocha": "^10.7.3", - "ts-node": "^10.9.2", + "tsx": "^4.19.0", "typescript": "^5.5.4" } - }, - "packages/zk-deck/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "license": "MIT" - }, - "packages/zk-deck/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "packages/zk-deck/node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } } } } diff --git a/packages/zk-deck/package.json b/packages/zk-deck/package.json index e00047d..355a7f0 100644 --- a/packages/zk-deck/package.json +++ b/packages/zk-deck/package.json @@ -3,52 +3,62 @@ "version": "0.0.0", "private": true, "type": "module", + "imports": { + "#verificationkey:shuffle-encrypt-deck.json": "./verification_keys/shuffle_encrypt_deck.json", + "#verificationkey:decrypt-card-share.json": "./verification_keys/decrypt_card_share.json" + }, "exports": { - "shuffle-encrypt-deck.wasm": "./dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck_js/shuffle_encrypt_deck.wasm", - "decrypt-share-card.wasm": "./dist/circuits/decrypt_card_share/decrypt_card_share_js/decrypt_card_share.wasm", - "shuffle-encrypt-deck.zkey": "./dist/zkeys/shuffle_encrypt_deck.zkey", - "decrypt-share-card.zkey": "./dist/zkeys/decrypt_card_share.zkey", - "shuffle-encrypt-deck-verification-key.json": "./dist/verification_keys/shuffle_encrypt_deck_verification_key.json", - "decrypt-share-card-verification-key.json": "./dist/verification_keys/decrypt_card_share_verification_key.json" + ".": { + "import": { + "types": "./dist/src/index.d.ts", + "default": "./dist/src/index.js" + } + }, + "./wasm/shuffle-encrypt-deck.wasm": "./dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck_js/shuffle_encrypt_deck.wasm", + "./wasm/decrypt-card-share.wasm": "./dist/circuits/decrypt_card_share/decrypt_card_share_js/decrypt_card_share.wasm" }, "scripts": { "circom:build:shuffle-encrypt-deck:mkdir": "mkdir -p dist/circuits/shuffle_encrypt_deck", "circom:build:shuffle-encrypt-deck:compile": "circom --r1cs --wasm --prime bls12381 --output dist/circuits/shuffle_encrypt_deck circuits/shuffle_encrypt_deck.circom", - "circom:build:decrypt-share-card:mkdir": "mkdir -p dist/circuits/decrypt_card_share", - "circom:build:decrypt-share-card:compile": "circom --r1cs --wasm --prime bls12381 --output dist/circuits/decrypt_card_share circuits/decrypt_card_share.circom", + "circom:build:decrypt-card-share:mkdir": "mkdir -p dist/circuits/decrypt_card_share", + "circom:build:decrypt-card-share:compile": "circom --r1cs --wasm --prime bls12381 --output dist/circuits/decrypt_card_share circuits/decrypt_card_share.circom", "circom:check:shuffle-encrypt-deck": "circom --inspect --prime bls12381 circuits/shuffle_encrypt_deck.circom", - "circom:check:decrypt-share-card": "circom --inspect --prime bls12381 circuits/decrypt_card_share.circom", - "snarkjs:build:powersoftau:mkdir": "mkdir -p dist/powersoftaus", - "snarkjs:build:powersoftau:pot14:new": "snarkjs powersoftau new bls12381 14 dist/powersoftaus/pot14_new.ptau", - "snarkjs:build:powersoftau:pot14:contribute": "snarkjs powersoftau contribute dist/powersoftaus/pot14_new.ptau dist/powersoftaus/pot14_contribute.ptau -e='x9J$gyWEGjBfHqp@CLn2^2XjXzJWrEeyb9EmkJqr2Hos@zpZmEq3HFiC4M2XbvBL'", - "snarkjs:build:powersoftau:pot14:beacon": "snarkjs powersoftau beacon dist/powersoftaus/pot14_contribute.ptau dist/powersoftaus/pot14_beacon.ptau '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", - "snarkjs:build:powersoftau:pot14:prepare": "snarkjs powersoftau prepare phase2 dist/powersoftaus/pot14_beacon.ptau dist/powersoftaus/pot14.ptau", - "snarkjs:build:powersoftau:pot18:new": "snarkjs powersoftau new bls12381 18 dist/powersoftaus/pot18_new.ptau", - "snarkjs:build:powersoftau:pot18:contribute": "snarkjs powersoftau contribute dist/powersoftaus/pot18_new.ptau dist/powersoftaus/pot18_contribute.ptau -e='x9J$gyWEGjBfHqp@CLn2^2XjXzJWrEeyb9EmkJqr2Hos@zpZmEq3HFiC4M2XbvBL'", - "snarkjs:build:powersoftau:pot18:beacon": "snarkjs powersoftau beacon dist/powersoftaus/pot18_contribute.ptau dist/powersoftaus/pot18_beacon.ptau '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", - "snarkjs:build:powersoftau:pot18:prepare": "snarkjs powersoftau prepare phase2 dist/powersoftaus/pot18_beacon.ptau dist/powersoftaus/pot18.ptau", - "snarkjs:build:zkey:mkdir": "mkdir -p dist/zkeys", - "snarkjs:build:zkey:shuffle-encrypt-deck:setup": "snarkjs groth16 setup dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck.r1cs dist/powersoftaus/pot18.ptau dist/zkeys/shuffle_encrypt_deck_setup.zkey", - "snarkjs:build:zkey:shuffle-encrypt-deck:contribute": "snarkjs zkey contribute dist/zkeys/shuffle_encrypt_deck_setup.zkey dist/zkeys/shuffle_encrypt_deck_contribute.zkey -e='JS^dbdvBo!P8HxjCxKJrdwF!HadBxS!b&vJtknJe5nDcnnGL3eo498UQe6yv87TU'", - "snarkjs:build:zkey:shuffle-encrypt-deck:beacon": "snarkjs zkey beacon dist/zkeys/shuffle_encrypt_deck_contribute.zkey dist/zkeys/shuffle_encrypt_deck.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", - "snarkjs:build:zkey:decrypt-share-card:setup": "snarkjs groth16 setup dist/circuits/decrypt_card_share/decrypt_card_share.r1cs dist/powersoftaus/pot14.ptau dist/zkeys/decrypt_card_share_setup.zkey", - "snarkjs:build:zkey:decrypt-share-card:contribute": "snarkjs zkey contribute dist/zkeys/decrypt_card_share_setup.zkey dist/zkeys/decrypt_card_share_contribute.zkey -e='ex#UciTJm^4$RebWxzrUK%9c#*4^KPE!VrxnaeoFhQb7aRojg@6n&hiCFWbG4$qB'", - "snarkjs:build:zkey:decrypt-share-card:beacon": "snarkjs zkey beacon dist/zkeys/decrypt_card_share_contribute.zkey dist/zkeys/decrypt_card_share.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", - "snarkjs:build:verificationkey:mkdir": "mkdir -p dist/verification_keys", - "snarkjs:build:verificationkey:shuffle-encrypt-deck": "snarkjs zkey export verificationkey dist/zkeys/shuffle_encrypt_deck.zkey dist/verification_keys/shuffle_encrypt_deck_verification_key.json", - "snarkjs:build:verificationkey:decrypt-share-card": "snarkjs zkey export verificationkey dist/zkeys/decrypt_card_share.zkey dist/verification_keys/decrypt_card_share_verification_key.json", + "circom:check:decrypt-card-share": "circom --inspect --prime bls12381 circuits/decrypt_card_share.circom", + "snarkjs:build:powersoftau:pot14:mkdir": "mkdir -p dist/powersoftaus/pot14", + "snarkjs:build:powersoftau:pot14:new": "snarkjs powersoftau new bls12381 14 dist/powersoftaus/pot14/new.ptau", + "snarkjs:build:powersoftau:pot14:contribute": "snarkjs powersoftau contribute dist/powersoftaus/pot14/new.ptau dist/powersoftaus/pot14/contribute.ptau -e='x9J$gyWEGjBfHqp@CLn2^2XjXzJWrEeyb9EmkJqr2Hos@zpZmEq3HFiC4M2XbvBL'", + "snarkjs:build:powersoftau:pot14:beacon": "snarkjs powersoftau beacon dist/powersoftaus/pot14/contribute.ptau dist/powersoftaus/pot14/beacon.ptau '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", + "snarkjs:build:powersoftau:pot14:prepare": "snarkjs powersoftau prepare phase2 dist/powersoftaus/pot14/beacon.ptau dist/powersoftaus/pot14.ptau", + "snarkjs:build:powersoftau:pot18:mkdir": "mkdir -p dist/powersoftaus/pot18", + "snarkjs:build:powersoftau:pot18:new": "snarkjs powersoftau new bls12381 18 dist/powersoftaus/pot18/new.ptau", + "snarkjs:build:powersoftau:pot18:contribute": "snarkjs powersoftau contribute dist/powersoftaus/pot18/new.ptau dist/powersoftaus/pot18/contribute.ptau -e='x9J$gyWEGjBfHqp@CLn2^2XjXzJWrEeyb9EmkJqr2Hos@zpZmEq3HFiC4M2XbvBL'", + "snarkjs:build:powersoftau:pot18:beacon": "snarkjs powersoftau beacon dist/powersoftaus/pot18/contribute.ptau dist/powersoftaus/pot18/beacon.ptau '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", + "snarkjs:build:powersoftau:pot18:prepare": "snarkjs powersoftau prepare phase2 dist/powersoftaus/pot18/beacon.ptau dist/powersoftaus/pot18.ptau", + "snarkjs:build:zkey:shuffle-encrypt-deck:mkdir": "mkdir -p dist/zkeys/shuffle_encrypt_deck", + "snarkjs:build:zkey:shuffle-encrypt-deck:setup": "snarkjs groth16 setup dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck.r1cs dist/powersoftaus/pot18.ptau dist/zkeys/shuffle_encrypt_deck/setup.zkey", + "snarkjs:build:zkey:shuffle-encrypt-deck:contribute": "snarkjs zkey contribute dist/zkeys/shuffle_encrypt_deck/setup.zkey dist/zkeys/shuffle_encrypt_deck/contribute.zkey -e='JS^dbdvBo!P8HxjCxKJrdwF!HadBxS!b&vJtknJe5nDcnnGL3eo498UQe6yv87TU'", + "snarkjs:build:zkey:shuffle-encrypt-deck:beacon": "snarkjs zkey beacon dist/zkeys/shuffle_encrypt_deck/contribute.zkey dist/zkeys/shuffle_encrypt_deck.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", + "snarkjs:build:zkey:decrypt-card-share:mkdir": "mkdir -p dist/zkeys/decrypt_card_share", + "snarkjs:build:zkey:decrypt-card-share:setup": "snarkjs groth16 setup dist/circuits/decrypt_card_share/decrypt_card_share.r1cs dist/powersoftaus/pot14.ptau dist/zkeys/decrypt_card_share/setup.zkey", + "snarkjs:build:zkey:decrypt-card-share:contribute": "snarkjs zkey contribute dist/zkeys/decrypt_card_share/setup.zkey dist/zkeys/decrypt_card_share/contribute.zkey -e='ex#UciTJm^4$RebWxzrUK%9c#*4^KPE!VrxnaeoFhQb7aRojg@6n&hiCFWbG4$qB'", + "snarkjs:build:zkey:decrypt-card-share:beacon": "snarkjs zkey beacon dist/zkeys/decrypt_card_share/contribute.zkey dist/zkeys/decrypt_card_share.zkey '68445acb30fba9ed3a7732c47baad8bf32d1a76e74b662a644941732d17076af' 10", + "snarkjs:build:verificationkey:mkdir": "mkdir -p verification_keys", + "snarkjs:build:verificationkey:shuffle-encrypt-deck": "snarkjs zkey export verificationkey dist/zkeys/shuffle_encrypt_deck.zkey verification_keys/shuffle_encrypt_deck.json", + "snarkjs:build:verificationkey:decrypt-card-share": "snarkjs zkey export verificationkey dist/zkeys/decrypt_card_share.zkey verification_keys/decrypt_card_share.json", "typescript:build": "tsc", "mocha:test": "mocha src/**/*.test.ts" }, "devDependencies": { "@jeton/typescript-config": "^0.0.0", "@types/chai": "^4.3.18", + "@types/chai-as-promised": "^8.0.0", "@types/mocha": "^10.0.7", "@types/snarkjs": "^0.7.8", "chai": "^5.1.1", + "chai-as-promised": "^8.0.0", "circomlib": "^2.0.5", "mocha": "^10.7.3", - "ts-node": "^10.9.2", + "tsx": "^4.19.0", "typescript": "^5.5.4" }, "dependencies": { @@ -56,7 +66,7 @@ "snarkjs": "^0.7.4" }, "mocha": { - "loader": "ts-node/esm", + "node-option": ["import=tsx"], "timeout": "20000", "exit": true } diff --git a/packages/zk-deck/src/constants.ts b/packages/zk-deck/src/constants.ts new file mode 100644 index 0000000..0573674 --- /dev/null +++ b/packages/zk-deck/src/constants.ts @@ -0,0 +1,2 @@ +export const numCards = 52; +export const numTripleBits = 84; diff --git a/packages/zk-deck/src/decrypt_card_share.test.ts b/packages/zk-deck/src/decrypt_card_share.test.ts new file mode 100644 index 0000000..ee1a3dc --- /dev/null +++ b/packages/zk-deck/src/decrypt_card_share.test.ts @@ -0,0 +1,66 @@ +import { expect } from "chai"; +import { before, describe, test } from "mocha"; + +import { + proveDecryptCardShare, + verifyDecryptCardShare, +} from "./decrypt_card_share.js"; +import { + type TwistedEdwardsCurve, + createJubJub, +} from "./twisted_edwards_curve.js"; + +const decryptCardShareWasm = + "./dist/circuits/decrypt_card_share/decrypt_card_share_js/decrypt_card_share.wasm"; + +describe("decrypt card share", () => { + let curve: TwistedEdwardsCurve; + before(async () => { + curve = await createJubJub(); + }); + + test("should prove and verify decrypt_card_share", async () => { + const secretKey = curve.sampleScalar(); + const publicKey = curve.pointToStringTuple( + curve.mulScalarPoint(secretKey, curve.generator), + ); + const inputPointValue = curve.mulScalarPoint( + curve.sampleScalar(), + curve.generator, + ); + const inputPoint = curve.pointToStringTuple(inputPointValue); + const expectedOutputPoint = curve.pointToStringTuple( + curve.mulScalarPoint(secretKey, inputPointValue), + ); + + const { proof, outputPoint } = await proveDecryptCardShare( + secretKey, + publicKey, + inputPoint, + decryptCardShareWasm, + ); + expect(outputPoint).to.deep.equal(expectedOutputPoint); + expect( + await verifyDecryptCardShare(publicKey, inputPoint, outputPoint, proof), + ).to.be.true; + }); + + test("should not generate proof if publicKey does not match secretKey", async () => { + const secretKey = curve.sampleScalar(); + const publicKey = curve.pointToStringTuple( + curve.mulScalarPoint(curve.sampleScalar(), curve.generator), + ); + const inputPoint = curve.pointToStringTuple( + curve.mulScalarPoint(curve.sampleScalar(), curve.generator), + ); + + await expect( + proveDecryptCardShare( + secretKey, + publicKey, + inputPoint, + decryptCardShareWasm, + ), + ).to.rejected; + }); +}); diff --git a/packages/zk-deck/src/decrypt_card_share.ts b/packages/zk-deck/src/decrypt_card_share.ts new file mode 100644 index 0000000..2f4cd11 --- /dev/null +++ b/packages/zk-deck/src/decrypt_card_share.ts @@ -0,0 +1,43 @@ +import { Scalar } from "ffjavascript"; +import { type Groth16Proof, groth16 } from "snarkjs"; + +import decryptCardShareVerificationKey from "#verificationkey:decrypt-card-share.json"; +import { numTripleBits } from "./constants.js"; + +const decryptCardShareZkey = "./dist/zkeys/decrypt_card_share.zkey"; + +export async function proveDecryptCardShare( + secretKey: bigint, + publicKey: [string, string], + inputPoint: [string, string], + decryptCardShareWasm: string, +): Promise<{ proof: Groth16Proof; outputPoint: [string, string] }> { + let secretKeyBits = Scalar.bits(secretKey); + secretKeyBits = secretKeyBits.concat( + new Array(3 * numTripleBits - secretKeyBits.length).fill(0), + ); + const { proof, publicSignals } = await groth16.fullProve( + { + secretKeyBits, + publicKey, + inputPoint, + }, + decryptCardShareWasm, + decryptCardShareZkey, + ); + const outputPoint = publicSignals.slice(0, 2) as [string, string]; + return { proof, outputPoint }; +} + +export function verifyDecryptCardShare( + publicKey: [string, string], + inputPoint: [string, string], + outputPoint: [string, string], + proof: Groth16Proof, +): Promise { + return groth16.verify( + decryptCardShareVerificationKey, + [...outputPoint, ...publicKey, ...inputPoint], + proof, + ); +} diff --git a/packages/zk-deck/src/index.test.ts b/packages/zk-deck/src/index.test.ts index 644b1d4..87565ee 100644 --- a/packages/zk-deck/src/index.test.ts +++ b/packages/zk-deck/src/index.test.ts @@ -17,142 +17,75 @@ describe("ZKDeck", () => { before(async () => { zkdeck = await createZKDeck( "dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck_js/shuffle_encrypt_deck.wasm", - "dist/zkeys/shuffle_encrypt_deck.zkey", "dist/circuits/decrypt_card_share/decrypt_card_share_js/decrypt_card_share.wasm", - "dist/zkeys/decrypt_card_share.zkey", ); }); - test("should prove and verify shuffle_encrypt_deck", async () => { - const aggregatedPublicKey = zkdeck.generateAggregatedPublicKey( - new Array(5) + for (let numPlayers = 2; numPlayers <= 5; numPlayers++) { + test(`end to end of shuffle, encrypt and decrypt for ${numPlayers} player`, async () => { + const secretKeys = new Array(numPlayers) .fill(undefined) - .map((_) => zkdeck.generatePublicKey(zkdeck.sampleSecretKey())), - ); - const inputDeck: EncryptedDeck = new Array(numCards) - .fill(undefined) - .map((_) => [ - ...zkdeck.curve.pointToStringTuple( - zkdeck.curve.mulScalarPoint( - zkdeck.curve.sampleScalar(), - zkdeck.curve.generator, - ), - ), - ...zkdeck.curve.pointToStringTuple( - zkdeck.curve.mulScalarPoint( - zkdeck.curve.sampleScalar(), - zkdeck.curve.generator, - ), - ), - ]); - const permutationVector = samplePermutationVector(numCards); - const randomVector = new Array(numCards) - .fill(undefined) - .map((_) => zkdeck.curve.sampleScalar()); - const { proof, deck } = await zkdeck.proveShuffleEncryptDeck( - aggregatedPublicKey, - inputDeck, - permutationVector, - randomVector, - ); - expect( - await zkdeck.verifyShuffleEncryptDeck( - proof, - aggregatedPublicKey, - inputDeck, - deck, - ), - ).to.be.true; - expect(deck).to.deep.equal( - zkdeck.shuffleEncryptDeck( - aggregatedPublicKey, - inputDeck, - permutationVector, - randomVector, - ), - ); - }); - - test("should prove and verify decrypt_card_share", async () => { - const secretKey = zkdeck.sampleSecretKey(); - const publicKey = zkdeck.generatePublicKey(secretKey); - const cardIndex = 50; - const inDeck: EncryptedDeck = new Array(numCards) - .fill(undefined) - .map((_) => [ - ...zkdeck.curve.pointToStringTuple( - zkdeck.curve.mulScalarPoint( - zkdeck.curve.sampleScalar(), - zkdeck.curve.generator, - ), - ), - ...zkdeck.curve.pointToStringTuple( - zkdeck.curve.mulScalarPoint( - zkdeck.curve.sampleScalar(), - zkdeck.curve.generator, - ), - ), - ]); - const { proof, decryptCardShare } = await zkdeck.proveDecryptCardShare( - secretKey, - cardIndex, - inDeck, - ); - expect( - await zkdeck.verifyDecryptCardShare( - proof, - publicKey, - cardIndex, - inDeck, - decryptCardShare, - ), - ).to.be.true; - expect(decryptCardShare).to.deep.equal( - zkdeck.decryptCardShare(secretKey, cardIndex, inDeck), - ); - }); - - test("cards should have correct order after shuffle_encrypt and decrypt", async () => { - const numPlayers = 3; - const secretKeys = new Array(numPlayers) - .fill(undefined) - .map((_) => zkdeck.sampleSecretKey()); - const aggregatedPublicKey = zkdeck.generateAggregatedPublicKey( - secretKeys.map((secretKey) => zkdeck.generatePublicKey(secretKey)), - ); - const permutationVectors = new Array(numPlayers) - .fill(undefined) - .map((_) => samplePermutationVector(numCards)); - let encryptedDeck = zkdeck.initialEncryptedDeck; - for (let i = 0; i < numPlayers; i++) { - encryptedDeck = await zkdeck - .proveShuffleEncryptDeck( + .map((_) => zkdeck.sampleSecretKey()); + const aggregatedPublicKey = zkdeck.generateAggregatedPublicKey( + secretKeys.map((secretKey) => zkdeck.generatePublicKey(secretKey)), + ); + const permutationVectors = new Array(numPlayers) + .fill(undefined) + .map((_) => samplePermutationVector(numCards)); + let encryptedDeck = zkdeck.initialEncryptedDeck; + for (let i = 0; i < numPlayers; i++) { + const { proof, outputDeck } = await zkdeck.proveShuffleEncryptDeck( aggregatedPublicKey, encryptedDeck, permutationVectors[i], - ) - .then(({ deck }) => deck); - } - - const deck = await Promise.all( - Array.from(new Array(numCards).keys()).map(async (cardIndex) => { - const shares = await Promise.all( - secretKeys.map((secretKeys) => - zkdeck - .proveDecryptCardShare(secretKeys, cardIndex, encryptedDeck) - .then(({ decryptCardShare }) => decryptCardShare), - ), ); - return zkdeck.decryptCard(cardIndex, encryptedDeck, shares); - }), - ); + expect( + await zkdeck.verifyShuffleEncryptDeck( + aggregatedPublicKey, + encryptedDeck, + outputDeck, + proof, + ), + ).to.be.true; + encryptedDeck = outputDeck; + } - expect(deck).to.deep.equal( - permutationVectors.reduce( - (deck, permutationVector) => - applyPermutationVector(permutationVector, deck), - Array.from(new Array(numCards).keys()), - ), - ); - }).timeout(5 * 60 * 1000); + const deck = await Promise.all( + Array.from(new Array(numCards).keys()).map(async (cardIndex) => { + const shares = await Promise.all( + secretKeys.map(async (secretKeys) => { + const publicKey = zkdeck.generatePublicKey(secretKeys); + const { proof, decryptionCardShare } = + await zkdeck.proveDecryptCardShare( + secretKeys, + cardIndex, + encryptedDeck, + ); + + expect( + await zkdeck.verifyDecryptCardShare( + publicKey, + cardIndex, + encryptedDeck, + decryptionCardShare, + proof, + ), + ).to.be.true; + + return decryptionCardShare; + }), + ); + return zkdeck.decryptCard(cardIndex, encryptedDeck, shares); + }), + ); + + expect(deck).to.deep.equal( + permutationVectors.reduce( + (deck, permutationVector) => + applyPermutationVector(permutationVector, deck), + Array.from(new Array(numCards).keys()), + ), + ); + }).timeout(numPlayers * 60 * 1000); + } }); diff --git a/packages/zk-deck/src/index.ts b/packages/zk-deck/src/index.ts index af83fd0..3a81afb 100644 --- a/packages/zk-deck/src/index.ts +++ b/packages/zk-deck/src/index.ts @@ -1,41 +1,38 @@ -import { Scalar } from "ffjavascript"; -import { type Groth16Proof, groth16 } from "snarkjs"; +import type { Groth16Proof } from "snarkjs"; +import { numCards } from "./constants.js"; +import { + proveDecryptCardShare, + verifyDecryptCardShare, +} from "./decrypt_card_share.js"; import { applyPermutationVector, createPermutationMatrix, samplePermutationVector, } from "./permutation.js"; +import { + proveShuffleEncryptDeck, + verifyShuffleEncryptDeck, +} from "./shuffle_encrypt_deck.js"; import { type TwistedEdwardsCurve, createJubJub, } from "./twisted_edwards_curve.js"; -import decryptCardShareVerificationKey from "../dist/verification_keys/decrypt_card_share_verification_key.json" with { - type: "json", -}; -import shuffleEncryptDeckVerificationKey from "../dist/verification_keys/shuffle_encrypt_deck_verification_key.json" with { - type: "json", -}; - -export const numCards = 52; - export type SecretKey = bigint; export type PublicKey = [string, string]; export type AggregatedPublicKey = [string, string]; export type EncryptedCard = [string, string, string, string]; export type EncryptedDeck = EncryptedCard[]; -export type DecryptCardShare = [string, string]; +export type DecryptionCardShare = [string, string]; export class ZKDeck { readonly initialEncryptedDeck: EncryptedDeck; constructor( readonly curve: TwistedEdwardsCurve, readonly shuffleEncryptDeckWasm: string, - readonly shuffleEncryptDeckZkey: string, readonly decryptCardShareWasm: string, - readonly decryptCardShareZkey: string, ) { this.initialEncryptedDeck = Array.from(new Array(numCards).keys()).map( (i) => @@ -67,130 +64,72 @@ export class ZKDeck { return this.curve.pointToStringTuple(p); } - public shuffleEncryptDeck( - aggregatedPublicKey: AggregatedPublicKey, - deck: EncryptedDeck, - permutationVector?: number[], - randomVector?: bigint[], - ): EncryptedDeck { - return applyPermutationVector( - permutationVector || samplePermutationVector(numCards), - deck, - ).map((card, i) => { - const r = randomVector?.at(i) || this.curve.sampleScalar(); - const c1 = this.curve.addPoints( - this.curve.point([card[0], card[1]]), - this.curve.mulScalarPoint(r, this.curve.generator), - ); - const c2 = this.curve.addPoints( - this.curve.point([card[2], card[3]]), - this.curve.mulScalarPoint(r, this.curve.point(aggregatedPublicKey)), - ); - return [ - ...this.curve.pointToStringTuple(c1), - ...this.curve.pointToStringTuple(c2), - ]; - }); - } - public async proveShuffleEncryptDeck( aggregatedPublicKey: AggregatedPublicKey, inputDeck: EncryptedDeck, permutationVector?: number[], randomVector?: bigint[], - ): Promise<{ proof: Groth16Proof; deck: EncryptedDeck }> { + ): Promise<{ proof: Groth16Proof; outputDeck: EncryptedDeck }> { const permutationMatrix = createPermutationMatrix( permutationVector || samplePermutationVector(numCards), ); - const randomVectorBits = ( + return proveShuffleEncryptDeck( + permutationMatrix, + aggregatedPublicKey, randomVector || - new Array(numCards).fill(undefined).map((_) => this.curve.sampleScalar()) - ).map((random) => { - const bits = Scalar.bits(random); - return bits.concat(new Array(252 - bits.length).fill(0)); - }); - const { proof, publicSignals } = await groth16.fullProve( - { - permutationMatrix, - aggregatedPublicKey, - randomVectorBits, - inputDeck, - }, + new Array(numCards) + .fill(undefined) + .map((_) => this.curve.sampleScalar()), + inputDeck, this.shuffleEncryptDeckWasm, - this.shuffleEncryptDeckZkey, ); - return { - proof, - deck: Array.from(new Array(numCards).keys()).map( - (i) => publicSignals.slice(4 * i, 4 * i + 4) as EncryptedCard, - ), - }; } public async verifyShuffleEncryptDeck( - proof: Groth16Proof, aggregatedPublicKey: AggregatedPublicKey, inputDeck: EncryptedDeck, - outDeck: EncryptedDeck, + outputDeck: EncryptedDeck, + proof: Groth16Proof, ): Promise { - return groth16.verify( - shuffleEncryptDeckVerificationKey, - [...outDeck.flat(), ...aggregatedPublicKey, ...inputDeck.flat()], + return verifyShuffleEncryptDeck( + aggregatedPublicKey, + inputDeck, + outputDeck, proof, ); } - public decryptCardShare( - secretKey: SecretKey, - cardIndex: number, - deck: EncryptedDeck, - ): DecryptCardShare { - const c1 = this.curve.point( - deck[cardIndex]?.slice(0, 2) as [string, string], - ); - return this.curve.pointToStringTuple( - this.curve.mulScalarPoint(secretKey, c1), - ); - } - public async proveDecryptCardShare( secretKey: SecretKey, cardIndex: number, deck: EncryptedDeck, - ): Promise<{ proof: Groth16Proof; decryptCardShare: DecryptCardShare }> { - let secretKeyBits = Scalar.bits(secretKey); - secretKeyBits = secretKeyBits.concat( - new Array(252 - secretKeyBits.length).fill(0), - ); + ): Promise<{ + proof: Groth16Proof; + decryptionCardShare: DecryptionCardShare; + }> { const publicKey = this.generatePublicKey(secretKey); const inputPoint = deck[cardIndex]?.slice(0, 2) as [string, string]; - const { proof, publicSignals } = await groth16.fullProve( - { - secretKeyBits, - publicKey, - inputPoint, - }, + const { proof, outputPoint } = await proveDecryptCardShare( + secretKey, + publicKey, + inputPoint, this.decryptCardShareWasm, - this.decryptCardShareZkey, ); - const decryptCardShare = publicSignals.slice(0, 2) as DecryptCardShare; - return { proof, decryptCardShare }; + return { proof, decryptionCardShare: outputPoint }; } public async verifyDecryptCardShare( - proof: Groth16Proof, publicKey: PublicKey, cardIndex: number, deck: EncryptedDeck, - decryptCardShare: DecryptCardShare, + decryptCardShare: DecryptionCardShare, + proof: Groth16Proof, ): Promise { - return groth16.verify( - decryptCardShareVerificationKey, - [ - ...decryptCardShare, - ...publicKey, - ...(deck[cardIndex]?.slice(0, 2) as [string, string]), - ], + const inputPoint = deck[cardIndex]?.slice(0, 2) as [string, string]; + return verifyDecryptCardShare( + publicKey, + inputPoint, + decryptCardShare, proof, ); } @@ -198,7 +137,7 @@ export class ZKDeck { public decryptCard( cardIndex: number, deck: EncryptedDeck, - decryptCardShares: DecryptCardShare[], + decryptCardShares: DecryptionCardShare[], ): number { const sum = decryptCardShares.reduce( (acc, ds) => this.curve.addPoints(acc, this.curve.point(ds)), @@ -219,15 +158,10 @@ export class ZKDeck { export async function createZKDeck( shuffleEncryptDeckWasm: string, shuffleEncryptDeckZkey: string, - decryptCardShareWasm: string, - decryptCardShareZkey: string, ): Promise { const curve = await createJubJub(); - return new ZKDeck( - curve, - shuffleEncryptDeckWasm, - shuffleEncryptDeckZkey, - decryptCardShareWasm, - decryptCardShareZkey, - ); + return new ZKDeck(curve, shuffleEncryptDeckWasm, shuffleEncryptDeckZkey); } + +export { numCards } from "./constants.js"; +export type { Groth16Proof } from "snarkjs"; diff --git a/packages/zk-deck/src/shuffle_encrypt_deck.test.ts b/packages/zk-deck/src/shuffle_encrypt_deck.test.ts new file mode 100644 index 0000000..fcec071 --- /dev/null +++ b/packages/zk-deck/src/shuffle_encrypt_deck.test.ts @@ -0,0 +1,173 @@ +import { expect, use } from "chai"; +import chaiAsPromised from "chai-as-promised"; +import { before, describe, test } from "mocha"; +use(chaiAsPromised); + +import { numCards } from "./constants.js"; +import { + applyPermutationVector, + createPermutationMatrix, + samplePermutationVector, +} from "./permutation.js"; +import { + proveShuffleEncryptDeck, + verifyShuffleEncryptDeck, +} from "./shuffle_encrypt_deck.js"; +import { + type Point, + type TwistedEdwardsCurve, + createJubJub, +} from "./twisted_edwards_curve.js"; + +const shuffleEncrypDeckWasm = + "./dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck_js/shuffle_encrypt_deck.wasm"; + +describe("shuffle encrypt deck", () => { + let curve: TwistedEdwardsCurve; + before(async () => { + curve = await createJubJub(); + }); + + test("should prove and verify shuffle_encrypt_deck", async () => { + const aggregatedPublicKeyValue = curve.mulScalarPoint( + curve.sampleScalar(), + curve.generator, + ); + const aggregatedPublicKey = curve.pointToStringTuple( + aggregatedPublicKeyValue, + ); + const permutationVector = samplePermutationVector(numCards); + const permutationMatrix = createPermutationMatrix(permutationVector); + const randomVector = new Array(numCards) + .fill(undefined) + .map((_) => curve.sampleScalar()); + const inputDeckValues = new Array(numCards) + .fill(undefined) + .map( + (_) => + [ + curve.mulScalarPoint(curve.sampleScalar(), curve.generator), + curve.mulScalarPoint(curve.sampleScalar(), curve.generator), + ] as [Point, Point], + ); + const inputDeck = inputDeckValues.map( + ([p1, p2]) => + [...curve.pointToStringTuple(p1), ...curve.pointToStringTuple(p2)] as [ + string, + string, + string, + string, + ], + ); + const expectedOutputPoint = applyPermutationVector( + permutationVector, + inputDeckValues, + ) + .map( + ([p1, p2], i) => + [ + curve.addPoints( + p1, + curve.mulScalarPoint(randomVector[i] as bigint, curve.generator), + ), + curve.addPoints( + p2, + curve.mulScalarPoint( + randomVector[i] as bigint, + aggregatedPublicKeyValue, + ), + ), + ] as [Point, Point], + ) + .map( + ([p1, p2]) => + [ + ...curve.pointToStringTuple(p1), + ...curve.pointToStringTuple(p2), + ] as [string, string, string, string], + ); + + const { proof, outputDeck } = await proveShuffleEncryptDeck( + permutationMatrix, + aggregatedPublicKey, + randomVector, + inputDeck, + shuffleEncrypDeckWasm, + ); + expect(outputDeck).to.deep.equal(expectedOutputPoint); + expect( + await verifyShuffleEncryptDeck( + aggregatedPublicKey, + inputDeck, + outputDeck, + proof, + ), + ).to.be.true; + }); + + test("should not generate proof if permutation matrix is invalid", async () => { + const aggregatedPublicKey = curve.pointToStringTuple( + curve.mulScalarPoint(curve.sampleScalar(), curve.generator), + ); + const permutationVector = samplePermutationVector(numCards); + const permutationMatrix = createPermutationMatrix(permutationVector); + const randomVector = new Array(numCards) + .fill(undefined) + .map((_) => curve.sampleScalar()); + const inputDeck = new Array(numCards) + .fill(undefined) + .map( + (_) => + [ + ...curve.pointToStringTuple( + curve.mulScalarPoint(curve.sampleScalar(), curve.generator), + ), + ...curve.pointToStringTuple( + curve.mulScalarPoint(curve.sampleScalar(), curve.generator), + ), + ] as [string, string, string, string], + ); + + const faultyPermutationMatrix1 = permutationMatrix.map((row) => [...row]); + (faultyPermutationMatrix1[0] as number[])[0] = 2; + await expect( + proveShuffleEncryptDeck( + faultyPermutationMatrix1, + aggregatedPublicKey, + randomVector, + inputDeck, + shuffleEncrypDeckWasm, + ), + ).to.rejected; + + const faultyPermutationMatrix2 = permutationMatrix.map((row) => [...row]); + (faultyPermutationMatrix2[0] as number[])[ + permutationMatrix[0]?.indexOf(1) as number + ] = 0; + await expect( + proveShuffleEncryptDeck( + faultyPermutationMatrix2, + aggregatedPublicKey, + randomVector, + inputDeck, + shuffleEncrypDeckWasm, + ), + ).to.rejected; + + const faultyPermutationMatrix3 = permutationMatrix.map((row) => [...row]); + if (faultyPermutationMatrix3[0]?.[0] === 0) { + (faultyPermutationMatrix3[0] as number[])[0] = 1; + } else { + (faultyPermutationMatrix3[0] as number[])[1] = 1; + } + await expect( + proveShuffleEncryptDeck( + faultyPermutationMatrix3, + aggregatedPublicKey, + randomVector, + inputDeck, + shuffleEncrypDeckWasm, + ), + ).to.rejected; + }); +}); diff --git a/packages/zk-deck/src/shuffle_encrypt_deck.ts b/packages/zk-deck/src/shuffle_encrypt_deck.ts new file mode 100644 index 0000000..2c04bd3 --- /dev/null +++ b/packages/zk-deck/src/shuffle_encrypt_deck.ts @@ -0,0 +1,51 @@ +import { Scalar } from "ffjavascript"; +import { type Groth16Proof, groth16 } from "snarkjs"; + +import shuffleEncryptDeckVerificationKey from "#verificationkey:shuffle-encrypt-deck.json"; +import { numCards, numTripleBits } from "./constants.js"; + +const shuffleEncryptDeckZkey = "./dist/zkeys/shuffle_encrypt_deck.zkey"; + +export async function proveShuffleEncryptDeck( + permutationMatrix: number[][], + aggregatedPublicKey: [string, string], + randomVector: bigint[], + inputDeck: [string, string, string, string][], + shuffleEncryptDeckWasm: string, +): Promise<{ + proof: Groth16Proof; + outputDeck: [string, string, string, string][]; +}> { + const randomVectorBits = randomVector.map((random) => { + const bits = Scalar.bits(random); + return bits.concat(new Array(3 * numTripleBits - bits.length).fill(0)); + }); + const { proof, publicSignals } = await groth16.fullProve( + { + permutationMatrix, + aggregatedPublicKey, + randomVectorBits, + inputDeck, + }, + shuffleEncryptDeckWasm, + shuffleEncryptDeckZkey, + ); + const outputDeck = Array.from(new Array(numCards).keys()).map( + (i) => + publicSignals.slice(4 * i, 4 * i + 4) as [string, string, string, string], + ); + return { proof, outputDeck }; +} + +export function verifyShuffleEncryptDeck( + aggregatedPublicKey: [string, string], + inputDeck: [string, string, string, string][], + outputDeck: [string, string, string, string][], + proof: Groth16Proof, +): Promise { + return groth16.verify( + shuffleEncryptDeckVerificationKey, + [...outputDeck.flat(), ...aggregatedPublicKey, ...inputDeck.flat()], + proof, + ); +} diff --git a/packages/zk-deck/turbo.json b/packages/zk-deck/turbo.json index 17491d3..5c10309 100644 --- a/packages/zk-deck/turbo.json +++ b/packages/zk-deck/turbo.json @@ -14,7 +14,7 @@ "circom:build": { "dependsOn": [ "circom:build:shuffle-encrypt-deck", - "circom:build:decrypt-share-card" + "circom:build:decrypt-card-share" ] }, "circom:build:shuffle-encrypt-deck": { @@ -34,24 +34,24 @@ ], "outputs": ["dist/circuits/shuffle_encrypt_deck/**"] }, - "circom:build:decrypt-share-card": { + "circom:build:decrypt-card-share": { "dependsOn": [ - "circom:build:decrypt-share-card:mkdir", - "circom:build:decrypt-share-card:compile" + "circom:build:decrypt-card-share:mkdir", + "circom:build:decrypt-card-share:compile" ] }, - "circom:build:decrypt-share-card:mkdir": { + "circom:build:decrypt-card-share:mkdir": { "cache": false }, - "circom:build:decrypt-share-card:compile": { - "dependsOn": ["circom:build:decrypt-share-card:mkdir"], + "circom:build:decrypt-card-share:compile": { + "dependsOn": ["circom:build:decrypt-card-share:mkdir"], "inputs": ["circuits/decrypt_card_share.circom", "circuits/templates/**"], "outputs": ["dist/circuits/decrypt_card_share/**"] }, "circom:check": { "dependsOn": [ "circom:check:shuffle-encrypt-deck", - "circom:check:decrypt-share-card" + "circom:check:decrypt-card-share" ] }, "circom:check:shuffle-encrypt-deck": { @@ -60,7 +60,7 @@ "circuits/templates/**" ] }, - "circom:check:decrypt-share-card": { + "circom:check:decrypt-card-share": { "inputs": ["circuits/decrypt_card_share.circom", "circuits/templates/**"] }, "snarkjs:build": { @@ -72,39 +72,39 @@ }, "snarkjs:build:powersoftau": { "dependsOn": [ - "snarkjs:build:powersoftau:mkdir", "snarkjs:build:powersoftau:pot14", "snarkjs:build:powersoftau:pot18" ] }, - "snarkjs:build:powersoftau:mkdir": { - "cache": false - }, "snarkjs:build:powersoftau:pot14": { "dependsOn": [ + "snarkjs:build:powersoftau:pot14:mkdir", "snarkjs:build:powersoftau:pot14:new", "snarkjs:build:powersoftau:pot14:contribute", "snarkjs:build:powersoftau:pot14:beacon", "snarkjs:build:powersoftau:pot14:prepare" ] }, + "snarkjs:build:powersoftau:pot14:mkdir": { + "cache": false + }, "snarkjs:build:powersoftau:pot14:new": { - "dependsOn": ["snarkjs:build:powersoftau:mkdir"], - "outputs": ["dist/powersoftaus/pot14_new.ptau"] + "dependsOn": ["snarkjs:build:powersoftau:pot14:mkdir"], + "outputs": ["dist/powersoftaus/pot14/new.ptau"] }, "snarkjs:build:powersoftau:pot14:contribute": { "dependsOn": ["snarkjs:build:powersoftau:pot14:new"], - "inputs": ["dist/powersoftaus/pot14_new.ptau"], - "outputs": ["dist/powersoftaus/pot14_contribute.ptau"] + "inputs": ["dist/powersoftaus/pot14/new.ptau"], + "outputs": ["dist/powersoftaus/pot14/contribute.ptau"] }, "snarkjs:build:powersoftau:pot14:beacon": { "dependsOn": ["snarkjs:build:powersoftau:pot14:contribute"], - "inputs": ["dist/powersoftaus/pot14_contribute.ptau"], - "outputs": ["dist/powersoftaus/pot14_beacon.ptau"] + "inputs": ["dist/powersoftaus/pot14/contribute.ptau"], + "outputs": ["dist/powersoftaus/pot14/beacon.ptau"] }, "snarkjs:build:powersoftau:pot14:prepare": { "dependsOn": ["snarkjs:build:powersoftau:pot14:beacon"], - "inputs": ["dist/powersoftaus/pot14_beacon.ptau"], + "inputs": ["dist/powersoftaus/pot14/beacon.ptau"], "outputs": ["dist/powersoftaus/pot14.ptau"] }, "snarkjs:build:powersoftau:pot18": { @@ -115,98 +115,105 @@ "snarkjs:build:powersoftau:pot18:prepare" ] }, + "snarkjs:build:powersoftau:pot18:mkdir": { + "cache": false + }, "snarkjs:build:powersoftau:pot18:new": { - "dependsOn": ["snarkjs:build:powersoftau:mkdir"], - "outputs": ["dist/powersoftaus/pot18_new.ptau"] + "dependsOn": ["snarkjs:build:powersoftau:pot18:mkdir"], + "outputs": ["dist/powersoftaus/pot18/new.ptau"] }, "snarkjs:build:powersoftau:pot18:contribute": { "dependsOn": ["snarkjs:build:powersoftau:pot18:new"], - "inputs": ["dist/powersoftaus/pot18_new.ptau"], - "outputs": ["dist/powersoftaus/pot18_contribute.ptau"] + "inputs": ["dist/powersoftaus/pot18/new.ptau"], + "outputs": ["dist/powersoftaus/pot18/contribute.ptau"] }, "snarkjs:build:powersoftau:pot18:beacon": { "dependsOn": ["snarkjs:build:powersoftau:pot18:contribute"], - "inputs": ["dist/powersoftaus/pot18_contribute.ptau"], - "outputs": ["dist/powersoftaus/pot18_beacon.ptau"] + "inputs": ["dist/powersoftaus/pot18/contribute.ptau"], + "outputs": ["dist/powersoftaus/pot18/beacon.ptau"] }, "snarkjs:build:powersoftau:pot18:prepare": { "dependsOn": ["snarkjs:build:powersoftau:pot18:beacon"], - "inputs": ["dist/powersoftaus/pot18_beacon.ptau"], + "inputs": ["dist/powersoftaus/pot18/beacon.ptau"], "outputs": ["dist/powersoftaus/pot18.ptau"] }, "snarkjs:build:zkey": { "dependsOn": [ - "snarkjs:build:zkey:mkdir", "snarkjs:build:zkey:shuffle-encrypt-deck", - "snarkjs:build:zkey:decrypt-share-card" + "snarkjs:build:zkey:decrypt-card-share" ] }, - "snarkjs:build:zkey:mkdir": { - "cache": false - }, "snarkjs:build:zkey:shuffle-encrypt-deck": { "dependsOn": [ + "snarkjs:build:zkey:shuffle-encrypt-deck:mkdir", "snarkjs:build:zkey:shuffle-encrypt-deck:setup", "snarkjs:build:zkey:shuffle-encrypt-deck:contribute", "snarkjs:build:zkey:shuffle-encrypt-deck:beacon" ] }, + "snarkjs:build:zkey:shuffle-encrypt-deck:mkdir": { + "cache": false + }, "snarkjs:build:zkey:shuffle-encrypt-deck:setup": { "dependsOn": [ "circom:build:shuffle-encrypt-deck", "snarkjs:build:powersoftau:pot18", - "snarkjs:build:zkey:mkdir" + "snarkjs:build:zkey:shuffle-encrypt-deck:mkdir" ], "inputs": [ "dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck.r1cs", "dist/powersoftaus/pot18.ptau" ], - "outputs": ["dist/zkeys/shuffle_encrypt_deck_setup.zkey"] + "outputs": ["dist/zkeys/shuffle_encrypt_deck/setup.zkey"] }, "snarkjs:build:zkey:shuffle-encrypt-deck:contribute": { "dependsOn": ["snarkjs:build:zkey:shuffle-encrypt-deck:setup"], - "inputs": ["dist/zkeys/shuffle_encrypt_deck_setup.zkey"], - "outputs": ["dist/zkeys/shuffle_encrypt_deck_contribute.zkey"] + "inputs": ["dist/zkeys/shuffle_encrypt_deck/setup.zkey"], + "outputs": ["dist/zkeys/shuffle_encrypt_deck/contribute.zkey"] }, "snarkjs:build:zkey:shuffle-encrypt-deck:beacon": { "dependsOn": ["snarkjs:build:zkey:shuffle-encrypt-deck:contribute"], - "inputs": ["dist/zkeys/shuffle_encrypt_deck_contribute.zkey"], + "inputs": ["dist/zkeys/shuffle_encrypt_deck/contribute.zkey"], "outputs": ["dist/zkeys/shuffle_encrypt_deck.zkey"] }, - "snarkjs:build:zkey:decrypt-share-card": { + "snarkjs:build:zkey:decrypt-card-share": { "dependsOn": [ - "snarkjs:build:zkey:decrypt-share-card:setup", - "snarkjs:build:zkey:decrypt-share-card:contribute", - "snarkjs:build:zkey:decrypt-share-card:beacon" + "snarkjs:build:zkey:decrypt-card-share:mkdir", + "snarkjs:build:zkey:decrypt-card-share:setup", + "snarkjs:build:zkey:decrypt-card-share:contribute", + "snarkjs:build:zkey:decrypt-card-share:beacon" ] }, - "snarkjs:build:zkey:decrypt-share-card:setup": { + "snarkjs:build:zkey:decrypt-card-share:mkdir": { + "cache": false + }, + "snarkjs:build:zkey:decrypt-card-share:setup": { "dependsOn": [ - "circom:build:decrypt-share-card", + "circom:build:decrypt-card-share", "snarkjs:build:powersoftau:pot14", - "snarkjs:build:zkey:mkdir" + "snarkjs:build:zkey:decrypt-card-share:mkdir" ], "inputs": [ "dist/circuits/decrypt_card_share/decrypt_card_share.r1cs", "dist/powersoftaus/pot14.ptau" ], - "outputs": ["dist/zkeys/decrypt_card_share_setup.zkey"] + "outputs": ["dist/zkeys/decrypt_card_share/setup.zkey"] }, - "snarkjs:build:zkey:decrypt-share-card:contribute": { - "dependsOn": ["snarkjs:build:zkey:decrypt-share-card:setup"], - "inputs": ["dist/zkeys/decrypt_card_share_setup.zkey"], - "outputs": ["dist/zkeys/decrypt_card_share_contribute.zkey"] + "snarkjs:build:zkey:decrypt-card-share:contribute": { + "dependsOn": ["snarkjs:build:zkey:decrypt-card-share:setup"], + "inputs": ["dist/zkeys/decrypt_card_share/setup.zkey"], + "outputs": ["dist/zkeys/decrypt_card_share/contribute.zkey"] }, - "snarkjs:build:zkey:decrypt-share-card:beacon": { - "dependsOn": ["snarkjs:build:zkey:decrypt-share-card:contribute"], - "inputs": ["dist/zkeys/decrypt_card_share_contribute.zkey"], + "snarkjs:build:zkey:decrypt-card-share:beacon": { + "dependsOn": ["snarkjs:build:zkey:decrypt-card-share:contribute"], + "inputs": ["dist/zkeys/decrypt_card_share/contribute.zkey"], "outputs": ["dist/zkeys/decrypt_card_share.zkey"] }, "snarkjs:build:verificationkey": { "dependsOn": [ "snarkjs:build:verificationkey:mkdir", "snarkjs:build:verificationkey:shuffle-encrypt-deck", - "snarkjs:build:verificationkey:decrypt-share-card" + "snarkjs:build:verificationkey:decrypt-card-share" ] }, "snarkjs:build:verificationkey:mkdir": { @@ -218,19 +225,15 @@ "snarkjs:build:zkey:shuffle-encrypt-deck" ], "inputs": ["dist/zkeys/shuffle_encrypt_deck_contribute.zkey"], - "outputs": [ - "dist/verification_keys/shuffle_encrypt_deck_verification_key.json" - ] + "outputs": ["verification_keys/shuffle_encrypt_deck.json"] }, - "snarkjs:build:verificationkey:decrypt-share-card": { + "snarkjs:build:verificationkey:decrypt-card-share": { "dependsOn": [ "snarkjs:build:verificationkey:mkdir", - "snarkjs:build:zkey:decrypt-share-card" + "snarkjs:build:zkey:decrypt-card-share" ], "inputs": ["dist/zkeys/decrypt_card_share_contribute.zkey"], - "outputs": [ - "dist/verification_keys/decrypt_card_share_verification_key.json" - ] + "outputs": ["verification_keys/decrypt_card_share.json"] }, "typescript:build": { "dependsOn": ["circom:build"], diff --git a/packages/zk-deck/verification_keys/decrypt_card_share.json b/packages/zk-deck/verification_keys/decrypt_card_share.json new file mode 100644 index 0000000..84df47c --- /dev/null +++ b/packages/zk-deck/verification_keys/decrypt_card_share.json @@ -0,0 +1,110 @@ +{ + "protocol": "groth16", + "curve": "bls12381", + "nPublic": 6, + "vk_alpha_1": [ + "1561266784712027682043344471830788205230408277282609729612494169847457490701804761989127991093776800104497047655047", + "3699853304811653656126740490369843940667600847286507957609038453291676947478868714684425532163973726396128365585357", + "1" + ], + "vk_beta_2": [ + [ + "1624376533361195738065468072122288460262341700332931360056438234097394117787337658745390414655245862348735806790268", + "1902082200351860906795666007307080314937131579911352636786440248682610723748758099581306515499096811893994096931699" + ], + [ + "1886976939481955283167714533327633465850930013850821272276133892033615829373629203028787203086191651556036005219813", + "2556645286786201052096965103038864160466923091957528417739099519860836280552290990392003943699811500007797767550258" + ], + ["1", "0"] + ], + "vk_gamma_2": [ + [ + "352701069587466618187139116011060144890029952792775240219908644239793785735715026873347600343865175952761926303160", + "3059144344244213709971259814753781636986470325476647558659373206291635324768958432433509563104347017837885763365758" + ], + [ + "1985150602287291935568054521177171638300868978215655730859378665066344726373823718423869104263333984641494340347905", + "927553665492332455747201965776037880757740193453592970025027978793976877002675564980949289727957565575433344219582" + ], + ["1", "0"] + ], + "vk_delta_2": [ + [ + "691320879836076121284458148004307511361683948430445585293498956618215765047089202739018711530844213146940663259595", + "728103918452844019790697320841512640160214117011605503617014464274312207034626077598373652649059648920154132590260" + ], + [ + "3382143431999170328994651589364590243366784719410673531216576950630622715773505539406066561301427468107010216586623", + "1968744539436650404733402108086276368498534849982263513238063792430234799386737151898875195130283668649517257028815" + ], + ["1", "0"] + ], + "vk_alphabeta_12": [ + [ + [ + "1303403087811893144513976315629059025497697035348758346866503740538243660536606264838270183206500849856375887215443", + "2165934460221822096015307627713062911847402926006544536386153167589352719232572415822021312660733339090145154142575" + ], + [ + "501241308185337110559941165170476626388110069933555730122639224518179966546203949994425936866950843753825909514647", + "990770862636247268230856631407438263540753110278467997702518591887604899035649796934479939244411541376415653417388" + ], + [ + "2578253817300953823892387763167778804887386789525279662032907998320095400503768755297549972768415231605238834408569", + "3076013591293360579676358465195572077662001680473386946219199267050527118974647904665754901316077371673762309247324" + ] + ], + [ + [ + "2507943934048404851723633458160338389264148461204932927698164869230048047426973430645355090100043903159911274993115", + "3557507636846234610790259641643296590688023274864485718144529277219359768981233917795849136372839680344533317116228" + ], + [ + "3853142071057288345423276202013937604002557364622422245032742161497050077295838127267728630684164167684493253292646", + "651484647854576734303630712161011021945644734726020767896145539929141286444314721177302531228526381783370610885359" + ], + [ + "3789617838489126929334549797521455115070930906800568133899573817764399558181131376768743731645079987641147331019867", + "3419557325952403409217668641569760048187167912291236840264263091138724355492074254462265159768161278543705544718209" + ] + ] + ], + "IC": [ + [ + "3725565217498034517158022897631998466298925336820179760713460061067866938666923502668380663462922539947435193486954", + "68909683570298536396175121996316087944026806262227265632518395362981004546204117229767263653438171364193820680812", + "1" + ], + [ + "3427630096589010873247602582506564053439311370066883562847279227615230912221038087321739203867407614192756649609253", + "3694347272213699026128192463187869103807315757524624941829451797778417072936897012366718640478764311733636129696094", + "1" + ], + [ + "3158633938908899675406659992562037918286607555483327551631491380312537134209539881025023833858496499257357886141637", + "956250863958102072971066931563379758592614491067758031782315664641865897194583644290507385843113635864803569415677", + "1" + ], + [ + "1276815598210772111336029561548443837928468448770119558295047022402883985626713991006213350961149696754956045821938", + "3331332680283736764762982950236390887461623288302947927809589601354296573181930024246447507004352124907527942908178", + "1" + ], + [ + "3253834631067915422579484668702131486962535512739395097770705695545975221319653724129081815018471786675471594724763", + "1621856899630366994286373177436707590005761471875002524584416205620815755888600632777138126684787475812851289707611", + "1" + ], + [ + "2659765858046601719240360380617310049431815580851691596671033582047632755812239053589234692982220256861865951182277", + "1119913644899549093015707005846121182404029884958163659933663112560631541325372612271234531209790109179953683602507", + "1" + ], + [ + "3987900676130162758247811480944105816491164124545900178725337492515064217737107977558411395506698966522006864942259", + "1276277506317100047123534852645143566073544904978633453267464759971554809453029032252201982131566367909033607743948", + "1" + ] + ] +} diff --git a/packages/zk-deck/verification_keys/shuffle_encrypt_deck.json b/packages/zk-deck/verification_keys/shuffle_encrypt_deck.json new file mode 100644 index 0000000..0251945 --- /dev/null +++ b/packages/zk-deck/verification_keys/shuffle_encrypt_deck.json @@ -0,0 +1,2170 @@ +{ + "protocol": "groth16", + "curve": "bls12381", + "nPublic": 418, + "vk_alpha_1": [ + "3948129289834981664045747013517216324585558548859994227098908118357831979035516198434229802678566259541374331986068", + "1876672068366727770849319712806360729717411752633951272266560425489541739738331907280603965039191986022940773999547", + "1" + ], + "vk_beta_2": [ + [ + "3872160350605188420202127360105293830775861087423042916701282966096910422262407339095798606430724787458369365172479", + "3697130711822761069609982826801204122577487502005077088511838045936891103153506421585561966749129992830331056025273" + ], + [ + "3239897453834938969872104998000772741778067974137545060095387767424913406920897731052139390565396592093304074972376", + "959805497917738092867081140559032532720774831063329775147691112181884514487301371339492741313339042426572159930658" + ], + ["1", "0"] + ], + "vk_gamma_2": [ + [ + "352701069587466618187139116011060144890029952792775240219908644239793785735715026873347600343865175952761926303160", + "3059144344244213709971259814753781636986470325476647558659373206291635324768958432433509563104347017837885763365758" + ], + [ + "1985150602287291935568054521177171638300868978215655730859378665066344726373823718423869104263333984641494340347905", + "927553665492332455747201965776037880757740193453592970025027978793976877002675564980949289727957565575433344219582" + ], + ["1", "0"] + ], + "vk_delta_2": [ + [ + "1597208277960158541207744455828710092715262256052525647715333520625725073867991820247297662623525653861265804441307", + "3665676324447181648639351018435271085663381192534571841556796060814131961929937380658318147878370749626315252976459" + ], + [ + "1581205177053088462361383875814199895999872937398786055762230505227416790462256254322866209960085847484412768500112", + "2907758332162083351030311291664558241759635076686812814081744547950519295924200845658223828612500034177992626318615" + ], + ["1", "0"] + ], + "vk_alphabeta_12": [ + [ + [ + "3315945086279048870348188020401645918589222437656522246006947022298999778404046444179100863819970806626400053162167", + "2742243714549958483053897137798317767330338191795011840581207644625630575204361025799268821527577557426960985564851" + ], + [ + "3313102850963965683303542942095989231356713548660870869034365606697800279825470465517633470221587794780388900328917", + "1259358219516616417986531439651882980463481924424244032246747906316984726868542971381866938628824506047438033200347" + ], + [ + "838694498036013555732571920131890539935725926314627617760850507358308882611861095045786966742713304068997794791679", + "1948565526621458840319091647699091761977658086695893107359041768471519107243564176673238553189353878919398348659871" + ] + ], + [ + [ + "2421087731760918069529018958775038143488013787734185424088430811320353186710892569295553461833477970008930198318848", + "3108342641724038204350334594578110413131975199302197125024978961928428692649693734040499672330407857156006934566345" + ], + [ + "1499111318606345329580787455467269718362714712429523260866873925343849898545382998406339263444238523729991516698517", + "1223626365968556886054284169413024942059277548649656111476271798251957194006343057703972151874386406101008790918729" + ], + [ + "3883905239953902285086636976673900882528980036251389599173934666210282895058513139304225602275294010102674718603229", + "1731432227383980981632652229427904776523169476692741515060713694024427136419046585341051357110047565547622398278551" + ] + ] + ], + "IC": [ + [ + "2062525759383041359363786217121326024132531649069221429934465410767906860856360520926915154679056584213886897090044", + "2378194610160925572633090430755424143736993823183117808363971855512674876603371788191362098100320813821931409931890", + "1" + ], + [ + "1261435695787528250353855971902011504804702835281275764577918202444244778568187010397212240284303475470566436672804", + "3415949522832551821052258261834918145011883828386153405379813722288635437760200554910640792260851524701238644688925", + "1" + ], + [ + "1949362492578366334592383997418549584818987681911510099548375568587429285912202222215401334311730848451038008810891", + "3141880434355574870241633942183634262841106755299984356153701371717894285196711277289275077558706453786013735031729", + "1" + ], + [ + "2253071898629597837610695186348205610437584018964776648476499243503058072169575530743536498645712969012501600402594", + "421267621133595889031634373528762919511887792257769069008322229886399848596395163593094348251029564562581508374851", + "1" + ], + [ + "1238965087276786743410837211630998756595932937439640548222384658480277554922166928296767279888412765444167024169105", + "1217455351010859672759418811906380562597003606836946299952571771112585605688845298764430408536304995781756250608713", + "1" + ], + [ + "686665026517595611108970452437586337749267837460621858771179680037877740570848434451651711212784794581714384301627", + "3543186859642820779543423641072847829237814495401886892716406904433561072792151679188263054397912469219094083089567", + "1" + ], + [ + "1307115096540525598227794400929416071581136445134843930017683859743890216368883809248467694329569357291243733269170", + "3179026305587295553341042875493631395266674629085432269229431957266342207562146708335376695268468478059169721443231", + "1" + ], + [ + "3100330938681886343060704784013537732449481361923098079893425984732874003784351435172511161879595796188373754854179", + "2262956509464250858673311984141183708689372871546725281440138030372535986793751773214831538332859073099652099159816", + "1" + ], + [ + "1851835572410183188389228527830486941109821643532784066179057117039437598134309871158536063068071111159133182131962", + "357824205068123892223734889615983733765620278789547962524638933685451345780831601622067349097151886666835278922636", + "1" + ], + [ + "1613437991311258151840474567875989212799160529477274331854618852095411806045062476546935118063400941432816353640413", + "2164115216153728562526443467379123166215877190105030133356820235344593042606784064772268618763502379208135918598086", + "1" + ], + [ + "2647432858632554242233389480850200388346027107158307419682603100301436953785625970542332382611834659221731582027646", + "2517798765672232471122603988511534185000046632308676661354593342877467499281275929884013229363437571304377350626853", + "1" + ], + [ + "3280981908615330641415377902898809964976340002481742105941228614433570228255739144139242032744918331207731667560237", + "1573812573820834659869545549405876850173468006859819032692954376148207431294548193507433793575800326365784086105756", + "1" + ], + [ + "2134671074299399914805729554655814549999804901216429912404535125629615087601807834280102952812840406354566432503967", + "3515919829373248637899150747842039957752305566338088795188676385367212196733261153610184294914482103870977877660862", + "1" + ], + [ + "1108532422719421090189785568332219309761031830997551109528979288594873160358835154628607569964303914252042759923218", + "2793714165279528347264308160209736914839412773864672013537435231964152916678146272074796900184734979028161715527094", + "1" + ], + [ + "1565490101679949085214014957422515383633961703677899084362279023716694998751651592060604587402881955969140677450570", + "1160653219410728013103844292061022067363081260688390064319298843683180303265803270493281221142021222770189655208037", + "1" + ], + [ + "1821536740541983048510347091261306861271700891960875027542716710471540768535904542871135688281348066811381026940292", + "1928276456364199334508621237994859083529960865427357063892747554785624336556590517617379788018665200992182351452204", + "1" + ], + [ + "1365642821273173386851674677784646108049128065545514829922368999999617876707825572864415967232942938605424320228270", + "3530633971238048746340899758422011973026734626523204886965699205031104153191386764824841282830684806522380863623552", + "1" + ], + [ + "2404557431423660851640266116826918974584858267432085725793897830974471771841535655841389141993604340472889933743774", + "873796740758849628862774718301836937422831147098705080793969969501319670332929318121660702216673564273298948593224", + "1" + ], + [ + "2648242317017542878825605003959245040529227925178839362045538823824667931561657902144581608310546904436835053581055", + "2795024890680245478937684166594818196103730180596511838140354243062360187056064565069999805674047992689678744680341", + "1" + ], + [ + "505135273815703391322192000297135761445600141830779949015699133421118188426013271073064734875202032209988871362611", + "2219071644516797096273242952860161831673844673008102174292617724284298460989198915812863228303100252912751949453771", + "1" + ], + [ + "2687174352810942458084032287741647052155642644010473165523652687211201948555497445281658544205056881922275849945857", + "3167506379719657102378405863309479365007935579817348714135307741967440800246963336301933327195004674276013023395495", + "1" + ], + [ + "385354368681287543740026848156928543397683844631930652521491078870524143046438720302851435778087275044296832868247", + "1520878634631937786741246402055571356233833752468793250903977586269824799618036163802940942537017054397303034170126", + "1" + ], + [ + "3936441971269481953577853782497075319013339534205742903462507901899513083592803285257093778053384497489023695067846", + "3218169755101967233580404737173515367501039990128464274017563404949016929565738594983797414584895113338698822826502", + "1" + ], + [ + "409507112610759025957235177281879818503012861803287831571959448615101692984586427357879282154516149749339350671860", + "992916406230934112034039958793838473258945760061587113509812210910074145273268492323213359547092129462527315005492", + "1" + ], + [ + "3482215247693447608280141904432351076426979445089564340103991619749792716380674114370410502562487423378360113750453", + "588520252020276444675026409560586787119179243509550869276047662391450358101122049474792361584798949101623209438115", + "1" + ], + [ + "393469648611687431857736491763697956159660846205190185597501123067597441243989824999917238042891094046664907411189", + "986786486771902940688418912777580025980919819167704551113303410926519638829065008155098189465791096737039978475398", + "1" + ], + [ + "1159261048961516213839885714924306716444045542399375590631172026059566942003457072991512057340091657495774833854530", + "1474941409699030268597029558500434997793284465245475684634493957469414538498092484721063972206665378759767662571289", + "1" + ], + [ + "2833322609095728941820584394079005009065598229390690561519115670972697042668959077206342409189328061253309112568801", + "522478298800417206142620544786507720065361640730333878993092310269809800804078426188718780149909880614790342279933", + "1" + ], + [ + "1037517952643552805267245291661654965941231506756718087234359792705012160859595974842516657483120595149273797658883", + "1102151535810719994344272997672018656773400230709500122089654110395496435320021963048962551087632333830830797317292", + "1" + ], + [ + "2559503820664412445765760971556679908854650704378090572178212915794236164542195462977210411313358247739677535184175", + "877426103489028041443013163191465593818417601411229462336951287978991789595690297009509218832025656275993242429156", + "1" + ], + [ + "293967488225787648910946739198902105859046593914325665074946322949381580401409664544939792875901226895102468149111", + "3700778642191547465550897077379947549695508213485018501658807616930850466025327279319347718560743348574303557307527", + "1" + ], + [ + "132999446652147575639734965833083520464501982293466550676709750349764597397382828700434425906167680339868583470736", + "1283000984086917844054230138846830064212338246669383017217564410672180457894020421922766461385299103517553239725289", + "1" + ], + [ + "3615967033908807251012419724799896198139089716108044664328904860109922494233360690995022134087905221010767780815651", + "3555054553496904642676550500447583803004010063822368890615318778342717267428905463860605130524021030461518302351874", + "1" + ], + [ + "3413483477664759894279087517815296630576800705260538610573224017234819977583077166389358088316376039587950286809428", + "2626205540821773785258530569324945882480193802973337798565973955952035812792683529920512445711738227007506719600956", + "1" + ], + [ + "1684162746428549695085767821857711338224113520956144863017658712968861633457548543436258730229991996020506099487806", + "2649813125188570055565709073065733063868574997724091669534863433118835248833311209254233128513359247909679715774999", + "1" + ], + [ + "1545997034268000400349402198706259173811978392439563755134885579254154353820937449923404694711183097547396144795032", + "49421650440212169765108518466992462674239947983433611293387025684817535687031158358911411510818191033402837278351", + "1" + ], + [ + "1010211821697092748251193170960872878741568830388680707381936191604929536899685097893552428212440939197521812027363", + "956852534396877364935778367478940559937995836414533358185530729099792917490473190266996875709231876109829181625498", + "1" + ], + [ + "3669826629845098229133549227853945722347852377315571088853965022632834286415822802605029335008112598176842524256170", + "2170682711197416429439594751146469739017495966032123768166054000143717121045867808014130779416822274488855253905059", + "1" + ], + [ + "123152199975191330499802845451040985070832868770524838863372999934744748245370697466766612806157138661453061462826", + "239252246763193495070456199116102964478467863752316037545912128481143500715594671708110054707634381583093219392039", + "1" + ], + [ + "56691339433759716972095447770274107782362406094076920653322313945034616539070704160311873856425896264698810012333", + "2397795126102282495202295456042235780505110756033478173124142729157078956801791209407941933281875042479247909559543", + "1" + ], + [ + "815737074149697509712853364395171186713958354933716411969789611798687718165460434809786651092830014505791460652266", + "2619383171344030869782574723636549156258331873875605452410694354324416754318287010417444610364989072476739119962361", + "1" + ], + [ + "3822730384923617969339145982555039169996694967454783711220949600456149049320476605604293988327408335502063750757453", + "1204117346587304102843051213759613998791857274303456950482809622651451013527719726615026817199310971456189545769428", + "1" + ], + [ + "3762060181869017334992926089643242651880595121218679091619931656817080876241712639063159047244598532521836936650996", + "3889135046539363301534198499786076914046664265114677562006307150590163663799118722975013711101824044171717744132116", + "1" + ], + [ + "1229649278642581582547289966854210704253232483317182210513998709047546499900087726968795081212715901758069045732340", + "2972090639713189094726942554461792909783334812769287431494697084502601048360498875477547919091258056084325569187527", + "1" + ], + [ + "1899848403387108374173948981011113292350221294057933962817812928314053206657291441836413772562546011619410208166635", + "2752699376748870878611102113871287348924396043511733134813542375116790858810222815437200742064039046405974100856147", + "1" + ], + [ + "1773508729323032968461789624198330633979150310717305190295962972635835074024092086447235587530080968132215896722367", + "667238994262877506363403621705382198711384850106590724047151714108870297704916995090831805717403757846411783280044", + "1" + ], + [ + "274337973547276287169296178971211452200830921286894950191917381733166687109224634431405901888437318923868985681222", + "954592015197944379968720256634789266453347754909687298622942217593868126225298947651958221947299598445336503522080", + "1" + ], + [ + "2705798360725538493462965860269239165977154765730695256284276549236374446202416020587780698602144617869436993113368", + "1607251129320259719435162047516808279578478849200771549185627973103115264258332496837902828833959112166079688094480", + "1" + ], + [ + "1011260259710963350977360393145332069776389991762139199174850078902528385017201549985865367879882595205052713337026", + "3384068341795760456950300128013734693151831535876885454659764913492132637797636014317853927854589997392528392594066", + "1" + ], + [ + "2213615138426205210340929520715103342955849008063527286507905218335496746125013799642326594665461320894573702209403", + "2561502616176655684664180748909111374752749481570930173040911612932537600961404398202122288667842987469919162018259", + "1" + ], + [ + "3078189112547450997613859854278974937449323044522997682181071253048125329052936260339365810295269410936665785957373", + "2008868063562503244525100449126262692271785233604354230110187064829685201293376439328599221170807779303801484568245", + "1" + ], + [ + "2851274514617298409837496943790316656100878879218397177000968590573756452943096561727768208513097400101330981287656", + "143142753458107125161812563992790686866135286717318278552097127411970368835383148865354254751494738024494585803819", + "1" + ], + [ + "2377876398022532751503955539251477626140779484979079570808242290615575582353533946986678047538049540697622653850135", + "1107431787439218192347383761600479511135821167384944337493329537477588394764473389231623827061355468280876419108488", + "1" + ], + [ + "3276334394333459629006088212974127516336946919097513330840079834277789995211689306700315257318112719625880221676206", + "1051450243861340979127620451729815258979456560009230252611698648107607686976512552930277924046308823163051963062892", + "1" + ], + [ + "1392456326723916703051612920494758094466201739269607193984689723192949711767318261987425274918720507461450169306934", + "871886276004548370914848527956544506507281175756564452193295664231664432096190938586758268433447021332362176900141", + "1" + ], + [ + "1310163371370155905190991585916971080610048777301323686157994680016125842840555565039600539802843729006623328260024", + "3935052719021403771151815833899508159288538969018706525871733397357344028987773132818202800540702534527429266784383", + "1" + ], + [ + "3578834954658051292529131165248422781933431273109728098605020893573281678402264422934403496813631465960916949366658", + "3227305656977879083587736539627215441951764227333633318199392334361010121091377281464371030332352881540684516118242", + "1" + ], + [ + "3889958554725972132489324460936661297315677376402468714152878871706268840111939900318521437278537396699867691165943", + "2461869176016994428202799871836747440218911148270394109081705384285284165363930689397087895169312794091568378942256", + "1" + ], + [ + "3337606759022453594123789804057953090372618561828918073650310949751138648742124981780747960080889477986190760014232", + "77279732945968400902724764190853805701405279287069615851121506176745700622058124143205888175724761416297747167743", + "1" + ], + [ + "662112552174126843871557440344557234207166436709685805678959313733111286909785326298349607891779563052494855002775", + "921656558890709721572369824790931835890838481485305630709866367476852905912005656186329019164727467633117983494327", + "1" + ], + [ + "1588956565647436358557256342348520599599094408369117050225054251321901146102949137736360247155816119130799496234730", + "1049995497571922126301209019052775784806458917033245749415694198236740864835153777240486603460835569860352178139063", + "1" + ], + [ + "3232688138157480315897688172096943774023856846032143877132248056490252029573472213786369595300116774283838105781492", + "2355947191725321430360089348829623771782573061269070049890122648868565977043279591795740061640725636256388088364749", + "1" + ], + [ + "560576648808370648160718379308009602111560876791172117289282718136835699143807151170509357085190772409769660867234", + "607335367998291298615739442682293992172509009539168712387709991109902787388163534719789566220644809731388274011373", + "1" + ], + [ + "3338777727704419990878711064019304649475885284929486822607886142069931194965755565456195100324626543866975628318643", + "2434108192811983817112664825104246512292353801989827274295810015281529217055652805531976461452689776320655451407627", + "1" + ], + [ + "2590104976105426446917554357934588648144321394167080593584923899019269345167640425647298818396844791001991049739088", + "3008032443283055095113408602142810749718345803190040068291974785375455989579591291353117447048297727152815163087608", + "1" + ], + [ + "1289220768536922311376050848646377345093841594755801763271897370055968429179688988019142455715442211319543101427039", + "3229615092136240654858595370288410157168013805544381165983018199074955408357337048104066548791754852470336275058948", + "1" + ], + [ + "2673325367475606469862272151332474074183812784017728030052797126889925866665803136476162933492215732798738494386430", + "48987617226231434248035731139279292263873367630102540252932346784655208006337966371490919273867955665953290129002", + "1" + ], + [ + "3135755531102165183191841196172980764105310394596723418415535498488469163008077213621972618608430904405730554736183", + "948392746865661294701544797344742572110479015586904691341032891901759030604571622232073701382021090569968629404393", + "1" + ], + [ + "3865881216333841389086281899382832497167224019065851799470406875625210983340395357618903119527279060787783265884603", + "1930995409706793301168498720367917895952096985694773920469025335136777122974715536697642068856646179892965687676589", + "1" + ], + [ + "2508783938501658058929039161920905336949793564843320072006385870701820928989955460776173117049166624429437730506157", + "1162118795788598996732217372286315611279426330159084887167639765423992993568825736957157619701904507353077180976738", + "1" + ], + [ + "413209706023728625938081139780601186823266261207805234095061940244545229396677259407496403735593498103896270620181", + "2556512013963270105030718371556942201114074374098255780462424094346442046526409867224575483362376168990907757166052", + "1" + ], + [ + "2938636004201865663607579703797497334442553267205981381264194130136817574501129077060881090663480848993551891174536", + "3164541771746893140939760955174120249656403600985236915207721596482780639954480445982908846452413638051828301714669", + "1" + ], + [ + "2634441124485491415779500915809163955788410647010461134309714843400605395049687891056328913583505346438126256055911", + "308563695045490212379358360375094909841488456001502794214096394583323456319685137914545700559046106487490753737098", + "1" + ], + [ + "3517623106294633689274949767260972920616468186397833214130404781085947885296073632735620042519903429187553424857060", + "1847541068605401129695920743792309523900054584181696240400383050625504669618284563944103454015702208195457270070539", + "1" + ], + [ + "2776846117311121645796508008036261495362337495420666014283370782959279981736119604731569663937900534504707406725202", + "2522161477391586889837338730109157223428906114948570314825892858188651100394467287639695567947770001351721068724806", + "1" + ], + [ + "236353526183549199961351070930377084385057638136992263365780280625788845683297026291160062458466487365861145203783", + "3161089163146647226923757304186307553556395604504011087362665118996671167401804426320667624109198771944028869091633", + "1" + ], + [ + "3230245637230125851562815651176188664926151883087253955059941478015992421354879530558089429360759524547976981416566", + "876775604012339454166635650387823454886563649553941502811788477483318089442027310321198001248463035125103012163884", + "1" + ], + [ + "626757724873899007784018198287282444685241693601819110001382523926816550000902506007638069508059232923080453650434", + "621382668332994841846882107163195438657834212843940387518308976050770874930138012207070152370327879952917848937452", + "1" + ], + [ + "2985531245953474570618783255877056134088996117301602482950413615940926600609230438532308788655014242471955162692304", + "2835049033725173870799675361426540043006913228765887845632084397448683121262227204848814432539795830667913346295643", + "1" + ], + [ + "635018175650207912219864088769741178663532578978537152613341132543379142986405716705331068281231639793197224699283", + "3098495395663521127945355585364910213564830099781868916492641273674510099927855754724967568444565847260905614132946", + "1" + ], + [ + "2828242876004950196611289147410594069534336910818319415713742657377560911344342508103466010065791604188252917925625", + "3686381612872134759543620041144166396292517604500398499875565943011433400572351508019571943001104575902489634037581", + "1" + ], + [ + "2446390699857034725175997073611928514116470437633550843631635354950643113084587786673851984474680291790118143297684", + "2703036618711531362930428145239616487430199428558274994154798574918678026545971510899015810987721466380593300658986", + "1" + ], + [ + "486470422203684016796810320906175146879063134165163153785182861355512232839059291304467506397193888216210881516048", + "3285048861150115004487283569291536446267185269944372778267583606555221236452075901398862590943741040279751948147964", + "1" + ], + [ + "576415958288363325948680727533272906741002788973947990165622260311645149270338150375113512541280884942721288551184", + "1153036114999554397647359694875474376537003369684857512376074944997921014163222386737347125228286505778021788868826", + "1" + ], + [ + "3501470308771780489848324298394312295691991531863185344268518719464908613266924052473389363287868034610556533723433", + "2982658009236518088020503596890967113282365330582663363698372786960658561937473472863915547356608310485919375250326", + "1" + ], + [ + "652451410787205645290355259601694179529485415217617745265887546047124365245660135522173685680308910577404781237053", + "455164195453231897316497028030617239841927722711826381364740360696137206950570864500427494466488727575936905368601", + "1" + ], + [ + "2881168215405104217766803708984562547470057246324634582583487387744504144601456492073122570922297294803688991561640", + "2850933929520137037917578586416066712491570121709609299787144252883064231415946640255512093297414663130356114503281", + "1" + ], + [ + "418931536500974066961012806419657324484747020794556508352796080714316248771626691809817319150728666425820618162648", + "754792331001113153685798088480858828380500631470443718313457165727219827573928965892911641324331608034615549476580", + "1" + ], + [ + "3440997904564284128024352188072061954402152436518564627976490486307894614889384215485665927043174693295676164213996", + "1854125247647966835233698158714461935030084085318354558711834027446352412580876090342956168407078241155323265265944", + "1" + ], + [ + "1402431434966032920142132110727920999207013138387651614224547571127147508077736920936860014800854634435554275019331", + "3068942739371918705538197254733501940483644663958012840103615076440933470105637186682123364320040610656713179809409", + "1" + ], + [ + "183373895304476973196988488506120280234158458766779485655913333919333005445404592023630752054495268964275016909983", + "273511221344891690730588719370217341838277935783143695024747573055049369818009122499675624279478314850242165465676", + "1" + ], + [ + "2579407512671904601750726815497265473467419621404270002846333040069898593348575997046215696811188988140423120570399", + "2421576005561927849289879026255434064167811968261595977701199015428794328499846387027915487640430255567973104254625", + "1" + ], + [ + "2147195252634014040505320401006929440408019789720614292560075628128327528002482916232222497019679439911052162376154", + "2579654902435273561212148010515588290184885415861486533762064146381211189752303823610828455369658588216924497641078", + "1" + ], + [ + "2358853378967044571524094017276035675867708079471998927292470399438508841335595374167106565148577809010750114356097", + "750576419686441448622245869221674969868845797426188749110594805034979285814988364996504290252137787883645418154184", + "1" + ], + [ + "2559794674968638087054457276003287825795846045481529445807069320208487437585366821638034757634326154788423149143956", + "1646777176241898315245449686178972630036701492603095572916056915795274931579873664192266621942047743246441874800002", + "1" + ], + [ + "1512532457683023033891468960104594718584240205998525928488507920302390858324527183089442098092183682852074378345913", + "3260729760237430448919617879722700783038623880790138806883655352209120722561706153179655925776709791389965826286254", + "1" + ], + [ + "2380204192524598775903700325960785887338720968849644993687295750503130925105171269307132154627344928305801452365776", + "3819117952197435641725252167996976368581715345033950516936275566923233354143710751907749651592488227336294153411143", + "1" + ], + [ + "1238956390356616492482465358807821991966970832585743876567022253433223210268728540584473492506381220278027053835792", + "281415184798131070668752974191520008043059638361354493798847606515685039417686283393646791045159235756179527507645", + "1" + ], + [ + "2248096054415893928637851016006003448958007449435725429842966769228358225982931152410688764892873873898219539054644", + "3863116928682457349200973576390828622632210172311106427260669327129864047349839100271855311126512262124556940195853", + "1" + ], + [ + "2862504027281166585872618161206474558813707678083107736837741192694581251802953789134669349606108957254085226446631", + "2342705329869146650838834135986731527752228249683220063173835583093725544574153758626182556355178045767789167488175", + "1" + ], + [ + "3372758881087203289276166187693060704472352695977823446209005381216643895098643396496455654046034208246446472659755", + "755070766425994438713730193755687363920420888441176399756598581909582479177201267330116222684137623543965661940174", + "1" + ], + [ + "3942017237814016564583651018552235354197818909396276990893738592030406048708535204630146146843470713803694108019774", + "1099690032082102411525844226901509327564122949000688852977800902558244992463262125788145183958507308512014800295059", + "1" + ], + [ + "1573976815621063571210198654031074401825210304121168959637667887282766886802530542985939338705858933919412332427045", + "2616553513013153674603952739527110549438741720544490053792702411964365994239141003352279736559221237595199630711989", + "1" + ], + [ + "637119482561642501050263610697647273281651514393249737607357677443629631427279879189038186990322967143143738784299", + "3686769156931553841992382781919802707838812488143039329582426636647157134571943033134360404207490193408552301606021", + "1" + ], + [ + "1031814915702395220541413154052554950689497799657495867605796314067441860341230397804099323790029866544501632626171", + "3054989346526652333973473523492530004415869904955660510843299305424860724155313776787330435014453107335622632110406", + "1" + ], + [ + "1039278052538204607682646247904838370438912189216556752791939222108821149506783242844528110384543541316687604264363", + "2259809940287033884370169001565406166988726653776014980526839128147342503034360538124587203532664570093462888925886", + "1" + ], + [ + "3574114888819874174319980269687225189086823682762236719047677005741475442849138427308882685611475653535189011883200", + "3127699647896625478149523213075473406908251581430549730859876720105296220336488409456480535359075090811338698692794", + "1" + ], + [ + "1200747420222228914431115300083728370270214976109689406793964968113501214853372207783321775178574896958450861790146", + "2198580530205552183013508767317257966932651723355317181545562456077964693394817097155167468258697583967214590115470", + "1" + ], + [ + "3790372419077860797477102008570458356516045426593603217880094718672841804693030311810501953742936234095278709907283", + "402372831875424453432346176226301385959203934809482501801109007918274580140035638057626914742251983460474609600816", + "1" + ], + [ + "669411403137712290890225120953828048895246239281706078768199539569668817072105447335715109659596242752281442524438", + "2905978321859988947795965366851875309255291650305496288704439003231506395694435135938491634664591720798696237947292", + "1" + ], + [ + "1919842365725547943840322999874150628361785766080219949921056682671104521587713923215602013173571375610267875552423", + "592169416915972241291968630981484816786444496251301903688573547577433413662445972936340586730422029402758975007187", + "1" + ], + [ + "2953365616344701930893765650492685820303787824893406123171279038887554500031772409702015620755546721078048705133250", + "1436185572067508114182452045002627270650235465717442396786208750429163383321054856021592770589193197944979946261720", + "1" + ], + [ + "162846316477950801647123217182126596161858677231653882425525322526083288866088747040787802625412933479148039845520", + "1080131202644304394588377843998663459947473776682612008528059973251828059715851609511362306993714514861775174068200", + "1" + ], + [ + "3778266805339499040987765360747079014860162093332528893444722873353365196850826256642194250233283858679225942815048", + "3626623532696011139149547069202688348770762701503865416644975302900992237275713867022808143313427251154914619317236", + "1" + ], + [ + "1638051782584412075470939619350534497010695488365730278513390706840824656306695203354202875526410205262355525656629", + "752761923610888416391112610220612974201701664642450813413889751957834168017148034556128128684446282130769613274477", + "1" + ], + [ + "3124726106554256185018070075427016230621103780435239411613211996283700894397189665585728031040600405821984769179821", + "2584003241992162364733419253920726158493503435486722772323803018135854695977389691875705486267022631843018291598598", + "1" + ], + [ + "2398443858035841335402829823764468772985212740990551274987593332832651813585836238113751617949050184287110141423756", + "1854279379294145189558162218941679929122744373180768157550636897582281435226768254381169285730645899339089632808510", + "1" + ], + [ + "3881312832060567853360220441882527640451421162041924792777888842335187382176470341363459632617323324882242310278359", + "102006014227207658460317837715567414781320513193241237388652198660068812516881007247317133587427246102852870007516", + "1" + ], + [ + "2238837127032837745428770180875351656996388020130140731251983241375344976822960499755052870370103293814723682210829", + "420876275423470908562512886979094408900748986003664411860782596869990085662161991659956080726251658133907056816812", + "1" + ], + [ + "3281915465013844684288104272469043822367170926176896156035611195731874764916065543861834005242199132926312947309463", + "2955585441419278642469278089442704121280989606990260768839619519011907575375593010354475599518142059363835742579357", + "1" + ], + [ + "291583482517959186749239551838980587938533452411998038469974802196264771625489274020102583836090529428778498916385", + "1631842894014428085875367349530245545052837432745139451810077719452292912894838963561721297472665035113706284548872", + "1" + ], + [ + "660658406192751330391398939596840147348794614865620232753230507615544603095136681903498000076987780454588017440645", + "521250870278260388573083493183987094115551407567506313127035550886465191776265727412430818605206171423648297029386", + "1" + ], + [ + "2634721778683122400917407663049072911785785547193725709639977109190385611728029163761535646323784072803658792099477", + "418094591614593952626221167935143329994222408006749548238029633886590362503536224086420810408216833218760502988364", + "1" + ], + [ + "2771741336459082740211667322699657581825576830531822735464002920115026846465818740910788108935110976974311315022979", + "1487503928339909178211416276604482262982412128153324997841079319136664994766580101275012334313812769466307645647102", + "1" + ], + [ + "3389333661069307329747681379432138577273192126672557895820999100331755648153690293477722858281074162132349496494402", + "2692603879064017922921688514593724143440613183424627848561333357981235091201307562540724485620006403234437714288706", + "1" + ], + [ + "1260476642464349550846312691959757298597660093134461281206868214530221400275559754730584994841375542937944616232191", + "76051922877359062285874535355540553582836347927144564662264549752104427966183754486773655039638348295618628104792", + "1" + ], + [ + "2170539471412675399029806281924450214810853048269040283305228115112146767221579928183936758455770286865601612380628", + "1734023388690832817744577742347933572376507887903815262645021687645567025590644614682772660162448799783327793171138", + "1" + ], + [ + "2038292133418060131013047337935307471305934067293143699700832515961864999300505938307240548659029772225588336358976", + "2235408973058298528702727844579966087214400125326344869713872355429614282663918465384686561843682130812899497600874", + "1" + ], + [ + "1290178423892586000779780967428915700053263128302318987618726123716839880864521108489854545805543875331946423106619", + "2307011324793722157136149984349991749412512602610812271457062147717509074604876859724372906692064484337834522696061", + "1" + ], + [ + "1025289886190357374163891685865187916557546196423456622569119160452701248444342048113218432001417630083624254565371", + "2587959350147535605474255063982473056968528536411443590933853972523396280239898222239534967978426962612834913675916", + "1" + ], + [ + "2359299884437324694674591395168927168534170582245904474323362432971879196702283042089493734638341273346031295953227", + "532887632167275102330465952899902498656816174270452299708583880003067635392086318387017531016939595768130434247054", + "1" + ], + [ + "663658687065495056752679837543080673874080823957260345981465162529329349753382471261529901743019402974738145297283", + "2245219825373173155807268209908032272797235359379786452676187168797217009517187317271614433147397678808573825999645", + "1" + ], + [ + "2572301636854399574600677120017893095456523953992749452477023473590604463134132251335742344715896269917839839482545", + "3670422476465597765032490709492790931117327799209660119274148285082749272884488975103184044652569593862982961709745", + "1" + ], + [ + "837381236649965710681717992368326378169076778505603630302746368383065661519192258765575068095094111048629084941948", + "1239590744461696687310408776819639224468092286716982033490034186968278157844453523314360768875022951108371418464144", + "1" + ], + [ + "1605153805550779388168706515311324707532857745415189756865719064711521126932619563662964160542022303128512980132837", + "1953265606340611981570912522453692125738744644510935382085020232106180265765262300664201497399883739971184792297973", + "1" + ], + [ + "3775214509787097454060602939930255192180983798818317281145051971479446317301915664557839130267259631323149770419396", + "2210539771341084789907032690007314428679498004073450240306924941403869169469631927562455064712668534806172495421184", + "1" + ], + [ + "1698757627367507331084725961467985379379904263262055978297729059993085455091786715843071138454921093407929242453015", + "1137969619235609430086862223366413398465167165697801069173689534719835076838969552843214606863718073555112619950060", + "1" + ], + [ + "1453414602965545153996070152111426684098451834187203205578221006160422811462571393685059281379450341985267493609459", + "2992285797814050150639276239300463424989324587199614299942702759599183008422085324582991309620201560795975499064461", + "1" + ], + [ + "285805418798912673164098331652509761990714284783206652023708726557445922883260248753766465446062755895168683905426", + "2687907184767177082997706156705530457840275991668626394676892386029206710182986676796444459878397714861228704822914", + "1" + ], + [ + "2132003478664609367765217075613959461094431893158846637294921662925215030782124349818156536888956886394174765255151", + "3501670512992834364270970849335476480934008323634227700650876398243396481850443529847749579247076710240434825691377", + "1" + ], + [ + "790236313209580905230149169528109291658624973867540762538818108251656449318000210345779903151303480325984067697316", + "3730277596909428492634206629379697233405884141024794746339969913047775269691141316055498238233388601298233891740763", + "1" + ], + [ + "1327725996340658262954354998470568281478284152690645384382171641781884094777859227217510464697908203946195881355008", + "2417986499837829000513974669679893832170368259222666138106033477666469033053824998668629313537713653635889778703762", + "1" + ], + [ + "2581759770875077153569443798427591639430500584320984274308202088541447577367252521323974693799051010400666106727401", + "3441431834904531405906499991628508710541309011530736785618222636043762533910121699148238161364890383184789731260862", + "1" + ], + [ + "3959460572446345030470754487445135955685629326371679894406552441351690609908511357716810041620272134370353056901856", + "1733656597690073464026671517626434578774280515446118677602089192403608921830250576346326029549989677416014772442726", + "1" + ], + [ + "3685659461327905849143443371645616473852882564144950863395278145065043329521562536686979627817800107488082198646871", + "185028974584848537521719762201025176532371991446271556935111391482822958734593997045821413922086616921996176312675", + "1" + ], + [ + "2306075888075466832551550850045770473600830235704655362276729896437055589741268398738948385519184251674962417266531", + "3445647168473618815239512985026188987583938107739035837009539916876376413036993811053031500590908210031403701700474", + "1" + ], + [ + "2343598130432309046129591172482375114847691807606246423191873762264771012632059863912616949038599465721988639934240", + "2185845685692903906241389486368474560440889809601711433689586060755326384137163797684095783552178813745543458748754", + "1" + ], + [ + "2165191317357562231648956878682537523164915251887367203997477512060740015405176663821326185179216882352492677902993", + "3007814684835401240803323842923958090774984445584568437597932819508703572061102808272915220509207815518335464787095", + "1" + ], + [ + "2245466733076345803850845598784671789274770744934303172564438039665609191612811095497637703101339058787341577473137", + "3069469137933043744940574487660016947881817236749623271203330654116610500744278070499495752049245146673164642990703", + "1" + ], + [ + "1323400174136969694218950917531611368748972969326848687598866327429718847705494019728624703014946673201096446299558", + "3324110920072830237183087047155071874413693473298144955399993466927124056011620611412476496127795144623505057431616", + "1" + ], + [ + "3624725442786466566410223344353700719061279219290042257182702220875056877241852401209290067092905335894700718707019", + "3273498308077739654044573618661886512700086285216339185685368692471554904765985770189725534364907778269491002252445", + "1" + ], + [ + "345840494546648876097003399504532313744244761194533751810871449304928062802651884941112910586350929346433630305238", + "3829267526113960354157092162104524462504806262896974079077965488917169497078036524754893544259787492188070054141021", + "1" + ], + [ + "3727099749897137894323906199402699098843532414349087434697996665129902005716208048083253324406790800185086789702035", + "752573901686698955366404544133467148883009351298754804898667334114809225638617704276780247672915764822374721061114", + "1" + ], + [ + "1211935766168035846364836979142247758229341157223070960524849885066078051001456373143296587181816729476776932721591", + "3762556448901032087715920024577368344310449188176479662379940136994059093016651225948198903544721020054181957124655", + "1" + ], + [ + "89921121886135124400242795641261619684779894244432079778626416982663372392414142767755902407786039934097817677888", + "1283352307042220221891188840446227129640098307045162526443603796090900301306394966359193609951598934930230843762552", + "1" + ], + [ + "2718056521193908122558796265358119745190461980871085724578076811257576885430096611655101435215221103712098105055662", + "622662629900309148793238937968883530553087720042889394281897092234032062000280586059466905823239674608223230712182", + "1" + ], + [ + "3885675456984020389436400900162726461723381014666413116123944978036253159762569433445188072991193359974868809085702", + "1890349662658308389428315833030284553258635956769843367948845488248055377967839968523371450621064334685644608495782", + "1" + ], + [ + "1908120025113424093249815150741117926230584657615314669477383049551950648137093722914910996693918281327170254537684", + "1517517857997908727700417562382652794960628219384986087253525956060755333036755938455845245261609925504607493657671", + "1" + ], + [ + "3126421320036334401490802149894673293055413543393185767473539070005368331582143246089322307782864836100636155405249", + "2952287005202297908459301446153650235814457639021961671637032825189753278658922362904361160456758701650581272833844", + "1" + ], + [ + "1897698993476686915214119668153671457379820508511407333997889692512321584598972142191856053305868770759103610724034", + "2093312817513679361180379024640244874034986183106682006246155850429099683200463919737824288510121211013323274122521", + "1" + ], + [ + "236324113056399209969933440610774985157066632009895940341444085328538884302485072021963734825251794602696218779296", + "1756219314785119615985934593067407173572371208743211895699911064902548441413108939730353156580628816926998776645576", + "1" + ], + [ + "866727256050625805055685836593161662220849997978905101167772057978332513389990268946365143801384522725170028816947", + "1113522725302043757850916299683382275222527026606508792201658326794601262656310513533729752787577203809601404561260", + "1" + ], + [ + "3361786766779096205534122711934113680777492370202442171837628596411174851794034852737489364489451280078350964830503", + "2362226584532204918678308092713353088153168482739271843888681520873493329717813468778964751438631257868309982706973", + "1" + ], + [ + "3594649657486428672948250504417150019859372111433539757893031133762554114968846361545320880867410332685994378846574", + "3369240474971614851336257084055484295135441032632803631029309373128322016170563605012207279185792320077656676721295", + "1" + ], + [ + "2499117155703173523489717989783174002809381399297493793697469556227639206207410648908890001531017498646037829495990", + "2671358834467741768512553366065573790417240955440726740440613123948691297272031993732639221651587216335329231403725", + "1" + ], + [ + "981321321751310320825465968821204695214254170029652874682861321445128667429037408782138770430638997787563516876173", + "2694633401075211759899539874059816531915103920932908812108669151374096081923780619921518147719889524343158054982589", + "1" + ], + [ + "1967332786311601710625520560280310524622237065137073738579058812398849668339557606403889914278041504764017033079529", + "3084996752349417629674125433012357245940754446598040507661361625591200584322330668276854416730471628105246793245916", + "1" + ], + [ + "2632775834156066402157292458090818350106159955433142947389992357158337925905745767672717552861933436622304768403365", + "3994869957240912603177038597621882473384381820383014807408984874389266760202024434480852882190477111144235115304777", + "1" + ], + [ + "3494039999337342217402163537556941256518710304703270110563061290248141862742245827033447929443927557995649680690108", + "1578245656107624990972860361564309353251493628001726611751772483165877123938230077119108151424843572348496945125744", + "1" + ], + [ + "2782705518269156304854506688007609860134048265590022693678359870470544904852583645267878374123227507802674344674132", + "3677603658227278911400052442061711777380071866507493626355951029954511837866640595413072476292162969036164873903238", + "1" + ], + [ + "1205726401324731875063015736397713759182348816396901702995641550230010004184753014414536185664604765776479849450110", + "374087551600967783543657785137568338336516139796926114719072904660311500049188973867658912907949704364153521209253", + "1" + ], + [ + "3193137879188442975144736980563038653307590926694356092115520132948603027796182249746637438329323548494255515924279", + "1842634057718445789549275840655416705391327500013145259418383197650940420949170097629045309766894303712288819233716", + "1" + ], + [ + "3802029823773758329784598319884757314050779560860533784584345763391373692135340225968475121139496890613087801117827", + "714863390771210854780248368092109966919298248781390280970920554615389305965898094708855720461200085044962175423609", + "1" + ], + [ + "3284158793353104458146240556265975155015879999198853269166039925471609103139239723557188852878555723301300082998536", + "3698105348841793471261129283160288861655811175079086686202347663176483963807093844690830231850125032528645941615338", + "1" + ], + [ + "1771368655533013241244702772635508528665897103558523754618765785792036316770202467253693610043336843793329432928365", + "2519586232239614931139133364486799692659699610932597103529514905446202729715873599264803923495189805994857389810355", + "1" + ], + [ + "3448532117516693192097647458514943949541760362368489154635169350918311136679859469069466528300179735949496781994203", + "3463032182376883353060919086428087617819435578976849321754410264598086799463838677876060392931406169560843753296263", + "1" + ], + [ + "2190411493370059473684659335406847449729599319296295032558929942727991617258570759042208963323301228396605425961466", + "767709732641966852959424746300542908336807269953052832845015432249684879210645941283875128657321179126586693129899", + "1" + ], + [ + "3480344900124125215350908825035234047659951988069372122851241296838292868537327932205936324988606784671750366185877", + "2623010407409862398392490733211246595393466030307038302466643293446218680814283521500187360898410957777306645330500", + "1" + ], + [ + "444060120985437614630393699261886834747689574773642295602907324259427858342830761126354412822914360233386901536841", + "203025460872074739846017255377404473453815667847812511214818136811341416220442873401565040844366434002524076741569", + "1" + ], + [ + "1046040128116620602097080627516476708768817725237289810880422994897572279697182873662386930216512354448926495674190", + "39967952066895537349005564865112047794604012807716127869139287217407671824162920162417035628484121576670371579198", + "1" + ], + [ + "3263972069744266004699960056668562377926026655656432374231066436406391758409453576583356630636389762462089133014877", + "3349881709871117049099464566184894087573983667753243923007050996019279800376912642015083685886699845785672574947557", + "1" + ], + [ + "2089618069705399083974383939077217557818891668387587740021893112460772717785202035465351774164053679304058947424178", + "831839095080264190432566022533877224362765112956751647244519020584591901157317530689847551734776348539926197676351", + "1" + ], + [ + "2929208855610795046118169328706782675982389630492507971566979294079063043021122344746845477292918699193941235619543", + "1845626934151525265487094163294134441458480162093869607360259824733683883444361943598347795723366618205253833428814", + "1" + ], + [ + "1446699817561069024292341363793032546903469462925331353033328436028728699724326492028187376743893061504546213218135", + "3673855220025915544290767324387130992490065181610362419393285562419006047450737137426901829052648580700671639006454", + "1" + ], + [ + "3979359503373936487395598051835169378603185835250346328246564194357022255398850887389706490343345639452486456958296", + "3015425807834912667644785294351591621864779104440088262187898191914279374956552241865535657200072982829332636908570", + "1" + ], + [ + "3796610384035476466092263525110281587676895268349536722875562303815893119646606836046604430007281221046319833884242", + "2372417080581709927756125299984788189555337241339554915536075082366784126676808636401708094620839703079527543064978", + "1" + ], + [ + "3253651174668969644402659876293927279466823232469398650912163551077537709835133793174990008487061635841634576878322", + "3141684533955479729626899296953700652648936561733881576847329905501000950074771149631551680530616228771958850530019", + "1" + ], + [ + "951829540841052181097693457982356300202890463747672342459547528436708604870967965888959694339953526541673662043477", + "3618906969868714793285517193976969842776030431323814222357006115579417962759407129228420785908305752417496494703201", + "1" + ], + [ + "1080377444183291126273798159104458048897378372707069544072130973320006048134209828140997820405633026783343216712817", + "1673759838774866253057619384019432070196785818346814984400121578010150854865470263059330255139577147814238637672778", + "1" + ], + [ + "2175284757875243777368181047029611635029794854853834640193925840272327162800831299598580958644900300599640308131789", + "3907996884043855784686800214260772632071523818953837404401493191860114059375832181044940852044416964024066659912786", + "1" + ], + [ + "3787973084574211783038933031144252394939197537818197758932361654797286157797633104471177203332411640516534413482805", + "2305921080208468196804066670348840167993523712787466700461929679303130455023473644733250876923670968590992601221434", + "1" + ], + [ + "1386704404237484085682756260266483136303017805709605041726408535944712221302529519182426804602873276186377604375263", + "3934898799305169490033558237924592035032868033030484413933702617906493689145306666846062429361865252017042671989524", + "1" + ], + [ + "3747256146125362615550893939296979135961829845988779226384591698688603201142280007226931476124812781537651813471114", + "3614369530008370728918013388021455053768360179745978235487703858958591165824175402365004902104028119159254783329701", + "1" + ], + [ + "523055621842889908631320694662538151494258951775041152968392713384463058076167541642398405225255849256240541031829", + "533983651224643746000242071247003209206175445670643244042192249844110981838730618830739181168074588906345302142760", + "1" + ], + [ + "938062844263462264008396677349886432704052303467711486677439585380093759675969354982466697822053560668777488020205", + "2800937797456716007611339723023903298427156789303426126972107891276195279190642884884010391203054601412137204852983", + "1" + ], + [ + "503116528172649101349074249811386642837861549026371780216635613699619240756948502208678801101462217538631328285834", + "1112361848591453891090748844168837593626199346553198835362198272033308464458916058702804279169256228332819682528819", + "1" + ], + [ + "763810064803218384278920537757540620721546112346489988472845307507748301415951697614721623253683234265617868827649", + "1425786636935675615294516595431972918227511435392385538006823221702834125121574292099720434749929866522686064464665", + "1" + ], + [ + "2299433290856868469655278447338308656605154553637548578536910622999779470475395282975940749383368832431155858485871", + "1914050478647946165335192976103252261163124443173073094125966710609833882578250367198705374433712936824897826442811", + "1" + ], + [ + "1724625798074875927480587482669462797700642984052569184908046671940519425246016723057363608180450525523014604425901", + "3895740367752987429717203739081047915545888199105526608354676778617306769438865633798846623297499675588895634101299", + "1" + ], + [ + "1921763114218327406836136190322210327699057645195304410370800992094843638043170658004858564173195233505902876363965", + "3421507784544202652242112427618787070763716639877260059801471744831727862475300653963499726170553592279520018434382", + "1" + ], + [ + "2841600636500438004868592089876541375179097313057544349745276449732188498876951047097837705898713989075577558568330", + "2667188518564410819903817385958735271033158737665923940943172382501373313656320721985515909960763650402395593527664", + "1" + ], + [ + "3359870918277982609268747045155809932923095067734444596512288259600233039253278130924890613235108731018001594467686", + "444565151625655451855439770694914567390001322583086301956096072632607319898443362988759226499058486216278087376209", + "1" + ], + [ + "1207303578869352184618114500167713488189664175271869208279265151513509402780399696690535033078747845095058119701114", + "554362817681182478707738213793135174486246187534759487052026008972650709229974349308637832666367846219828749158859", + "1" + ], + [ + "2936305040534909819398132149499471173957980909851245014596156041858530244421644899894558328215175901516921303211083", + "638084051366961130975937762219661929235717321666953292930713256871653465724385264456220611223319197533592863753399", + "1" + ], + [ + "2673450317125571477639739114962278869467219932600755285267406139773093180865205142888877315003362547075173622349980", + "2544007920599878578499428121005431837932781829293136768112014586526932930436400062399407324743037475093896883595779", + "1" + ], + [ + "2424537190310233958691368480811118761378996476642187386264794107055441507152936784757701648875889461151976430343133", + "3520400605442116387348245978480465498823027387265268143312331988718588937115103687773977062343413030993717428261788", + "1" + ], + [ + "551297548311783313921592520922284068019154829854521268796446921326931484570328930360106117045328392314922460403929", + "1126960758709618524457457927536112205758199932750457241412682152441073804765317502593292336004026558708677007236495", + "1" + ], + [ + "1845732488089006788177212755445947133361076227432828010448836150183685359349841230694995288272494231439450366902925", + "717674461384260703571131192882894132419685155324252414132403446077465989337603730154825568137569740583724923168711", + "1" + ], + [ + "1406099932469289657400217832125228512640424422098224911570394376440768900551708880193956489974400204288257202561759", + "550019190979465978133137461418900000489351694555623507352021112954308680108556727658666227343547651704184597021875", + "1" + ], + [ + "2189616947919569119847920709728589198501637759029318794595475366295486672392813654805057680967709495716859589581031", + "1007206037459629367495757680029242475686477824060696135459093767571483714480872168225415547452884699966023777109911", + "1" + ], + [ + "418832474462975488714384128689272633020136798241749196926476492685548990738981654527887146226527171230263256692922", + "20298116020661250019910184863865927899283062865724587745125556573185107225109859915298132171546844523113035673496", + "1" + ], + [ + "3256891732318760837688690154115013645090688625980978066868959583106019777963327412702159800795759621924425230108841", + "2997418024940310234052664916208633891920441136492969396946407022124357453479673939551429671205002232179647444439647", + "1" + ], + [ + "3707838083429066069410151875468410440702261730638264301811425755423195135226204390595450926262786439850994998376259", + "451633422055653485084669403550160965685566563436759946930129498656249638786735658686358726954439217887932012766875", + "1" + ], + [ + "1299837419727345001026330596123971028198532992846446484965090388794746648826823946063940397300242610673900049454007", + "3975968531581162211466955779938157637639401885324079410575910886719674249558155135856270502697914060177773061623969", + "1" + ], + [ + "189701425910191625708004173263818016094064610157423308477273428046987530529294439357017273491679714350407726305175", + "2092184734089247352004562752375673608678711183907659291430449774015670252125057692115592867229980667148955212858583", + "1" + ], + [ + "2356329986450843356763934729981003867406733515319084179265919410484403709933129203960273507501128800220315605034971", + "3311728190334230964152464118736177011528301834582635670768669868001206010622174152231988155119148909883479841263511", + "1" + ], + [ + "1673984944893811135620274402869932248783273929296236431328196042609900875409714512232113702208246052768422119114173", + "1661531950388965430618288103242958971232297977977764898854520254518916694403578943712433561650615748735246310129684", + "1" + ], + [ + "3866751046314729512091807840161976464926961142013481963105772291647681332883992123305833102097020261742096531826648", + "2988720961114761460171854266891467109638580958488052328858981449769568680608953277225274461726893886838452146615970", + "1" + ], + [ + "654318747604510625309129179740083448116353618725358714895296496051181835269913198186374711060422976342012959035410", + "3243009298986087681665583699393176144615637728947852983663705552279841549839776222172532204814306472689476671400284", + "1" + ], + [ + "1309498273542927565772871144344874498853723408907856366704822225184470041510930931277938812521288673390899402291750", + "1650093654469712643359823717657635635131584858500042789626506280614415173048646346439032201725779805942721757981727", + "1" + ], + [ + "3808499902479520027900433456135337600654456176900180394970288291867861030512270951984510313308048327413662295165350", + "1024565314528312870250033342833832490051409080504704377144833158114641747218236632608780243120982848387644764772950", + "1" + ], + [ + "666675713693451375067611664146575656699872855169250940953480522967696170147154026391967060316179740783102706113443", + "3040112319330019420661659765645601582688262848778339074476354727238152328319839423414229156756658489791654179055577", + "1" + ], + [ + "3777604731840863472959807158996497026500007375083899164143338312819454844540423449965665872138799202703524604099991", + "1357857851322638538264186504014132498848455885552191437555706501723418906253923875613996599286731302680042402972138", + "1" + ], + [ + "884210856704368078063661203583774220527630396230978949967906652109757239300288584807519471409496498242708603358141", + "385433917594399076394862382804321770147258380283005129224273771061711906476276389101775146964693610978622858955274", + "1" + ], + [ + "1345318008231462037961549261263287651646293959749709143545657014648221087209987368546124362687736861191118472376596", + "202858235618210228233133310729783688298077503005447811482135033152893381255320979422854123170244069953409523480927", + "1" + ], + [ + "2918750038604351250072955253379852973570160052230407373154861391605900646523598842405763266241986807222943859912808", + "2365518430092406576837408466371082510761679617070636617237161605386860721175037143911798538624067873981420444628605", + "1" + ], + [ + "3857815182284009755898808096989210720987557544953881493270802879254464731460325460135545148375446858688760535592923", + "3512542715521284951678143673535334747488089230516519207053348301148168613637033635629786860921473443265706439873108", + "1" + ], + [ + "350943286213261655765025580907338048391676810784854243666999718245500117871313577116828013730313322640391917586832", + "3116341887238883498213145301335910828324495035016903307779875024026669667076102028424888417537651984090202993502891", + "1" + ], + [ + "1110187792606249623174322345838895539892424329260515962319503139024773083730645263641228054629866486937851768187227", + "1817706072277394010354678096404628108323261387149387717593237986941665786794290014917322301471501588174156534647937", + "1" + ], + [ + "132136133288903080026857568411330031005280999029860053526758643625045780547501378116671585228554005018410877305932", + "1394905888180605756130155396864019340475951596634528605089769304070431406977340164692140327739476456784728092917086", + "1" + ], + [ + "2533213165875873170160479438171231090292644580481462275840533773032822723487718875394665001835937802878248303400399", + "2539787955036075574776185311282065850733833959528762593051617797194107104998012694910558026553961393749355513623577", + "1" + ], + [ + "2106786891047456501979244450859706579657513940340641261845361668508104290855884161103056511811584228141254729857019", + "3569189257590596052743847812960954397573741629356031756880693113731880886506185726937926202844638638444325989438219", + "1" + ], + [ + "1316667876383908092357281204888281968834018419407053535507383318347783077774781922068642582788163219307916234910342", + "2919647049045577160923743889833799133899792557657388094481877816503980990367558869520155632264750182834749999744154", + "1" + ], + [ + "3055276100729485211413768263261162819350017557472791510104401889260497155720042121459258414099732349514293897592245", + "393256082043372496660349344828482592538023962454407899317283610158055475815959170901458976222459807352954108704760", + "1" + ], + [ + "531829698441829882440621394292367316145348274473892396909336762123788036787672365214888602955986897876367644762498", + "3038941317361240436980790397647330057873126907381394420158016894999509686454723144281679437705257899642845535284154", + "1" + ], + [ + "1338862489367938333799490147330886195208153844054695712268784952407887012795486713381662239414836541823880482217998", + "2170253954787357606671105769880534069356445334024846682042103533708833819655497431815011626240565635030789272254673", + "1" + ], + [ + "1474836902514079029340666866815277175297561573921027648604532398817344069339895073302733944022560286735979527578508", + "3906402894747972336714836165640463525875396069520279241087035898810711829024814521451083141679380209839927071590936", + "1" + ], + [ + "3650200299858727199648068773099774922721771739922194369019867831479646566157447427487358486863079347419888705958343", + "1707391750535227141927307615518879606127630682167950997510112669924508719252706406932040458426628914297238746035941", + "1" + ], + [ + "2921948249800284158525320093909654752925995510662395262782331295484491885987764949306544329943950579919076595703338", + "2837864947321395586946691981948922520971675682274356340148034902385271375815062153452769512094705726182383875986417", + "1" + ], + [ + "593259041457970851151722757630100959127340263294924449429355675062311402515771129409913953505363133282836444291139", + "528203213203297032214813270865057913146543149194747984419990166089560086195480430798803610729007450760830574646443", + "1" + ], + [ + "1681395216763253396102504416928903167888141180394663155431318751093290544142463878023334826318374246127501064506359", + "1321873876449929159672481782050974512254910409086540283159876388836204105444081934298984162152893573718075196961215", + "1" + ], + [ + "10330893588131451563636424935065108225267823967425654025300873825100119661266222938772475977414064055584756021425", + "1227654973717002274349795580890318365740455937453189449870011829479335708155316881708104344830684192648287785773929", + "1" + ], + [ + "3122643692032828107684168922712636479916032091364889333418336258318459421060729235370862085608882356699536066946094", + "21791155182847262610314145841895750828013130805879298151639467366090939557282391184833414997958359054897896909457", + "1" + ], + [ + "985192718029513648043510382059162529271560689084721516688789088664010409366008870017994722223915719517531921310884", + "3647435046890756067817054228688362628190976430468235985819727139396168132177446634562537928459743444952352451756840", + "1" + ], + [ + "3936141708333622187637090276681118891875127504053915667433009283447416344176987860238409468099376037602297930979400", + "2577551728301076160600128929234206835868206402567242324518602926580889698268580030432776976103172174235542331353813", + "1" + ], + [ + "1867621503300045101367413059834914416775715914118760161721403825074705200518904885078774646538282689574651086761468", + "3825421491972208850568150391011775322956241365397482307573267909664470959017471420117857629140112564559019870419600", + "1" + ], + [ + "1180583423595816959670939610119989391931773921046900336237496222456679917335157402971331326270008941232844869580642", + "1008316078396468987617842267432663703174681553314621013993490832011782895842088002565216020786086028529900868510020", + "1" + ], + [ + "876859375339688795701353661960923634233655448493117827619132870614589253918573992158784286086518915417073090834013", + "3515142076934395445014354236390338404087195437395532342430151818728799562610190431902921819239755907333469969551079", + "1" + ], + [ + "915501207388844678831939144380436931410682053936556664883062838621528770289975045972207759980306078692625757107340", + "1267250472224829292324372032259936907981016875502329456300868569460322730506728690899699836713173861912754246380850", + "1" + ], + [ + "571896774805649410377253166176747914029827437105961101767559276818814119373032619216649103396217170619636100119875", + "2500581421841654730920735842879716393030711064960729417099268043428311467320084681555113771698535389495469777124575", + "1" + ], + [ + "2206027763575277673454677845522771905645177291003568484311749593101820215338704067810279853390568780334268120631928", + "381916039458782812576922846020692350843699096305309138488158649423450741232626202089978372163996915624499672348564", + "1" + ], + [ + "3079627866640904281634432416473796944010670064049620934397002390991578744182866531122268065771478258701887266177571", + "3402869595747684193138155708543916008118504086883509053603705734912416990486990462216733655586428550881662590859508", + "1" + ], + [ + "128398512122520449083764648827595732322843335138123864722907300377836501226681233786766130267234507193120776397538", + "2463257636602399579098002531109691017094182776483811788191493682891265798700235043792079359896882658804668001179414", + "1" + ], + [ + "1263922079000834041261243600877277379450054605863173502739857233021129422588011325541626847802168217265940793595506", + "861723855701766352705982638270516376359485279708766415577322777144171434710721077099599600636425648073920775165802", + "1" + ], + [ + "581618118056459503322765697283839251307148223300332852954234142112085247043907671891856809998456123405090421593557", + "1655872090704077231792171441811233983956082520313027246700484796775521821040150313186585019600542116578291728226446", + "1" + ], + [ + "112303526857686992352039915784001942146323117067844361233275558586946760294338436726429720034790089916885880265613", + "2301725858863768119566548836149263322955842012251538160634113800674103158249713941748927485233337051697194557688607", + "1" + ], + [ + "3421098458566339381633464759261695336384288061482041023372167134959652031586919120244748036289995515198032271467276", + "1802436153129804500426736503750009683432440590492087154010819754562313149844896078795742572181423312028391534071202", + "1" + ], + [ + "2917949543418373483713197475038162679476816157623412536956811024773421363989696082739726307460110509488449958266616", + "3108457882402266940533200127766422229792868629896206934907455328699206911097654464002257178888941002864588511373262", + "1" + ], + [ + "2188893328301637850119450794347415885908246352951767609894671149488406393257405730220576643450526767125528527771044", + "1070307929091586111174398144476343184157268914504338072596540396175200663729125535893903919743776337337349370499275", + "1" + ], + [ + "345965036286879985055955426744939959096490198110585773883262435067361087338508107328925475494600921105959878964011", + "1597293641499182003240215218146785261523442968041080273753273542585353207131605662282951523922534068856953517229541", + "1" + ], + [ + "2308906003759635280588975613475133712161870951345095573864427547808378963262877099698974689895087609867606872560285", + "2944083873616146355389894499422334737496694983082468929002353074176042285857042873439238137120328203367361874279135", + "1" + ], + [ + "3551342969269905064353835121345576460245909468556321702649392700019674485401906644753781108463047802098319751111752", + "3577652844522340837695247419171980393497463925605401985619135473087568929891633452966952879333823471043209334251489", + "1" + ], + [ + "2626912210671593093282067009493256381852770094350175008094308398999454935033158918543955631455818633538837224503876", + "3819865883200222699567340655328135302370412728366996592137276695446197618908424747770835315971732986288198173612152", + "1" + ], + [ + "367551539697059154663865618050414849749930325314796006656395311689275099311928390560948973397890724177952611914985", + "3391157495423223937445868271875433219274045231074447467691796763865139248887381066467073794364249909423279688246105", + "1" + ], + [ + "475189585601237540783595632203860884766798646840746856865283567118817949956465403489160844680916625024444635314773", + "3753711814220177129874351978717678359543831911390623604568386691540462215593167697491893434625557549451092149482771", + "1" + ], + [ + "3653882874109663009312173103519287770581753493511963313725551080963535383668965333127597827543008069087289580922846", + "3718975940557519118805289771040524492271734392361639599496938561851817684939160701273124651177690468620018006202425", + "1" + ], + [ + "2691757191439230842129670744027534067361332747717063572860679570120741109385265998951452802624980157100715906259675", + "2933624145602577860965612385047186397997515309156440717271943739266342510195414995576276642115525413066266919634001", + "1" + ], + [ + "720514367864361052768957450720014585051447097048330394439187911555530032620402894568030589255359147588258061700362", + "415809644024030038415713368897486921254880000452695151239986270308251960646645948003895608001601450641861615493571", + "1" + ], + [ + "1761766756810869556548827523079508990867429428676853689291845541481889546817256498880959962497081775061883564522165", + "1187770797576729748575958961731739683213600226787854393213315694195500448479651734999190144998556545495362957578311", + "1" + ], + [ + "2031267329428634153599561014882594602680330602076915600569314396158811462317501845321293295822095412410693418351624", + "3825247537489104252907281063304466632956779223303688878693658207881186246183577776366730404760789675057177275945099", + "1" + ], + [ + "74333266578159430033938191551535054347443788254320916157293484145951997437311105507558874751346258318595902026114", + "1846018718630426241426972672351391360227198112491204642843033669688535940935871101641027335619615107797201862940543", + "1" + ], + [ + "1000505784069039848186979060063050859561448594076935547319011332718214915819550460349161318782941913980122541513381", + "2724875498698419912491271840948204656419441808403627835810297831377177366486086253178762213275628134506765329521581", + "1" + ], + [ + "1542900990459036034792069026214830324817997211544540926799663138450929689666582337766240648772437028126819874971814", + "3386924958684871431925096514113901086851946061105432238015082655779283412086405749536151352168335978543297317138088", + "1" + ], + [ + "234227215202536991440615348520509398836448564198286697921067120999242450161989224096977386764997394388723469112770", + "3966945935998324747592784001036850561456031465166172725747719193659404331461308357043665215454383618211322590487872", + "1" + ], + [ + "1900792859382163248617966304193176916159312908389875638942345690105696354893998991218064040796824707938216993100578", + "2645907697792031063181142631877558584143389322539757316991740610294477835830938199063871822365657661195388011935070", + "1" + ], + [ + "3733458560913948686524416756115630902888068288910233093073287843749460064005908388052825664706972037679586744123088", + "3141902995867904103705953697139177856851770206824615405723270220993540388217879002698320716813157694300688186820988", + "1" + ], + [ + "179703272363130300862130351805238682639718198771335260576171956722779367100660727502504137523562952523239974352187", + "25195355751493803876145026722760768814795628143036286313036731466062905979190465557388329333459836712246496270753", + "1" + ], + [ + "2168126567746452194668596887677451574273679452270712170427504585954404710802425134147056089580162947609476387902876", + "1651773722855151769073451371857465292401396752078141967320581360097806593666610522717004614866901317729306794524622", + "1" + ], + [ + "704312632694988824635818814161554484518223709760353429117619699964079105561870355611867614873614495858029693720763", + "2390798424142815138340812815527122922754098108839224859654142325690174393017084276936399941111452455168797414732002", + "1" + ], + [ + "1493894839982558920863285966669838582579670175631608480574041974334806471999870168153659464249196524839574910413614", + "3680978070710515883130105876109102786049541061918849882133814112995299559562331262960726717835601438772039917083575", + "1" + ], + [ + "3280832546432815104291541610158720236591832791664891985108460621159157819507980590862300633863621454599098441472732", + "3289289233048940835903684754160381507442689786321092881521074261412771379228020806044447369306369082949656316587025", + "1" + ], + [ + "2242773370676331012851543496277855405235110233052024600292942052687477894169025652789579605860510797515394639485661", + "197659776067760747951193521846512352468649359350655533086613626481214728949683286668230853948478486299910491145816", + "1" + ], + [ + "3998683835781509182415235036120566671360900250190618286640810984891034354700830138844317766964628313631170270676153", + "2044167327264217526146378928891120379787787158161808544430152416541646823369920227258610829444798530317782689145504", + "1" + ], + [ + "1716304889917655101739097073397684348205439424081625756768913050460553670573660161882365501528833218207485061163739", + "3572030419033968002323349097666058325582151213214560674774389309286259818626835662052779234209082782219251850726686", + "1" + ], + [ + "540261716407073293095585179475553912394751851629736945351568565536779789116219566164540468433458799037295587702137", + "273243491344507469787877328115786362873098297334216529099811087141784949331631163402343856525056097939663644905014", + "1" + ], + [ + "1509294443939758749222962479370583814815965023401219412965295263781805762639257177769954118143190729891160481873626", + "1906634104876298418636773373769320911936515888546861086106698406547318917352440022433985925106740033390329116289580", + "1" + ], + [ + "1220834036885612299618328484568520477215049644635565983185993038697569743850596498721451604024386431805116129891162", + "1425057057360694798064741837857944028882031553611209904450183857338356910414778298567345383663734887677332058909818", + "1" + ], + [ + "2770301862434133875022384181272959945774869187845551943984210154188401249308965971972827736272239782643927279291750", + "694037223694897558075304597086091212123053364127974112396412222321779886609066093993457337405953103732267549868280", + "1" + ], + [ + "543125523531522366818664289484198708320350822742032545328423688301344783222530932421117706325466539876526800664405", + "1256232839909708624945587342035313701356062231293030143073212997479949962021627605303277325714935258268099303105295", + "1" + ], + [ + "1914134808332615330295345517836214336822039818222222738223471721130542002321864074587359442410362384655189674264814", + "3819370997008141999708632478920666400999471871025402651779439808256090163302839726853250890226805503752178026888886", + "1" + ], + [ + "2775668414572348985356478293518438826796777769912019732654243905255972081723228739813216455211527607036731657621407", + "1300422973411838899615399992168097282444669460734684422121645677312416192935778689120395912946838179697702143532703", + "1" + ], + [ + "3001613722195182344495986552440101804733988843385008633019712734776217532838177120746211104039718409376669450572394", + "695069785908235283165042625441465791536732398314704946891594270357747741351764889886174782798233212257173924099912", + "1" + ], + [ + "3766269357421522575793223981231849472373319691211039637556321417647696452401142264144272310225447779479617947351713", + "1914412797066837063882802212436201479026900070061084073657782629523444422089357226222079910465147495539240513574473", + "1" + ], + [ + "1010619914070103404742382650832896141367727593233969089617635911676032723349297161169805643983063119024117819811939", + "1964695844256043843885579952935181553913945722308343595416717567682230522369787648322192418210489711755558368244649", + "1" + ], + [ + "2518649714244823658095238703776434088271317900884729353652166916399538099054214322816033096013797874380015721891907", + "2920094995349777638191309338284733757398453426813454060466069895507031797204279219153024506259692619874058090582904", + "1" + ], + [ + "1338704927812809783479185120958617681794849701372859746015663407533089959698821741928633679256463497812580247501024", + "137089360333598667133660873353866744721144809359961509315691149950993796037115748657017784294987780414267962000920", + "1" + ], + [ + "3804262004859955490315054905749042124051347103679994433801486949255366414828893585574061103949513913079662240399504", + "417277125417902626940754405789348811774982024032923714407943248047012470032567833125371398882981925902796716565163", + "1" + ], + [ + "1005537645554384726569944409925047356530490402964315803347525922254093764621875013953278316455637107002511673335834", + "1794018574259933947530170102586307126222586531674189658381496010303386755232004225918687343429744877570541187282133", + "1" + ], + [ + "2200612011176676398843622006167407851187099928489173797510971953119498338580021093205827928897351513320000333193902", + "2166413849114995317293885348349396913339170613178282448820028787057794624823872860762094869226490609459996005648434", + "1" + ], + [ + "1880320880840589928426011360766760977613333851690702281061323078194884661692396755411347067114305376762105149184314", + "1290836597249536217775211000262832122444247341755791174948697218989573642750145950335153065945668185599625451355642", + "1" + ], + [ + "3090611751188390801777906757871102070321476624948236777801648220740740520269117374699750552078937253885040020732884", + "3377114047723726483739271827450354475726254419796826387208119122979405708048132098296974367448091014469647023853454", + "1" + ], + [ + "2839624015106140116594596874127870395390955045955796128918204556815466904169272288414576965983758412989107909841206", + "2013041224786399269798782204534092881708640701363335431286390996703410223173460837941015116999807383090007775060015", + "1" + ], + [ + "156952325011990711416569965865855495969667142655204031261183511603178932374832059308500614919149475530347164989229", + "3064614341727296806215959323312446462146202142250042892286021962660210325910739609082519356469323393591916956754660", + "1" + ], + [ + "2749306716040112137182019384437125632303014095246720724487930819226774760263882110469478716439895484347799131502691", + "860671235060030866205396121057522255752638790043284324993812906377300130120419771198989607879841789362004268926109", + "1" + ], + [ + "2261930235879185129052325642111512220013311670594393325146882832219913256657223572437922752274438087278796239134946", + "44199799749610009197073038601665883407576510637935064453814028973356113173626769943338778260984617787038280412114", + "1" + ], + [ + "1463072614346253319858724251684161929170865019128658011209443930542481415987351939621811361343843682442799818154737", + "916382939654672700277867285731329773833222854461827762858772897094660712737934766795297894375386195956439220672630", + "1" + ], + [ + "947149735732074987234676445255456908630326379739449533692421971262684161310250877909561467760700900729032003464759", + "622655884865781534180262383006363607165215928674435327915801438773809278190306989500346423864791402960889067754514", + "1" + ], + [ + "2706451219876037131917424022446023215665790848399528788354088344967196363692583602231371861069999501709317365973412", + "2901869188394727726028852650023989393071742271683182474899749223152569400183506358526696597921841517272759065314948", + "1" + ], + [ + "2862824450696489658520128853736633729122945356545261896115372608161484277876832966397173299190962550285556357827476", + "3029198294200149114555684181083465536395755550735239724628923478856657660387844632847379866826973104905943859546201", + "1" + ], + [ + "166316485634850943058194517092328392984116417769592645445483481425083375898259805997500725368754149645248573321586", + "2680889610773334766166648798670823918862541552023578196099308079890888693311818692151209135757009050953356244630095", + "1" + ], + [ + "3521516879960895654100998778972587152409943846859313471407835248706933812295844685745641048159563733026185980738519", + "2814435943359408186397649586744820592076549520353654846892108255289251432624588393241426907983917883890504944739866", + "1" + ], + [ + "860012676061197912380758184563669462954364165143821195621164129807569604556162460954525216434390105855328271843848", + "1553922162999436905599361079251566565534212760014508528531998862987983522714377077535392731642168250635329959966805", + "1" + ], + [ + "756532124218389442374232023908269159651513658290232832905581257749072384399776503557947379769953783447268260728025", + "2851636217875381997170133352201687011981158249432948882260789671856960752655496207583270218903746941031208170550817", + "1" + ], + [ + "3454413478010984687096492477232200953250691915022675143658749437694896792401650469653512609483361867959096331392023", + "3001862521445409401678790641223488476844459090758639018863109609279859394160309247831297363842119962178077997679529", + "1" + ], + [ + "3735350924343608254349945360676105790309904781589980476133744520724556531446011596478606380391011965640145462026426", + "3516103261244973752298877668276360071334540172476808140793619941560987813523384956754027999329404287233670044719111", + "1" + ], + [ + "2733908606459103276966087295757639456746339699651855952901136380165929979279953255083551035365216799102301549633812", + "1590180103120639375107611016981247504468934381313004571655798361434782584681872616433104209127903018185262390477467", + "1" + ], + [ + "3934520005438836338407708660304702535578101663315123875314506574058080212750838196183100114452924646989530370880126", + "781692482950131382537466008619343276520021244678660356339650460468700469440741416653556867711956742290760462655377", + "1" + ], + [ + "479386920243528589116574377612883458620128755305979423282410383458268318389690008626697352622379852877157206565110", + "3646514922763893875234442212769698884554535272675925695918653249467710612560043238345746025482473502481544444775109", + "1" + ], + [ + "2258604633511704978569417341853297823855890552216927509590648312079414054648162472068244987633777523302240749703574", + "2214593274550320607348646337821772068123424319869972937662662501548301697120143041572787975190108554498543855363942", + "1" + ], + [ + "3419992138154999679885779210828103241514585431683287074608489646552615537370335758752259937707905298994830904899186", + "2352443556885183642483854574258014050195556417117870207128057625093106627228476059392770824457451477817066556273136", + "1" + ], + [ + "2205528949734317924429095157860328400833885244494038425226483376726061643813637599945025233614503305440307263026063", + "3797043503460040200176226502171220172362247927756931311178426558096796554008835157831641041224144700487228134272199", + "1" + ], + [ + "3633652806529409364238247978677486612691103028485719761640394159147900252093186924084497956683908469784060365662379", + "883151714253497606439744966541694328255690967139263702338337875790250457616851521482464744637493910490815944571288", + "1" + ], + [ + "2319111269365630995561827947388658457372760837226249263522669973111056093845306415271041887869946570406308482749448", + "1511085977025237456523613711210708265588017386688426586871941403956162257398701912455449962852780936967065000437283", + "1" + ], + [ + "1408876193099479978140186162497946005039978470248828726440835620496042987595419293212768934446931266499741660092717", + "2170819624963540712477982036489507303674708994363249550986242002785343885246869617059611460098558657143928669553674", + "1" + ], + [ + "211886401732904789573256841575474696806814751028405232654227704327677503784735317536323431930381984729083812668080", + "1391494433342736971786919843672151065499137522253894833448650987774448040262420019402453873163530175600244186514012", + "1" + ], + [ + "1939283986715901485470149576100853063463475172460240468232429083780882735390401989912919868483336812107922294165284", + "3962285573987035185903067337017791713480723441385595510576485189974500615216764833642823101136997940164675070019916", + "1" + ], + [ + "1062151378485514254847890956272075691978074339887716934242343991251607319285105166456755232766659038379789368560261", + "690905298356222277069683600078845983644784402905556826751679870368234504638208370055682036331751319068925456911406", + "1" + ], + [ + "2491858996553661620905213130808403749255718738223755250651665505969808791976869998889613153343712080444970444957604", + "3093848738097558480144743003261542281281718483023705998647352062796427385082613004724969896564570965273705095425476", + "1" + ], + [ + "1105091976161010920766076435128425936441465357298458621678924908389551719464659988212437565142218237618451267119980", + "2212157358556686627052108063345097025899293196706386984189337538329418133050901880190565373972220434840857533563111", + "1" + ], + [ + "1807464325046716918593630274621471662208786380410872206724073242419916541074335977976580153276196434470086809418131", + "1937587619437717360056884656053777058683909080650000231776819158614639045196990033488597817541774451540127004865966", + "1" + ], + [ + "1970153718892672008352636282533715204063375758419192786800724804160169755911127640757311620563093531732423188595453", + "1457022196621672118545793041958516724756388715275603726507276342765979614400817428859636687192570332824243298441982", + "1" + ], + [ + "979990456490962106063725808989554703927939177630421987794690550211850987597423870247738635923434140598574492411082", + "2539847022362966974236969757132046132032167938971882193278683741068680279980903372666126053294780135730148733602662", + "1" + ], + [ + "1576427302672229685631070477800630714317325628564404517397963116123036689211735574889288973410233747819620433501009", + "2139464318830712256092120248162684112072549680048916493531881696394821593153016029159735881832547542991990054605387", + "1" + ], + [ + "1191534954413159005482366455897721962187896196071976077463238855199158896535834635938666602079669421894727388809371", + "3650733432305335771757755673187494365956960981082828882197778409533772194709715837586886093410687515460561967591570", + "1" + ], + [ + "3276258849680831028669962263854804149758000663385298308474993952488980742535139932927816667927734574522664748604324", + "443662047611394129884610588210616162341966251947328869276328364433107653337685310019946182015305370491185188695901", + "1" + ], + [ + "1767053922222695855861782568826570916237510961022992599188634151951598641656475052705935126463053561409194252756928", + "3137095888429889239523600395012473127691185099258400641900239044265134820008914697201603900229768647478075219386579", + "1" + ], + [ + "3670085363279152714292239842626932941544503432059295754797237285033200944421051622589429989124765227063824251918060", + "667739268306688748680410309434306837195456296147088507803592925819999181462340106002880441132333846358956689100497", + "1" + ], + [ + "2733825817938921521134319687164795118978239203792570863952509657193504473789830108693610258172948240671992595905364", + "827413859684535049893391899071226567785777881796674454162138879801645984089725915913679203864222596460535762714138", + "1" + ], + [ + "1695054319304515959826408657098056829643798745860207235667540799666239919432501135874960240619097417578806842462549", + "3714146190526442871529336710269138513421676113639591814968511827683238604696506085688615522951753695485722733936031", + "1" + ], + [ + "213708597282557639533677601409354384526635507986451381316128195000420148368442851312052285086015676649727299567359", + "246208038769967259187034405942342696431558156137678676394280856801654968503842051252811805164374725274780663097408", + "1" + ], + [ + "1891996612288226162418958756849328416639395670250933704229279482625731721842476238167733866738298402440365623290427", + "3975285594183280098975834160735263125069370046189083695724447597188809914673706641267559401730131358833460322725619", + "1" + ], + [ + "890598029031806143258501597754851744728873013291286556698864969592314205509022167215792201435644186162605577344930", + "2268692336616422753276613629267167014322548930305120549986776248431949934510653490172874860539167988634404423500095", + "1" + ], + [ + "2181710595455957664638157975618215381216299400863183219811198495065775429914244033667580330279652177321683615784719", + "2360736226889215000550835830362294989687325983501146809205578177540308069911762086259976291644548399313778454462252", + "1" + ], + [ + "2790596259734458806385613368312704957313828205688186955011342866539098752412046427707576219989039873060471079080695", + "3288231621003196302494212152977217869923716512095840481001484566476463811990967827003585337819764560938400034539248", + "1" + ], + [ + "1576684176861226623095139922764139627581479095630352880611548699671343185286437830309877569913996723258653162428906", + "3567651373031837812844012933264465458581751375423303542304461549441981407586201821177524585727959103481283416674792", + "1" + ], + [ + "2397657063041967352654809002748911556643914040639102068834160252586576267084494537084808371492559418907019897056851", + "2341015844431721833463349964829556701665763737296918971620787973898604435868628983308368291453715757924331740006487", + "1" + ], + [ + "1125161559398729467855222921714161691836440681414913985317992874836612953490154913440738352497734117666398810151867", + "316292430296861149950590028341664208576611918421847964283622270247404461046514175472900182396411630011868341413812", + "1" + ], + [ + "3779413974109566607373751467513338297519381143528342148182994360688013308689589906679901282235705876916265509232544", + "3107179399245131239741636621601824456033889165594932499181070817312906757605114660631480050584838257212288538198484", + "1" + ], + [ + "2137136087402937503482681509763915917010607003726186668400812810149845619687015118964701128945170844477495338251598", + "2541757342515077894282972456033260538919030721858061531567637723171667792232944353669866461015487539942850799480491", + "1" + ], + [ + "1117362225834776958305932706034808736322627099798874460787189276266431731304551551267900579892521365484880941105983", + "3849668202590506724948942101635896028844074617733572324234963021148899071958370291912367839693525347320789790412064", + "1" + ], + [ + "2056991512651032598409484020845245853287875776711583057762259034108943026794818611180151884091436762499236530258275", + "1167796950340933041658346536645927208227542604045853176904293394635559751171687547107589723030622255801060101881942", + "1" + ], + [ + "3312007320248597728134124031629541591051792641082104126252508268221628869469697048701596385291796117592474847950411", + "3632377617367198685954368567356879072922601356358181451046990225456365445690765845178945275255038981696130713111853", + "1" + ], + [ + "1048803894219998244065298687967731753336299512525325919939685038660183402157302680930392907699643963962778233122577", + "1405833158440421585202340451588287264948116109716885203295192689436148139547614386585615758841618304754764062383759", + "1" + ], + [ + "810767223153470865877059650193768144004056819210466410725900938203673866704824988005084766057942900469806323830621", + "3008664862556386382277038678423712872075435725055920436448872490698186235299752383867814209347397454890573248460067", + "1" + ], + [ + "186832111560390172797152443521525625990980193441912740842151010190722364365648294561675725087187517340207397711076", + "3101704104160877989872165621299798216074357611575672163769252128081507421087075648220394051394906145549432819353419", + "1" + ], + [ + "8139820432951452573675818909023676569974606308968397084183787296328833034748512195909884411720967401645037419505", + "2961586778345475909085251003833461490840744606079579195304347717690897470743289629428186705330333241170160065921153", + "1" + ], + [ + "3844832497043465668938808142919039169843589161801691684770060406703474020338029958185445718082990211215923343405790", + "2605054389074329289203815652858606731885507877064613681478124457496818226173165035602777923589291518485251253485566", + "1" + ], + [ + "741333902138863472418187597767916928513723808101158311779514772010432816086426067574904490824369974776381192844912", + "1866777526971840077600113737120864334948559579695623088538264523885631649571716809005439046833327717896703590387023", + "1" + ], + [ + "173662106835918213981157219442256060595020172627291402199923821837467110727540065404305814089256848164127547660613", + "3791458168111348195566634860159612775623874688017268727036523840553167337787848892745188035424109388874589156077075", + "1" + ], + [ + "344061138171391561600983061421459251067295722774223901773211026544931034904579356408084104769003835820301375806745", + "1076220384006411147928766954799635420652344778966489790329080612402267998197573095984672160633099885433556178805600", + "1" + ], + [ + "2607361968531261210564055728970601476045085689548471988551250674852399646222590545609268795884995734986421527131294", + "2979402469680158320613105636963448545006711822891516691929143562417878008503929377447625519176818667000377181175854", + "1" + ], + [ + "1516086002726210708923522370112890982363548934191668639562774437783730395860895251301940280076348745553080508354798", + "1283306935691075646533976559179124112593960171338416876965190209416140358938317891367819830980150260979536424245705", + "1" + ], + [ + "1729485292807980431123793767598402553606536781843586439675698868443639513493803107587486705911958153517987854331945", + "194814171371086076561684567297080392801828028965483534999630858048178511341556183854642368563695882064171574572684", + "1" + ], + [ + "636715316505254073406967847841361480483998534612221299113105075516445039883872469147549223495107582892749284167718", + "1311618561635305525450131288255410334287448827066798261053662098769569446895963306779013129211340195145395747532478", + "1" + ], + [ + "3161504225163574466476760495801810025872912823124267865109533321680956517348933112664202974032902670491351975003455", + "1815425457074662546083943890261183352674832708156678093818908508060331677533666923999952646599704006771227296273294", + "1" + ], + [ + "2227269773013564698181540949438060309512036332977740771954669352392060132847048289722118839226905252752359013820855", + "3081489878313247181077477196555504499028490793570148072730229585131540068261914189298384305089407118836023405274981", + "1" + ], + [ + "1101649106337570702365656960875632681877093230133703133477042760377695732999914156790446762933640304202792454109789", + "1374863747418240064134060757398956415148620309823001986983142741422891224181394942415753702150989562669928513035427", + "1" + ], + [ + "3552113647870110086214189570506333038336065167480053412134562541831581419396770552258865033214402556822166345479997", + "2260710218576420301331520265095637197667301683281748063143180165362386631498174170225123229230821744832592328863567", + "1" + ], + [ + "15556126769505435590668709727445209386267381091829029500886108403802471476777079602318116797253604359870562781106", + "1223067921348108487234483243296920591181776737305023060936095398108481223058655798765334146796983277445509468411944", + "1" + ], + [ + "1854242878786540423924614286202117970636853027921919769229652516922053772854443849022732837960390158263511288066856", + "1489185098842446836874008409308332216273722076437212329041027507556199966742812827971394277161713780315997931571461", + "1" + ], + [ + "3985650723815612531123502451131680552408329257706389265199252188317680838766897863728874605632187628285525770088829", + "3096758857117533093376234659064703515509620855852377613505417033978168673096072564393079812376109983811450622143851", + "1" + ], + [ + "3864445259907588811093528210181420656940718822854981524820205203599891371310080748046517882379562462921964035918928", + "3266313171878179773711471632424746432874061135586194020476929814555904256231792891883556890414468532571991368502594", + "1" + ], + [ + "129005533388521978347555363524477518657194375598082988151788854167708494567027395827231131952350284916331750746257", + "3712975325467536547158926078302511178496717732344118025010397759631259175947259213530215622773150094378475081238662", + "1" + ], + [ + "3902424316938722915978818397141502395339561439220358854136354552973645345751283892994418797903489933440442977355324", + "3863067306341430577817818812755186503625658347319839805062383796996328303971819836097388145051150519407357191904871", + "1" + ], + [ + "666534503077632701947320166329990331403354028936882294854014894510933640296334636180608915205091039652084696012450", + "1668060643383563438936484709402993168386832110451432859121678561582909494823860552080350753003012063142915460134237", + "1" + ], + [ + "498200728636381206752653874610269590085764042165042845908956321876060768579535692543489662453071395580494210422332", + "3287216631493774529251373754364618622979921224234226661308294213547523919820629509962476256020348847332044242085248", + "1" + ], + [ + "3167510749784995436025256093458794029807802918271966035596198244642972111363748365287102496585056629651552794978082", + "646197574667342146505397257999367554002882352254102538981487306507421561610897742954524367006202028965493576035620", + "1" + ], + [ + "918194699673581163846942808104394172278410473388649979933538125684780740838001815659006972510082114830951745015722", + "591281032225885728203234832863624466756848970552970702384139358696450050404712425029670824508850008314370950831976", + "1" + ], + [ + "3936966945805172933665728718947840649592950939680059446626870959201698230434799591893105655938655868796679179148537", + "2440499597920271428805102417701140426939357382731659632074450822123364278649061527156400637443873389347612195203213", + "1" + ], + [ + "3095191773857733373480550926763072786844384053680663845543268523092902979117817015915279410673401783657919330732199", + "3443032261142876345427885333110228915924395998253423918308232439783253174346447966447922640061396427346150869607649", + "1" + ], + [ + "3969529332545303664139485738391017422372649760521122770048108190580097641114412786976826897911243984287473274401530", + "2610823049543061127367077016039673084692245761243760829048593358886792305054850245630642827664969977639271475068327", + "1" + ], + [ + "3559528010444305225425986437944670801650252314684860802267183913105791287656039470205368242994855538414959011810140", + "566973582368305027137383130146811332765905601213977875698309298375901288606716553476856001704163524553470144240063", + "1" + ], + [ + "918936448357269031644312647153235585520916809079962377662238623657109491181417387645948345841428002436091612338462", + "2016990743400115247699807364307422165733649875114950521575051655222562334937086438984383104217071607656033180350939", + "1" + ], + [ + "2381122003060317238534042456903784441515569439960134348001979884748828244395990118580363663253910345495647991414679", + "422167025947570317356436672942484267611889236776704836470770845252448400998087992149136137456421807427414527116406", + "1" + ], + [ + "2361544591925624399226686535816710022025650320226228504027483339074249366997784897489945064421703497717800939736558", + "1311963084680510767753571612190725814974054315880923094587848372464831701599937725515116611296035031870117280186535", + "1" + ], + [ + "1068865103125906062516211604856339560091674857138567784611952667121979520099785012636652014854484514261947409107365", + "2176448314810592598838954947337326102173799660875131505412802237592740971485059632200343860209017416316226663288707", + "1" + ], + [ + "783174568445327710974961502007014140391717186059026685521171924890699396003404992524474915418890962515871328862487", + "2328099226675618651383678103565760895530650899889118190158484181538190695405033489853917263678875371068795005999332", + "1" + ], + [ + "2055775552791377258100168042384134090141444689917657112911201395325025343012798298910907313670589551637956833139197", + "1677042339084516139119666292717979247017680695150839935572582940145879341268008879173854328970547111669629349109714", + "1" + ], + [ + "731129549143884230146447819179892813881269825180208327141178806905046661386248754000561716629051188865919677727271", + "2079452772518380007322163880458493299147493872916217917963950218554521645579109077160894100166677725800635788122064", + "1" + ], + [ + "1603474323368013261516903755681553988995018648919806577218305861383780639060017624035906255500336376595713481023470", + "696302566105461361621462621305476948586622164825265835891370536470780980375666559144476124177317537106153545865283", + "1" + ], + [ + "2204888476710879705866239444216203275200506579552505641073480852177307951826298374619675715051132507785819821659053", + "52823422746617906207497240126937249209775255494899875564085855186498881029743047124952153858699440209726145387809", + "1" + ], + [ + "2051069374132222463652159546495253809603749117946464570249820732992294721224948825222302105107295732397946962170353", + "2605930642816221765686983361505489678630322438251259591434768265926548803128034682391992972153658111963795143969412", + "1" + ], + [ + "2587785541743969302470133809993257771471226627129728796475103543651326098546013557726525168601237654685406012981740", + "3655094457196546753431263057442118408373648637676478903035188679733958855236293770937042602785474366298292893137711", + "1" + ], + [ + "3040717555547687216725352577295049777266322747129685215881206844750152011695448511635129950615180284687321864638250", + "2158023405247626233164757130822782969455527746657620148365890383398479029550755616578483297975181872374864235482080", + "1" + ], + [ + "2039846548882938712058683903877689626666306679672202407207656709064500299889676212427061142778650139410109536763518", + "1750141752408796162428839414819790649240857449724375323010498696736756731621944627303525729986736314776968372228871", + "1" + ], + [ + "1288053828114009271140455486238337291546054432296523901714382045076302799081086328881201676489057329244193230217040", + "446397734909244463692256432069682146290102407708852889217965728977892441224730590562698154201508582064455128835537", + "1" + ], + [ + "114679594087578143551655998316766662433355627211397453099670175991147466287625266047307726159758314740129169099081", + "126411666293414785805507546186129571946041301837700121873999380994624668931554031088299625623809421909080080380541", + "1" + ], + [ + "3441319949891275848016159689694401981531275557390535562865169708786483945692595843546462588692368419362759216597924", + "3155898208164152141097420067777984140880104911388976261958305908927133404100928366915597286516359432793233738754474", + "1" + ], + [ + "3166484224683708644512004013345245123223210316488852647948031943227852136351056605569347952569311539255233742454077", + "2278590563067258204583147950870549738768726502801508158642803895372605797477923353607474722505127052174213251960907", + "1" + ], + [ + "3040505165735689520684362047341250078308051086008388921972603338053978874190791937864908173343052780444575996879336", + "3071071313518826850876736503834304751938076445247108379431926887453990135271472051429424475434082657030979856210610", + "1" + ], + [ + "973053899972701679228930935744565521731317717803777229645671346940440009312049380781242186686899895381427252756364", + "1179368666047107157825724527299921281027314479188452536405382260497833825816290650385373831598668384895399524959069", + "1" + ], + [ + "3531013450819106544013190172787639975589701611036046865814615177369998757495261245006536985258665174259183613095223", + "2091465269274195507799170398322166544161066081726257680795699424426625462555758570826764729428236636257810961286849", + "1" + ], + [ + "569058701370985150529870224969691942779112719811579393537177218259426945122050521073051613220035376698804283842512", + "1561023701094693564679192002004226244226683170578125728453250445502840965404429485844431995948931165668408512152141", + "1" + ], + [ + "2786676482643402498848708582445852902558958154285342298813902403989392669221221049165032754204626465609371562473095", + "3575302029472853538135245158035965736531062063055899941045415359864952087133155255780975287312256815300477496712157", + "1" + ], + [ + "1867998786643365073595393160036464017445238912319539593314018077113045375214519173038696440445324939333627848381176", + "505982999233054465783967500605228632596063260188051650785481134279625330498294432208189797603504752624678958732620", + "1" + ], + [ + "3535965604532069193782118466701356691921779097457790659477405020891397537174642546180167838384013534910893828553304", + "302783509651146317714186526742308529738333187622762613285590395739261448563326368030392299967029170606420733455523", + "1" + ], + [ + "1336613361400974686884837821582009296529154058158468213220310439783755784261326355122698767914550960602852944701819", + "3129491802074103362729950190521106761114393175518270579388426185754885114170833796414748461038600571091791176499874", + "1" + ], + [ + "3333920793308688779138205785129033403095060771069570519729820379323213723282724616805261881958240394565051862511459", + "597113682451549000592450028150656306790059278901516434237266335166644296756661903294952086820519248771059398721709", + "1" + ], + [ + "363412519938795007747553621462136341786554999423070324250107002004872478079724471858886268031755545464443780314713", + "2652017850152167775546959272215949849621180019479584863556058221749581830559566617049338853567146338809669252869448", + "1" + ], + [ + "773948180664035227903460313663426106900040236224886299138027928720671192532513245502134357780052971427042685446184", + "2971958063568989870449220301803271822706832546878811099785145647167883065689414392757045420534543726609547919511080", + "1" + ], + [ + "1358292493230403562169593198330650914482427810327663365499697753449796848010671908137349434423721722340910095173475", + "3997146014359070018172053360005125846610499891684612216025151238791297129891952756348833181222628426636123891419663", + "1" + ], + [ + "455592958336525959713448344506425511543950779926126766568072795573377199200009260380761940701178269389407786590024", + "2782153276818763551349673080031777287557873666790131358372980597016669059774592015420878589146125117498243864788565", + "1" + ], + [ + "1967469061887468942250676065907835892025062933767602876526222200299656362184311193129990468790122691416594759280015", + "686176240524710705513693598642990748671096925274489416722252680183477613604782878904349866573029349950312739292281", + "1" + ], + [ + "1088379159369519971275046596468654488228808653274219727607050340170909577939960373371043258055151996202202740882505", + "2749317025020529909411921458002431694110807179416698179638015454390970136962777357245884204622249240211442661656418", + "1" + ], + [ + "337689628052074182784526235420053711180356304678142312657106242642681224793140855888479471459912283681370129361491", + "3843034743663264274094082094254392510094242024161472812286088855893095976360704840770508712545714167615477451263136", + "1" + ], + [ + "1365376707992070357608133213560341190313801368839333003735001810263838832096888785761860054526035777785723110662386", + "656982783183466437638765508337243576777961855111019966448974744009627312939238286350754271009045523188050220711105", + "1" + ], + [ + "2403232281127778142733556090733295805071330768681886706035710331626930673652766176850743035054999419741410098756393", + "1583346495448311652536547367706289856716411509876253475560132156997781374821331224753179941547403475902087304454369", + "1" + ], + [ + "2592742630547287135403939540090075127782080418832128406032192456637594383175749726511018444454148072690244546656445", + "2216146473463497772777444168944451972193379130880975176257931035767126835368647023737616268534236291750332709052789", + "1" + ], + [ + "2814028857306242505273688457897984142917174676739821740932025780808310548858995925012896100467627349370306735789308", + "491366911337166476568125534190830601691430115977093037347239059968641607216270421081051999469224060197485804957235", + "1" + ] + ] +} From a01eb39ac8e08ef1ef8747d16d2b144178d45646 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Fri, 6 Sep 2024 22:02:51 +0330 Subject: [PATCH 09/10] Add circom to github actions --- .github/actions/setup/action.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index f8f8284..8fc5d48 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -10,6 +10,9 @@ runs: key: ${{ runner.os }}-release-job-${{ github.sha }} restore-keys: | ${{ runner.os }}-release-job- + - name: Insall circom + shell: bash + run: cargo install --git https://github.com/iden3/circom.git --tag v2.1.9 - name: Setup Node.js Environment uses: actions/setup-node@v4 with: @@ -17,4 +20,4 @@ runs: cache: "npm" - name: Install Dependencies shell: bash - run: npm install + run: npm ci From e9228d84a4e051bb6851648bbba84516e4c24651 Mon Sep 17 00:00:00 2001 From: Arman Mazdaee Date: Mon, 9 Sep 2024 18:47:09 +0330 Subject: [PATCH 10/10] Refactor the zk-deck --- .github/actions/setup/action.yml | 4 +- README.md | 12 ++++- packages/zk-deck/package.json | 2 +- .../zk-deck/src/decrypt_card_share.test.ts | 3 ++ packages/zk-deck/src/decrypt_card_share.ts | 6 ++- packages/zk-deck/src/index.test.ts | 15 +++--- packages/zk-deck/src/index.ts | 29 ++++++++---- .../zk-deck/src/shuffle_encrypt_deck.test.ts | 5 ++ packages/zk-deck/src/shuffle_encrypt_deck.ts | 6 ++- packages/zk-deck/src/zkey.test.ts | 47 +++++++++++++++++++ 10 files changed, 105 insertions(+), 24 deletions(-) create mode 100644 packages/zk-deck/src/zkey.test.ts diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index 8fc5d48..7e9e824 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -6,7 +6,9 @@ runs: - name: Cache Turbo Build Setup uses: actions/cache@v4 with: - path: .turbo + path: | + ~/.cargo + .turbo key: ${{ runner.os }}-release-job-${{ github.sha }} restore-keys: | ${{ runner.os }}-release-job- diff --git a/README.md b/README.md index d7d5eff..e3cc4e5 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,17 @@ Make sure you have the correct versions of Node.js and npm installed: - **Node.js**: v20.16 or later - **npm**: v10.8 or later -You can use [NVM](https://github.com/nvm-sh/nvm) to install the required version of node and npm. +You can use [NVM](https://github.com/nvm-sh/nvm) to install the required version +of node and npm. + +Also you need rustc and cargo install. It is recommended to use +[rustup](https://rustup.rs/) to install them. + +After that you need to also install circom using: + +```shell +cargo install --git https://github.com/iden3/circom.git --tag v2.1.9 +``` ### Cloning the Repository diff --git a/packages/zk-deck/package.json b/packages/zk-deck/package.json index 355a7f0..62ab9eb 100644 --- a/packages/zk-deck/package.json +++ b/packages/zk-deck/package.json @@ -67,7 +67,7 @@ }, "mocha": { "node-option": ["import=tsx"], - "timeout": "20000", + "timeout": "90000", "exit": true } } diff --git a/packages/zk-deck/src/decrypt_card_share.test.ts b/packages/zk-deck/src/decrypt_card_share.test.ts index ee1a3dc..f97d697 100644 --- a/packages/zk-deck/src/decrypt_card_share.test.ts +++ b/packages/zk-deck/src/decrypt_card_share.test.ts @@ -10,6 +10,7 @@ import { createJubJub, } from "./twisted_edwards_curve.js"; +import { decryptCardShareZkey } from "./zkey.test.js"; const decryptCardShareWasm = "./dist/circuits/decrypt_card_share/decrypt_card_share_js/decrypt_card_share.wasm"; @@ -38,6 +39,7 @@ describe("decrypt card share", () => { publicKey, inputPoint, decryptCardShareWasm, + decryptCardShareZkey, ); expect(outputPoint).to.deep.equal(expectedOutputPoint); expect( @@ -60,6 +62,7 @@ describe("decrypt card share", () => { publicKey, inputPoint, decryptCardShareWasm, + decryptCardShareZkey, ), ).to.rejected; }); diff --git a/packages/zk-deck/src/decrypt_card_share.ts b/packages/zk-deck/src/decrypt_card_share.ts index 2f4cd11..5ff5963 100644 --- a/packages/zk-deck/src/decrypt_card_share.ts +++ b/packages/zk-deck/src/decrypt_card_share.ts @@ -4,13 +4,15 @@ import { type Groth16Proof, groth16 } from "snarkjs"; import decryptCardShareVerificationKey from "#verificationkey:decrypt-card-share.json"; import { numTripleBits } from "./constants.js"; -const decryptCardShareZkey = "./dist/zkeys/decrypt_card_share.zkey"; +const decryptCardShareZkey = + "https://pub-1f3741fa9e934be4a24cfe1d391d2163.r2.dev/decrypt_card_share.zkey"; export async function proveDecryptCardShare( secretKey: bigint, publicKey: [string, string], inputPoint: [string, string], - decryptCardShareWasm: string, + decryptCardShareWasm: string | Uint8Array, + decryptCardShareZkey: string | Uint8Array, ): Promise<{ proof: Groth16Proof; outputPoint: [string, string] }> { let secretKeyBits = Scalar.bits(secretKey); secretKeyBits = secretKeyBits.concat( diff --git a/packages/zk-deck/src/index.test.ts b/packages/zk-deck/src/index.test.ts index 87565ee..81e86e2 100644 --- a/packages/zk-deck/src/index.test.ts +++ b/packages/zk-deck/src/index.test.ts @@ -1,27 +1,26 @@ import { expect } from "chai"; import { before, describe, test } from "mocha"; -import { - type EncryptedDeck, - type ZKDeck, - createZKDeck, - numCards, -} from "./index.js"; +import { type ZKDeck, createZKDeck, numCards } from "./index.js"; import { applyPermutationVector, samplePermutationVector, } from "./permutation.js"; +import { decryptCardShareZkey, shuffleEncryptDeckZkey } from "./zkey.test.js"; + describe("ZKDeck", () => { let zkdeck: ZKDeck; before(async () => { zkdeck = await createZKDeck( "dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck_js/shuffle_encrypt_deck.wasm", "dist/circuits/decrypt_card_share/decrypt_card_share_js/decrypt_card_share.wasm", + shuffleEncryptDeckZkey, + decryptCardShareZkey, ); }); - for (let numPlayers = 2; numPlayers <= 5; numPlayers++) { + for (let numPlayers = 2; numPlayers < 4; numPlayers++) { test(`end to end of shuffle, encrypt and decrypt for ${numPlayers} player`, async () => { const secretKeys = new Array(numPlayers) .fill(undefined) @@ -86,6 +85,6 @@ describe("ZKDeck", () => { Array.from(new Array(numCards).keys()), ), ); - }).timeout(numPlayers * 60 * 1000); + }).timeout(numPlayers * 5 * 60 * 1000); } }); diff --git a/packages/zk-deck/src/index.ts b/packages/zk-deck/src/index.ts index 3a81afb..51ed255 100644 --- a/packages/zk-deck/src/index.ts +++ b/packages/zk-deck/src/index.ts @@ -6,7 +6,6 @@ import { verifyDecryptCardShare, } from "./decrypt_card_share.js"; import { - applyPermutationVector, createPermutationMatrix, samplePermutationVector, } from "./permutation.js"; @@ -19,6 +18,9 @@ import { createJubJub, } from "./twisted_edwards_curve.js"; +export type { Groth16Proof } from "snarkjs"; +export { numCards } from "./constants.js"; + export type SecretKey = bigint; export type PublicKey = [string, string]; export type AggregatedPublicKey = [string, string]; @@ -31,8 +33,10 @@ export class ZKDeck { readonly initialEncryptedDeck: EncryptedDeck; constructor( readonly curve: TwistedEdwardsCurve, - readonly shuffleEncryptDeckWasm: string, - readonly decryptCardShareWasm: string, + readonly shuffleEncryptDeckWasm: string | Uint8Array, + readonly decryptCardShareWasm: string | Uint8Array, + readonly shuffleEncryptDeckZkey: string | Uint8Array, + readonly decryptCardShareZkey: string | Uint8Array, ) { this.initialEncryptedDeck = Array.from(new Array(numCards).keys()).map( (i) => @@ -82,6 +86,7 @@ export class ZKDeck { .map((_) => this.curve.sampleScalar()), inputDeck, this.shuffleEncryptDeckWasm, + this.shuffleEncryptDeckZkey, ); } @@ -114,6 +119,7 @@ export class ZKDeck { publicKey, inputPoint, this.decryptCardShareWasm, + this.decryptCardShareZkey, ); return { proof, decryptionCardShare: outputPoint }; } @@ -156,12 +162,17 @@ export class ZKDeck { } export async function createZKDeck( - shuffleEncryptDeckWasm: string, - shuffleEncryptDeckZkey: string, + shuffleEncryptDeckWasm: string | Uint8Array, + decryptCardShareWasm: string | Uint8Array, + shuffleEncryptDeckZkey: string | Uint8Array, + decryptCardShareWasmZkey: string | Uint8Array, ): Promise { const curve = await createJubJub(); - return new ZKDeck(curve, shuffleEncryptDeckWasm, shuffleEncryptDeckZkey); + return new ZKDeck( + curve, + shuffleEncryptDeckWasm, + decryptCardShareWasm, + shuffleEncryptDeckZkey, + decryptCardShareWasmZkey, + ); } - -export { numCards } from "./constants.js"; -export type { Groth16Proof } from "snarkjs"; diff --git a/packages/zk-deck/src/shuffle_encrypt_deck.test.ts b/packages/zk-deck/src/shuffle_encrypt_deck.test.ts index fcec071..12c89b7 100644 --- a/packages/zk-deck/src/shuffle_encrypt_deck.test.ts +++ b/packages/zk-deck/src/shuffle_encrypt_deck.test.ts @@ -19,6 +19,7 @@ import { createJubJub, } from "./twisted_edwards_curve.js"; +import { shuffleEncryptDeckZkey } from "./zkey.test.js"; const shuffleEncrypDeckWasm = "./dist/circuits/shuffle_encrypt_deck/shuffle_encrypt_deck_js/shuffle_encrypt_deck.wasm"; @@ -93,6 +94,7 @@ describe("shuffle encrypt deck", () => { randomVector, inputDeck, shuffleEncrypDeckWasm, + shuffleEncryptDeckZkey, ); expect(outputDeck).to.deep.equal(expectedOutputPoint); expect( @@ -137,6 +139,7 @@ describe("shuffle encrypt deck", () => { randomVector, inputDeck, shuffleEncrypDeckWasm, + shuffleEncryptDeckZkey, ), ).to.rejected; @@ -151,6 +154,7 @@ describe("shuffle encrypt deck", () => { randomVector, inputDeck, shuffleEncrypDeckWasm, + shuffleEncryptDeckZkey, ), ).to.rejected; @@ -167,6 +171,7 @@ describe("shuffle encrypt deck", () => { randomVector, inputDeck, shuffleEncrypDeckWasm, + shuffleEncryptDeckZkey, ), ).to.rejected; }); diff --git a/packages/zk-deck/src/shuffle_encrypt_deck.ts b/packages/zk-deck/src/shuffle_encrypt_deck.ts index 2c04bd3..8103902 100644 --- a/packages/zk-deck/src/shuffle_encrypt_deck.ts +++ b/packages/zk-deck/src/shuffle_encrypt_deck.ts @@ -4,14 +4,16 @@ import { type Groth16Proof, groth16 } from "snarkjs"; import shuffleEncryptDeckVerificationKey from "#verificationkey:shuffle-encrypt-deck.json"; import { numCards, numTripleBits } from "./constants.js"; -const shuffleEncryptDeckZkey = "./dist/zkeys/shuffle_encrypt_deck.zkey"; +const shuffleEncryptDeckZkey = + "https://pub-1f3741fa9e934be4a24cfe1d391d2163.r2.dev/shuffle_encrypt_deck.zkey"; export async function proveShuffleEncryptDeck( permutationMatrix: number[][], aggregatedPublicKey: [string, string], randomVector: bigint[], inputDeck: [string, string, string, string][], - shuffleEncryptDeckWasm: string, + shuffleEncryptDeckWasm: string | Uint8Array, + shuffleEncryptDeckZkey: string | Uint8Array, ): Promise<{ proof: Groth16Proof; outputDeck: [string, string, string, string][]; diff --git a/packages/zk-deck/src/zkey.test.ts b/packages/zk-deck/src/zkey.test.ts new file mode 100644 index 0000000..b47dff4 --- /dev/null +++ b/packages/zk-deck/src/zkey.test.ts @@ -0,0 +1,47 @@ +async function getUrlBytes(url: string): Promise { + const response = await fetch(url); + if (response.status !== 200) { + throw new Error( + `could not get zkey file from ${url}, response status is ${response.statusText}`, + ); + } + + const contentLength = response.headers.get("content-length"); + if (contentLength === null) { + throw new Error( + `could not get zkey file from ${url}, content-length is null`, + ); + } + const length = Number.parseInt(contentLength); + + if (response.body === null) { + throw new Error(`could not get zkey file from ${url}, body is null`); + } + const reader = response.body.getReader(); + + const buffer = new Uint8Array(length); + let lastByte = 0; + while (lastByte < buffer.length) { + const { done, value } = await reader.read(); + if (done) { + throw new Error(`could not get zkey file from ${url}, early EoF`); + } + if (value === undefined) { + throw new Error( + `could not get zkey file from ${url}, value is undefined`, + ); + } + buffer.set(value, lastByte); + lastByte += value.length; + } + await reader.releaseLock(); + return buffer; +} + +export const decryptCardShareZkey = await getUrlBytes( + "https://pub-1f3741fa9e934be4a24cfe1d391d2163.r2.dev/decrypt_card_share.zkey", +); + +export const shuffleEncryptDeckZkey = await getUrlBytes( + "https://pub-1f3741fa9e934be4a24cfe1d391d2163.r2.dev/shuffle_encrypt_deck.zkey", +);