From 75883a3e8a452f558c32601fc3842e2a1c05fd66 Mon Sep 17 00:00:00 2001
From: stjet <49297268+stjet@users.noreply.github.com>
Date: Tue, 12 Nov 2024 01:24:53 +0000
Subject: [PATCH] working
---
.gitignore | 21 +
.npmrc | 1 +
README.md | 38 +
package-lock.json | 3484 +++++++++++++++++++++++
package.json | 28 +
src/app.d.ts | 13 +
src/app.html | 14 +
src/lib/Declare.svelte | 42 +
src/lib/Payment.svelte | 65 +
src/lib/Seed.svelte | 21 +
src/lib/db.ts | 65 +
src/lib/index.ts | 1 +
src/lib/mongo.ts | 10 +
src/lib/types.ts | 8 +
src/lib/utils.ts | 37 +
src/routes/+page.svelte | 221 ++
src/routes/api/check_payment/+server.ts | 45 +
src/routes/api/domain_issued/+server.ts | 17 +
src/routes/api/start_payment/+server.ts | 31 +
src/routes/register/+page.svelte | 64 +
static/bns-browser.js | 11 +
static/favicon.png | Bin 0 -> 5365 bytes
static/fonts/Arimo.ttf | Bin 0 -> 490800 bytes
static/global.css | 40 +
svelte.config.js | 19 +
tsconfig.json | 19 +
vite.config.ts | 6 +
27 files changed, 4321 insertions(+)
create mode 100644 .gitignore
create mode 100644 .npmrc
create mode 100644 README.md
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 src/app.d.ts
create mode 100644 src/app.html
create mode 100644 src/lib/Declare.svelte
create mode 100644 src/lib/Payment.svelte
create mode 100644 src/lib/Seed.svelte
create mode 100644 src/lib/db.ts
create mode 100644 src/lib/index.ts
create mode 100644 src/lib/mongo.ts
create mode 100644 src/lib/types.ts
create mode 100644 src/lib/utils.ts
create mode 100644 src/routes/+page.svelte
create mode 100644 src/routes/api/check_payment/+server.ts
create mode 100644 src/routes/api/domain_issued/+server.ts
create mode 100644 src/routes/api/start_payment/+server.ts
create mode 100644 src/routes/register/+page.svelte
create mode 100644 static/bns-browser.js
create mode 100644 static/favicon.png
create mode 100644 static/fonts/Arimo.ttf
create mode 100644 static/global.css
create mode 100644 svelte.config.js
create mode 100644 tsconfig.json
create mode 100644 vite.config.ts
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..79518f7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,21 @@
+node_modules
+
+# Output
+.output
+.vercel
+/.svelte-kit
+/build
+
+# OS
+.DS_Store
+Thumbs.db
+
+# Env
+.env
+.env.*
+!.env.example
+!.env.test
+
+# Vite
+vite.config.js.timestamp-*
+vite.config.ts.timestamp-*
diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..b6f27f1
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+engine-strict=true
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..abd6f21
--- /dev/null
+++ b/README.md
@@ -0,0 +1,38 @@
+# create-svelte
+
+Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/main/packages/create-svelte).
+
+## Creating a project
+
+If you're seeing this, you've probably already done this step. Congrats!
+
+```bash
+# create a new project in the current directory
+npx sv create
+
+# create a new project in my-app
+npx sv create my-app
+```
+
+## Developing
+
+Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
+
+```bash
+npm run dev
+
+# or start the server and open the app in a new browser tab
+npm run dev -- --open
+```
+
+## Building
+
+To create a production version of your app:
+
+```bash
+npm run build
+```
+
+You can preview the production build with `npm run preview`.
+
+> To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..0c17ce4
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,3484 @@
+{
+ "name": "test",
+ "version": "0.0.1",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "test",
+ "version": "0.0.1",
+ "dependencies": {
+ "banani": "^1.0.3",
+ "banani-bns": "^0.0.6",
+ "mongodb": "^6.10.0",
+ "qrcode": "^1.5.4"
+ },
+ "devDependencies": {
+ "@sveltejs/adapter-auto": "^3.0.0",
+ "@sveltejs/adapter-cloudflare": "^4.7.4",
+ "@sveltejs/kit": "^2.0.0",
+ "@sveltejs/vite-plugin-svelte": "^4.0.0",
+ "svelte": "^5.0.0",
+ "svelte-check": "^4.0.0",
+ "typescript": "^5.0.0",
+ "vite": "^5.0.3"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "mime": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=16.13"
+ }
+ },
+ "node_modules/@cloudflare/workerd-darwin-64": {
+ "version": "1.20241106.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20241106.1.tgz",
+ "integrity": "sha512-zxvaToi1m0qzAScrxFt7UvFVqU8DxrCO2CinM1yQkv5no7pA1HolpIrwZ0xOhR3ny64Is2s/J6BrRjpO5dM9Zw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cloudflare/workerd-darwin-arm64": {
+ "version": "1.20241106.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20241106.1.tgz",
+ "integrity": "sha512-j3dg/42D/bPgfNP3cRUBxF+4waCKO/5YKwXNj+lnVOwHxDu+ne5pFw9TIkKYcWTcwn0ZUkbNZNM5rhJqRn4xbg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cloudflare/workerd-linux-64": {
+ "version": "1.20241106.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20241106.1.tgz",
+ "integrity": "sha512-Ih+Ye8E1DMBXcKrJktGfGztFqHKaX1CeByqshmTbODnWKHt6O65ax3oTecUwyC0+abuyraOpAtdhHNpFMhUkmw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cloudflare/workerd-linux-arm64": {
+ "version": "1.20241106.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20241106.1.tgz",
+ "integrity": "sha512-mdQFPk4+14Yywn7n1xIzI+6olWM8Ybz10R7H3h+rk0XulMumCWUCy1CzIDauOx6GyIcSgKIibYMssVHZR30ObA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cloudflare/workerd-windows-64": {
+ "version": "1.20241106.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20241106.1.tgz",
+ "integrity": "sha512-4rtcss31E/Rb/PeFocZfr+B9i1MdrkhsTBWizh8siNR4KMmkslU2xs2wPaH1z8+ErxkOsHrKRa5EPLh5rIiFeg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@cloudflare/workers-shared": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workers-shared/-/workers-shared-0.7.1.tgz",
+ "integrity": "sha512-46cP5FCrl3TrvHeoHLb5SRuiDMKH5kc9Yvo36SAfzt8dqJI/qJRoY1GP3ioHn/gP7v2QIoUOTAzIl7Ml7MnfrA==",
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "mime": "^3.0.0",
+ "zod": "^3.22.3"
+ },
+ "engines": {
+ "node": ">=16.7.0"
+ }
+ },
+ "node_modules/@cloudflare/workers-types": {
+ "version": "4.20241106.0",
+ "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20241106.0.tgz",
+ "integrity": "sha512-pI4ivacmp+vgNO/siHDsZ6BdITR0LC4Mh/1+yzVLcl9U75pt5DUDCOWOiqIRFXRq6H65DPnJbEPFo3x9UfgofQ==",
+ "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",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "0.3.9"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@cspotcode/source-map-support/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,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "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",
+ "peer": true,
+ "peerDependencies": {
+ "esbuild": "*"
+ }
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "escape-string-regexp": "^4.0.0",
+ "rollup-plugin-node-polyfills": "^0.2.1"
+ },
+ "peerDependencies": {
+ "esbuild": "*"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@fastify/busboy": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
+ "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "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",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "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.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@mongodb-js/saslprep": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.9.tgz",
+ "integrity": "sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==",
+ "license": "MIT",
+ "dependencies": {
+ "sparse-bitfield": "^3.0.3"
+ }
+ },
+ "node_modules/@polka/url": {
+ "version": "1.0.0-next.28",
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz",
+ "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.3.tgz",
+ "integrity": "sha512-ufb2CH2KfBWPJok95frEZZ82LtDl0A6QKTa8MoM+cWwDZvVGl5/jNb79pIhRvAalUu+7LD91VYR0nwRD799HkQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.3.tgz",
+ "integrity": "sha512-iAHpft/eQk9vkWIV5t22V77d90CRofgR2006UiCjHcHJFVI1E0oBkQIAbz+pLtthFw3hWEmVB4ilxGyBf48i2Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.3.tgz",
+ "integrity": "sha512-QPW2YmkWLlvqmOa2OwrfqLJqkHm7kJCIMq9kOz40Zo9Ipi40kf9ONG5Sz76zszrmIZZ4hgRIkez69YnTHgEz1w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.3.tgz",
+ "integrity": "sha512-KO0pN5x3+uZm1ZXeIfDqwcvnQ9UEGN8JX5ufhmgH5Lz4ujjZMAnxQygZAVGemFWn+ZZC0FQopruV4lqmGMshow==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.3.tgz",
+ "integrity": "sha512-CsC+ZdIiZCZbBI+aRlWpYJMSWvVssPuWqrDy/zi9YfnatKKSLFCe6fjna1grHuo/nVaHG+kiglpRhyBQYRTK4A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.3.tgz",
+ "integrity": "sha512-F0nqiLThcfKvRQhZEzMIXOQG4EeX61im61VYL1jo4eBxv4aZRmpin6crnBJQ/nWnCsjH5F6J3W6Stdm0mBNqBg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.3.tgz",
+ "integrity": "sha512-KRSFHyE/RdxQ1CSeOIBVIAxStFC/hnBgVcaiCkQaVC+EYDtTe4X7z5tBkFyRoBgUGtB6Xg6t9t2kulnX6wJc6A==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.3.tgz",
+ "integrity": "sha512-h6Q8MT+e05zP5BxEKz0vi0DhthLdrNEnspdLzkoFqGwnmOzakEHSlXfVyA4HJ322QtFy7biUAVFPvIDEDQa6rw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.3.tgz",
+ "integrity": "sha512-fKElSyXhXIJ9pqiYRqisfirIo2Z5pTTve5K438URf08fsypXrEkVmShkSfM8GJ1aUyvjakT+fn2W7Czlpd/0FQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.3.tgz",
+ "integrity": "sha512-YlddZSUk8G0px9/+V9PVilVDC6ydMz7WquxozToozSnfFK6wa6ne1ATUjUvjin09jp34p84milxlY5ikueoenw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.3.tgz",
+ "integrity": "sha512-yNaWw+GAO8JjVx3s3cMeG5Esz1cKVzz8PkTJSfYzE5u7A+NvGmbVFEHP+BikTIyYWuz0+DX9kaA3pH9Sqxp69g==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.3.tgz",
+ "integrity": "sha512-lWKNQfsbpv14ZCtM/HkjCTm4oWTKTfxPmr7iPfp3AHSqyoTz5AgLemYkWLwOBWc+XxBbrU9SCokZP0WlBZM9lA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.3.tgz",
+ "integrity": "sha512-HoojGXTC2CgCcq0Woc/dn12wQUlkNyfH0I1ABK4Ni9YXyFQa86Fkt2Q0nqgLfbhkyfQ6003i3qQk9pLh/SpAYw==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.3.tgz",
+ "integrity": "sha512-mnEOh4iE4USSccBOtcrjF5nj+5/zm6NcNhbSEfR3Ot0pxBwvEn5QVUXcuOwwPkapDtGZ6pT02xLoPaNv06w7KQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.3.tgz",
+ "integrity": "sha512-rMTzawBPimBQkG9NKpNHvquIUTQPzrnPxPbCY1Xt+mFkW7pshvyIS5kYgcf74goxXOQk0CP3EoOC1zcEezKXhw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.3.tgz",
+ "integrity": "sha512-2lg1CE305xNvnH3SyiKwPVsTVLCg4TmNCF1z7PSHX2uZY2VbUpdkgAllVoISD7JO7zu+YynpWNSKAtOrX3AiuA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.3.tgz",
+ "integrity": "sha512-9SjYp1sPyxJsPWuhOCX6F4jUMXGbVVd5obVpoVEi8ClZqo52ViZewA6eFz85y8ezuOA+uJMP5A5zo6Oz4S5rVQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.3.tgz",
+ "integrity": "sha512-HGZgRFFYrMrP3TJlq58nR1xy8zHKId25vhmm5S9jETEfDf6xybPxsavFTJaufe2zgOGYJBskGlj49CwtEuFhWQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@sveltejs/adapter-auto": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.3.1.tgz",
+ "integrity": "sha512-5Sc7WAxYdL6q9j/+D0jJKjGREGlfIevDyHSQ2eNETHcB1TKlQWHcAo8AS8H1QdjNvSXpvOwNjykDUHPEAyGgdQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "import-meta-resolve": "^4.1.0"
+ },
+ "peerDependencies": {
+ "@sveltejs/kit": "^2.0.0"
+ }
+ },
+ "node_modules/@sveltejs/adapter-cloudflare": {
+ "version": "4.7.4",
+ "resolved": "https://registry.npmjs.org/@sveltejs/adapter-cloudflare/-/adapter-cloudflare-4.7.4.tgz",
+ "integrity": "sha512-hKvWAfCQLzyNBunXEm5T+yyVfbQ+QNqnyqI0+lDoVYNQ58Yg/EPLEQIBS5aNpZgaEuBtY2tnegLsoPS8ZRcaIg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@cloudflare/workers-types": "^4.20231121.0",
+ "esbuild": "^0.21.5",
+ "worktop": "0.8.0-next.18"
+ },
+ "peerDependencies": {
+ "@sveltejs/kit": "^2.0.0",
+ "wrangler": "^3.28.4"
+ }
+ },
+ "node_modules/@sveltejs/kit": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.7.3.tgz",
+ "integrity": "sha512-Vx7nq5MJ86I8qXYsVidC5PX6xm+uxt8DydvOdmJoyOK7LvGP18OFEG359yY+aa51t6pENvqZAMqAREQQx1OI2Q==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/cookie": "^0.6.0",
+ "cookie": "^0.6.0",
+ "devalue": "^5.1.0",
+ "esm-env": "^1.0.0",
+ "import-meta-resolve": "^4.1.0",
+ "kleur": "^4.1.5",
+ "magic-string": "^0.30.5",
+ "mrmime": "^2.0.0",
+ "sade": "^1.8.1",
+ "set-cookie-parser": "^2.6.0",
+ "sirv": "^3.0.0",
+ "tiny-glob": "^0.2.9"
+ },
+ "bin": {
+ "svelte-kit": "svelte-kit.js"
+ },
+ "engines": {
+ "node": ">=18.13"
+ },
+ "peerDependencies": {
+ "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1",
+ "svelte": "^4.0.0 || ^5.0.0-next.0",
+ "vite": "^5.0.3"
+ }
+ },
+ "node_modules/@sveltejs/vite-plugin-svelte": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-4.0.0.tgz",
+ "integrity": "sha512-kpVJwF+gNiMEsoHaw+FJL76IYiwBikkxYU83+BpqQLdVMff19KeRKLd2wisS8niNBMJ2omv5gG+iGDDwd8jzag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sveltejs/vite-plugin-svelte-inspector": "^3.0.0-next.0||^3.0.0",
+ "debug": "^4.3.7",
+ "deepmerge": "^4.3.1",
+ "kleur": "^4.1.5",
+ "magic-string": "^0.30.12",
+ "vitefu": "^1.0.3"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22"
+ },
+ "peerDependencies": {
+ "svelte": "^5.0.0-next.96 || ^5.0.0",
+ "vite": "^5.0.0"
+ }
+ },
+ "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-3.0.1.tgz",
+ "integrity": "sha512-2CKypmj1sM4GE7HjllT7UKmo4Q6L5xFRd7VMGEWhYnZ+wc6AUVU01IBd7yUi6WnFndEwWoMNOd6e8UjoN0nbvQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.7"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22"
+ },
+ "peerDependencies": {
+ "@sveltejs/vite-plugin-svelte": "^4.0.0-next.0||^4.0.0",
+ "svelte": "^5.0.0-next.96 || ^5.0.0",
+ "vite": "^5.0.0"
+ }
+ },
+ "node_modules/@types/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
+ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "22.9.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.9.0.tgz",
+ "integrity": "sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "undici-types": "~6.19.8"
+ }
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/webidl-conversions": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
+ "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/whatwg-url": {
+ "version": "11.0.5",
+ "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz",
+ "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/webidl-conversions": "*"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.14.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
+ "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-typescript": {
+ "version": "1.4.13",
+ "resolved": "https://registry.npmjs.org/acorn-typescript/-/acorn-typescript-1.4.13.tgz",
+ "integrity": "sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": ">=8.9.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "8.3.4",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
+ "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "license": "ISC",
+ "peer": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/anymatch/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",
+ "peer": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/aria-query": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
+ "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "printable-characters": "^1.0.42"
+ }
+ },
+ "node_modules/axobject-query": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz",
+ "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/b4a": {
+ "version": "1.6.7",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz",
+ "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/banani": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/banani/-/banani-1.0.3.tgz",
+ "integrity": "sha512-2hr3RUXWRUE9yOMH6wlJYaRdwdFUAjWQ8eHz2QRcYHKWjs+b9wnJ0bgAi85DFVKArQtJ3cFZ8oq/TDVB5GHWVw==",
+ "license": "MIT",
+ "dependencies": {
+ "blake2b": "^2.1.4"
+ }
+ },
+ "node_modules/banani-bns": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/banani-bns/-/banani-bns-0.0.6.tgz",
+ "integrity": "sha512-zLzw2U3TEEKTvyw1ohCJItR4cURb4PODt4wvBj/2YPmqr+TcUBpsE2DU3PryQ3EuE/887BEmmm7fMaC5JoKw9g==",
+ "dependencies": {
+ "banani": "^1.0.3"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/blake2b": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.4.tgz",
+ "integrity": "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A==",
+ "license": "ISC",
+ "dependencies": {
+ "blake2b-wasm": "^2.4.0",
+ "nanoassert": "^2.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",
+ "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/bson": {
+ "version": "6.9.0",
+ "resolved": "https://registry.npmjs.org/bson/-/bson-6.9.0.tgz",
+ "integrity": "sha512-X9hJeyeM0//Fus+0pc5dSUMhhrrmWwQUtdavaQeF3Ta6m69matZkGWV/MrBcnwUeLC8W9kwwc2hfkZgUuCX3Ig==",
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=16.20.1"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "debug": "^4.3.1",
+ "tslib": "^2.2.0"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
+ "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readdirp": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 14.16.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "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/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/date-fns": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
+ "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/kossnocorp"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
+ "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/defu": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
+ "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/devalue": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz",
+ "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/dijkstrajs": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
+ "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/esbuild": {
+ "version": "0.21.5",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.21.5",
+ "@esbuild/android-arm": "0.21.5",
+ "@esbuild/android-arm64": "0.21.5",
+ "@esbuild/android-x64": "0.21.5",
+ "@esbuild/darwin-arm64": "0.21.5",
+ "@esbuild/darwin-x64": "0.21.5",
+ "@esbuild/freebsd-arm64": "0.21.5",
+ "@esbuild/freebsd-x64": "0.21.5",
+ "@esbuild/linux-arm": "0.21.5",
+ "@esbuild/linux-arm64": "0.21.5",
+ "@esbuild/linux-ia32": "0.21.5",
+ "@esbuild/linux-loong64": "0.21.5",
+ "@esbuild/linux-mips64el": "0.21.5",
+ "@esbuild/linux-ppc64": "0.21.5",
+ "@esbuild/linux-riscv64": "0.21.5",
+ "@esbuild/linux-s390x": "0.21.5",
+ "@esbuild/linux-x64": "0.21.5",
+ "@esbuild/netbsd-x64": "0.21.5",
+ "@esbuild/openbsd-x64": "0.21.5",
+ "@esbuild/sunos-x64": "0.21.5",
+ "@esbuild/win32-arm64": "0.21.5",
+ "@esbuild/win32-ia32": "0.21.5",
+ "@esbuild/win32-x64": "0.21.5"
+ }
+ },
+ "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",
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/esm-env": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.1.4.tgz",
+ "integrity": "sha512-oO82nKPHKkzIj/hbtuDYy/JHqBHFlMIW36SDiPCVsj87ntDLcWN+sJ1erdVryd4NxODacFTsdrIE3b7IamqbOg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/esrap": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.2.2.tgz",
+ "integrity": "sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15",
+ "@types/estree": "^1.0.1"
+ }
+ },
+ "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",
+ "peer": true
+ },
+ "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",
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/fdir": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.2.tgz",
+ "integrity": "sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "license": "MIT",
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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",
+ "peer": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "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==",
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "data-uri-to-buffer": "^2.0.0",
+ "source-map": "^0.6.1"
+ }
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "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",
+ "peer": true
+ },
+ "node_modules/globalyzer": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
+ "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/globrex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+ "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/import-meta-resolve": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
+ "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "hasown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "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",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "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",
+ "peer": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-reference": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz",
+ "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/itty-time": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/itty-time/-/itty-time-1.0.6.tgz",
+ "integrity": "sha512-+P8IZaLLBtFv8hCkIjcymZOp4UJ+xW6bSlQsXGqrkmJh7vSiMFSlNne0mCYagEE0N7HDNR5jJBRxwN0oYv61Rw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/kleur": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/locate-character": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz",
+ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.12",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz",
+ "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0"
+ }
+ },
+ "node_modules/memory-pager": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
+ "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
+ "license": "MIT"
+ },
+ "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",
+ "peer": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/miniflare": {
+ "version": "3.20241106.0",
+ "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20241106.0.tgz",
+ "integrity": "sha512-PjOoJKjUUofCueQskfhXlGvvHxZj36UAJAp1DnquMK88MFF50zCULblh0KXMSNM+bXeQYA94Gj06a7kfmBGxPw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@cspotcode/source-map-support": "0.8.1",
+ "acorn": "^8.8.0",
+ "acorn-walk": "^8.2.0",
+ "capnp-ts": "^0.7.0",
+ "exit-hook": "^2.2.1",
+ "glob-to-regexp": "^0.4.1",
+ "stoppable": "^1.1.0",
+ "undici": "^5.28.4",
+ "workerd": "1.20241106.1",
+ "ws": "^8.18.0",
+ "youch": "^3.2.2",
+ "zod": "^3.22.3"
+ },
+ "bin": {
+ "miniflare": "bootstrap.js"
+ },
+ "engines": {
+ "node": ">=16.13"
+ }
+ },
+ "node_modules/mongodb": {
+ "version": "6.10.0",
+ "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.10.0.tgz",
+ "integrity": "sha512-gP9vduuYWb9ZkDM546M+MP2qKVk5ZG2wPF63OvSRuUbqCR+11ZCAE1mOfllhlAG0wcoJY5yDL/rV3OmYEwXIzg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@mongodb-js/saslprep": "^1.1.5",
+ "bson": "^6.7.0",
+ "mongodb-connection-string-url": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=16.20.1"
+ },
+ "peerDependencies": {
+ "@aws-sdk/credential-providers": "^3.188.0",
+ "@mongodb-js/zstd": "^1.1.0",
+ "gcp-metadata": "^5.2.0",
+ "kerberos": "^2.0.1",
+ "mongodb-client-encryption": ">=6.0.0 <7",
+ "snappy": "^7.2.2",
+ "socks": "^2.7.1"
+ },
+ "peerDependenciesMeta": {
+ "@aws-sdk/credential-providers": {
+ "optional": true
+ },
+ "@mongodb-js/zstd": {
+ "optional": true
+ },
+ "gcp-metadata": {
+ "optional": true
+ },
+ "kerberos": {
+ "optional": true
+ },
+ "mongodb-client-encryption": {
+ "optional": true
+ },
+ "snappy": {
+ "optional": true
+ },
+ "socks": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/mongodb-connection-string-url": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz",
+ "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@types/whatwg-url": "^11.0.2",
+ "whatwg-url": "^13.0.0"
+ }
+ },
+ "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",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mrmime": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
+ "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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",
+ "peer": true,
+ "bin": {
+ "mustache": "bin/mustache"
+ }
+ },
+ "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==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "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)",
+ "peer": true,
+ "engines": {
+ "node": ">= 6.13.0"
+ }
+ },
+ "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",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ohash": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.4.tgz",
+ "integrity": "sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "license": "MIT",
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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",
+ "peer": true
+ },
+ "node_modules/path-to-regexp": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz",
+ "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "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",
+ "peer": true
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+ "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pngjs": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
+ "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.47",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
+ "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.1.0",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "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",
+ "peer": true
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/qrcode": {
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.4.tgz",
+ "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==",
+ "license": "MIT",
+ "dependencies": {
+ "dijkstrajs": "^1.0.1",
+ "pngjs": "^5.0.0",
+ "yargs": "^15.3.1"
+ },
+ "bin": {
+ "qrcode": "bin/qrcode"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz",
+ "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.16.0"
+ },
+ "funding": {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ },
+ "node_modules/regexparam": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/regexparam/-/regexparam-3.0.0.tgz",
+ "integrity": "sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/require-main-filename": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+ "license": "ISC"
+ },
+ "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,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "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/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,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "4.24.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.3.tgz",
+ "integrity": "sha512-HBW896xR5HGmoksbi3JBDtmVzWiPAYqp7wip50hjQ67JbDz61nyoMPdqu1DvVW9asYb2M65Z20ZHsyJCMqMyDg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.6"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.24.3",
+ "@rollup/rollup-android-arm64": "4.24.3",
+ "@rollup/rollup-darwin-arm64": "4.24.3",
+ "@rollup/rollup-darwin-x64": "4.24.3",
+ "@rollup/rollup-freebsd-arm64": "4.24.3",
+ "@rollup/rollup-freebsd-x64": "4.24.3",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.24.3",
+ "@rollup/rollup-linux-arm-musleabihf": "4.24.3",
+ "@rollup/rollup-linux-arm64-gnu": "4.24.3",
+ "@rollup/rollup-linux-arm64-musl": "4.24.3",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.24.3",
+ "@rollup/rollup-linux-riscv64-gnu": "4.24.3",
+ "@rollup/rollup-linux-s390x-gnu": "4.24.3",
+ "@rollup/rollup-linux-x64-gnu": "4.24.3",
+ "@rollup/rollup-linux-x64-musl": "4.24.3",
+ "@rollup/rollup-win32-arm64-msvc": "4.24.3",
+ "@rollup/rollup-win32-ia32-msvc": "4.24.3",
+ "@rollup/rollup-win32-x64-msvc": "4.24.3",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "estree-walker": "^0.6.1",
+ "magic-string": "^0.25.3",
+ "rollup-pluginutils": "^2.8.1"
+ }
+ },
+ "node_modules/rollup-plugin-inject/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",
+ "peer": true,
+ "dependencies": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ },
+ "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,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "rollup-plugin-inject": "^3.0.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,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "estree-walker": "^0.6.1"
+ }
+ },
+ "node_modules/sade": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
+ "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mri": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/selfsigned": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz",
+ "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@types/node-forge": "^1.3.0",
+ "node-forge": "^1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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==",
+ "license": "ISC"
+ },
+ "node_modules/set-cookie-parser": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz",
+ "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/sirv": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.0.tgz",
+ "integrity": "sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@polka/url": "^1.0.0-next.24",
+ "mrmime": "^2.0.0",
+ "totalist": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "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,
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "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",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/sparse-bitfield": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
+ "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
+ "license": "MIT",
+ "dependencies": {
+ "memory-pager": "^1.0.2"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "Unlicense",
+ "peer": true,
+ "dependencies": {
+ "as-table": "^1.0.36",
+ "get-source": "^2.0.12"
+ }
+ },
+ "node_modules/stoppable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
+ "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=4",
+ "npm": ">=6"
+ }
+ },
+ "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==",
+ "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/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/svelte": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.1.6.tgz",
+ "integrity": "sha512-bYS/DpkqXk0j5UZgiNXrEjZYPRZ4Ncd87w4KUSbcZGyojA0+i/Ls9OGUjETHmdLe8RcQ0G8SX/T0PypPpAA/ew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.3.0",
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@types/estree": "^1.0.5",
+ "acorn": "^8.12.1",
+ "acorn-typescript": "^1.4.13",
+ "aria-query": "^5.3.1",
+ "axobject-query": "^4.1.0",
+ "esm-env": "^1.0.0",
+ "esrap": "^1.2.2",
+ "is-reference": "^3.0.2",
+ "locate-character": "^3.0.0",
+ "magic-string": "^0.30.11",
+ "zimmerframe": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/svelte-check": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.0.5.tgz",
+ "integrity": "sha512-icBTBZ3ibBaywbXUat3cK6hB5Du+Kq9Z8CRuyLmm64XIe2/r+lQcbuBx/IQgsbrC+kT2jQ0weVpZSSRIPwB6jQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "chokidar": "^4.0.1",
+ "fdir": "^6.2.0",
+ "picocolors": "^1.0.0",
+ "sade": "^1.7.4"
+ },
+ "bin": {
+ "svelte-check": "bin/svelte-check"
+ },
+ "engines": {
+ "node": ">= 18.0.0"
+ },
+ "peerDependencies": {
+ "svelte": "^4.0.0 || ^5.0.0-next.0",
+ "typescript": ">=5.0.0"
+ }
+ },
+ "node_modules/tiny-glob": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
+ "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "globalyzer": "0.1.0",
+ "globrex": "^0.1.2"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/totalist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz",
+ "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==",
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "dev": true,
+ "license": "0BSD",
+ "peer": true
+ },
+ "node_modules/typescript": {
+ "version": "5.6.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
+ "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "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",
+ "peer": true
+ },
+ "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",
+ "peer": true,
+ "dependencies": {
+ "@fastify/busboy": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/unenv": {
+ "name": "unenv-nightly",
+ "version": "2.0.0-20241024-111401-d4156ac",
+ "resolved": "https://registry.npmjs.org/unenv-nightly/-/unenv-nightly-2.0.0-20241024-111401-d4156ac.tgz",
+ "integrity": "sha512-xJO1hfY+Te+/XnfCYrCbFbRcgu6XEODND1s5wnVbaBCkuQX7JXF7fHEXPrukFE2j8EOH848P8QN19VO47XN8hw==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "defu": "^6.1.4",
+ "ohash": "^1.1.4",
+ "pathe": "^1.1.2",
+ "ufo": "^1.5.4"
+ }
+ },
+ "node_modules/vite": {
+ "version": "5.4.10",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz",
+ "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.21.3",
+ "postcss": "^8.4.43",
+ "rollup": "^4.20.0"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || >=20.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || >=20.0.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitefu": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.3.tgz",
+ "integrity": "sha512-iKKfOMBHob2WxEJbqbJjHAkmYgvFDPhuqrO82om83S8RLk+17FtyMBfcyeH8GqD0ihShtkMW/zzJgiA51hCNCQ==",
+ "dev": true,
+ "license": "MIT",
+ "workspaces": [
+ "tests/deps/*",
+ "tests/projects/*"
+ ],
+ "peerDependencies": {
+ "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0-beta.0"
+ },
+ "peerDependenciesMeta": {
+ "vite": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz",
+ "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==",
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "^4.1.1",
+ "webidl-conversions": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/which-module": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz",
+ "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==",
+ "license": "ISC"
+ },
+ "node_modules/workerd": {
+ "version": "1.20241106.1",
+ "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20241106.1.tgz",
+ "integrity": "sha512-1GdKl0kDw8rrirr/ThcK66Kbl4/jd4h8uHx5g7YHBrnenY5SX1UPuop2cnCzYUxlg55kPjzIqqYslz1muRFgFw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "peer": true,
+ "bin": {
+ "workerd": "bin/workerd"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "optionalDependencies": {
+ "@cloudflare/workerd-darwin-64": "1.20241106.1",
+ "@cloudflare/workerd-darwin-arm64": "1.20241106.1",
+ "@cloudflare/workerd-linux-64": "1.20241106.1",
+ "@cloudflare/workerd-linux-arm64": "1.20241106.1",
+ "@cloudflare/workerd-windows-64": "1.20241106.1"
+ }
+ },
+ "node_modules/worktop": {
+ "version": "0.8.0-next.18",
+ "resolved": "https://registry.npmjs.org/worktop/-/worktop-0.8.0-next.18.tgz",
+ "integrity": "sha512-+TvsA6VAVoMC3XDKR5MoC/qlLqDixEfOBysDEKnPIPou/NvoPWCAuXHXMsswwlvmEuvX56lQjvELLyLuzTKvRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mrmime": "^2.0.0",
+ "regexparam": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler": {
+ "version": "3.86.1",
+ "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.86.1.tgz",
+ "integrity": "sha512-ujN74lPQCQRsMcvf48WLLZUqOqUbJJzt5+Xm5T3tGrpRJLW+dTB0ffvT/e2DBBvHZ7R52ZzZdm1akyLPsZmZ9Q==",
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@cloudflare/kv-asset-handler": "0.3.4",
+ "@cloudflare/workers-shared": "0.7.1",
+ "@esbuild-plugins/node-globals-polyfill": "^0.2.3",
+ "@esbuild-plugins/node-modules-polyfill": "^0.2.2",
+ "blake3-wasm": "^2.1.5",
+ "chokidar": "^3.5.3",
+ "date-fns": "^4.1.0",
+ "esbuild": "0.17.19",
+ "itty-time": "^1.0.6",
+ "miniflare": "3.20241106.0",
+ "nanoid": "^3.3.3",
+ "path-to-regexp": "^6.3.0",
+ "resolve": "^1.22.8",
+ "resolve.exports": "^2.0.2",
+ "selfsigned": "^2.0.1",
+ "source-map": "^0.6.1",
+ "unenv": "npm:unenv-nightly@2.0.0-20241024-111401-d4156ac",
+ "workerd": "1.20241106.1",
+ "xxhash-wasm": "^1.0.1"
+ },
+ "bin": {
+ "wrangler": "bin/wrangler.js",
+ "wrangler2": "bin/wrangler.js"
+ },
+ "engines": {
+ "node": ">=16.17.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "@cloudflare/workers-types": "^4.20241106.0"
+ },
+ "peerDependenciesMeta": {
+ "@cloudflare/workers-types": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/wrangler/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"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "peer": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/wrangler/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,
+ "license": "MIT",
+ "peer": true,
+ "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_modules/wrangler/node_modules/esbuild": {
+ "version": "0.17.19",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
+ "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "peer": true,
+ "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/wrangler/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",
+ "peer": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/wrangler/node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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",
+ "peer": true,
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "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",
+ "peer": true
+ },
+ "node_modules/y18n": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+ "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+ "license": "ISC"
+ },
+ "node_modules/yargs": {
+ "version": "15.4.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+ "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^6.0.0",
+ "decamelize": "^1.2.0",
+ "find-up": "^4.1.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^4.2.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^18.1.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+ "license": "ISC",
+ "dependencies": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/youch": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/youch/-/youch-3.3.4.tgz",
+ "integrity": "sha512-UeVBXie8cA35DS6+nBkls68xaBBXCye0CNznrhszZjTbRVnJKQuNsyLKBTTL4ln1o1rh2PKtv35twV7irj5SEg==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "cookie": "^0.7.1",
+ "mustache": "^4.2.0",
+ "stacktracey": "^2.1.8"
+ }
+ },
+ "node_modules/youch/node_modules/cookie": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/zimmerframe": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz",
+ "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "peer": true,
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..fee8115
--- /dev/null
+++ b/package.json
@@ -0,0 +1,28 @@
+{
+ "name": "test",
+ "version": "0.0.1",
+ "type": "module",
+ "scripts": {
+ "dev": "vite dev",
+ "build": "vite build",
+ "preview": "vite preview",
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
+ },
+ "devDependencies": {
+ "@sveltejs/adapter-auto": "^3.0.0",
+ "@sveltejs/adapter-cloudflare": "^4.7.4",
+ "@sveltejs/kit": "^2.0.0",
+ "@sveltejs/vite-plugin-svelte": "^4.0.0",
+ "svelte": "^5.0.0",
+ "svelte-check": "^4.0.0",
+ "typescript": "^5.0.0",
+ "vite": "^5.0.3"
+ },
+ "dependencies": {
+ "banani": "^1.0.3",
+ "banani-bns": "^0.0.6",
+ "mongodb": "^6.10.0",
+ "qrcode": "^1.5.4"
+ }
+}
diff --git a/src/app.d.ts b/src/app.d.ts
new file mode 100644
index 0000000..c316018
--- /dev/null
+++ b/src/app.d.ts
@@ -0,0 +1,13 @@
+// See https://svelte.dev/docs/kit/types#app
+// for information about these interfaces
+declare global {
+ namespace App {
+ // interface Error {}
+ // interface Locals {}
+ // interface PageData {}
+ // interface PageState {}
+ // interface Platform {}
+ }
+}
+
+export {};
diff --git a/src/app.html b/src/app.html
new file mode 100644
index 0000000..e0536fd
--- /dev/null
+++ b/src/app.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+ %sveltekit.head%
+
+
+ %sveltekit.body%
+
+
diff --git a/src/lib/Declare.svelte b/src/lib/Declare.svelte
new file mode 100644
index 0000000..6cd6bfe
--- /dev/null
+++ b/src/lib/Declare.svelte
@@ -0,0 +1,42 @@
+
+
+One last step! Just enter your main Banano address below, so anyone sending to {domain}.ban can know to send it to you.
+
+
+
+
+ Declare Address to Resolve to
+
+
+
+
diff --git a/src/lib/Payment.svelte b/src/lib/Payment.svelte
new file mode 100644
index 0000000..ff2bd9c
--- /dev/null
+++ b/src/lib/Payment.svelte
@@ -0,0 +1,65 @@
+
+
+{#if error}
+ {error}
+{/if}
+{#if isNaN(price)}
+ Invalid domain name (too short / disallowed characters)
+{:else}
+ Send {price} BAN to {payment_address}
+ Open in Bananostand
+ Open in Kalium
+ {#await payment_qr_promise}
+ Loading QR...
+ {:then payment_qr}
+
+ {/await}
+
+ {seconds_to_time(time_left)}
+
+ I've sent the payment
+{/if}
+
+
+
diff --git a/src/lib/Seed.svelte b/src/lib/Seed.svelte
new file mode 100644
index 0000000..a8a8b88
--- /dev/null
+++ b/src/lib/Seed.svelte
@@ -0,0 +1,21 @@
+
+
+Save the seed and continue.
+Seed (in BNS Seed Format): {bsf_seed}
+Continue
+
+
+
+
diff --git a/src/lib/db.ts b/src/lib/db.ts
new file mode 100644
index 0000000..b05e0fa
--- /dev/null
+++ b/src/lib/db.ts
@@ -0,0 +1,65 @@
+import type { MongoClient } from "mongodb";
+
+import type { Path } from "$lib/types";
+import { get_price } from "$lib/utils";
+
+export async function is_domain_already_issued(db: MongoClient, domain: string): Promise {
+ const issued = db.db("bns_backend").collection("issued");
+ if (await issued.findOne({ domain })) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+export async function add_domain_to_issued(db: MongoClient, domain: string, issued_hash: string, price: number) {
+ const issued = db.db("bns_backend").collection("issued");
+ await issued.insertOne({
+ domain,
+ issued_hash,
+ price, //cause price may change in future, record price at time of sale
+ });
+}
+
+//in the last 5 minutes
+export async function payment_already_pending(db: MongoClient, domain: string): Promise {
+ const payments = db.db("bns_backend").collection("payments");
+ if (await payments.findOne({
+ domain,
+ timestamp: {
+ $gt: Date.now() - 5 * 60 * 1000,
+ },
+ })) {
+ return true;
+ } else {
+ return false;
+ }
+}
+
+//todo: return an actual type
+export async function find_payment(db: MongoClient, domain: string, send_to: string): Promise {
+ const payments = db.db("bns_backend").collection("payments");
+ return await payments.findOne({
+ domain,
+ send_to,
+ timestamp: {
+ $gt: Date.now() - 5 * 60 * 1000,
+ },
+ });
+}
+
+//todo: technically possible for there to be race condition with payment_already_pending
+export async function create_payment(db: MongoClient, domain: string, send_to: string, receive_seed: string) {
+ const price = get_price(domain.length);
+ const payments = db.db("bns_backend").collection("payments");
+ await payments.insertOne({
+ domain,
+ receive_seed, //seed to receive payment from
+ send_to, //Domain Address (banano address) to send domain to after payment received
+ price,
+ timestamp: Date.now(),
+ });
+}
+
+//
+
diff --git a/src/lib/index.ts b/src/lib/index.ts
new file mode 100644
index 0000000..856f2b6
--- /dev/null
+++ b/src/lib/index.ts
@@ -0,0 +1 @@
+// place files you want to import through the `$lib` alias in this folder.
diff --git a/src/lib/mongo.ts b/src/lib/mongo.ts
new file mode 100644
index 0000000..8b1ed00
--- /dev/null
+++ b/src/lib/mongo.ts
@@ -0,0 +1,10 @@
+import { MongoClient } from "mongodb";
+
+import { MONGODB_URI } from "$env/static/private";
+
+//const MONGODB_URI = process.env["MONGODB_URI"];
+
+const client = new MongoClient(MONGODB_URI);
+
+export const client_promise = client.connect();
+
diff --git a/src/lib/types.ts b/src/lib/types.ts
new file mode 100644
index 0000000..e59ba91
--- /dev/null
+++ b/src/lib/types.ts
@@ -0,0 +1,8 @@
+export enum Progress {
+ Seed = "seed",
+ Payment = "payment",
+ Declare = "declare",
+ Done = "done",
+ Failed = "failed",
+}
+
diff --git a/src/lib/utils.ts b/src/lib/utils.ts
new file mode 100644
index 0000000..a0841b2
--- /dev/null
+++ b/src/lib/utils.ts
@@ -0,0 +1,37 @@
+export const ALLOWED = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "_", "backspace", "arrowleft", "arrowtop", "arrowbottom", "arrowright"];
+
+export function get_price(dl: number): number {
+ if (dl === 4) {
+ return 4200;
+ } else if (dl === 5) {
+ return 1900;
+ } else if (dl === 6) {
+ return 1200;
+ } else if (dl === 7) {
+ return 900;
+ } else if (dl === 8) {
+ return 690;
+ } else if (dl === 9) {
+ return 420;
+ } else if (dl > 9) {
+ return 1;//190;
+ } else {
+ return 99999; //currently <4 length domains not buyable, but just in case...
+ }
+}
+
+export function is_domain_name_allowed(domain: string): boolean {
+ return domain.split("").every((c) => ALLOWED.includes(c));
+}
+
+const HEX_CHARS = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
+
+export function is_valid_public_key(public_key: string): boolean {
+ return public_key.length === 64 && public_key.split("").every((c) => HEX_CHARS.includes(c));
+}
+
+export function seconds_to_time(seconds: number): string {
+ if (seconds < 0) return "0:00";
+ return `${Math.floor(seconds / 60)}:${String(seconds % 60).padStart(2, "0")}`;
+}
+
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
new file mode 100644
index 0000000..860201c
--- /dev/null
+++ b/src/routes/+page.svelte
@@ -0,0 +1,221 @@
+
+
+
+ Get your .ban
+
+
+
+
+
+
.ban: It's Healthy
+
+
Nutrition Facts
+
+ 1 serving per domain
+
+ Serving size starting at 190 $BAN (or 1 kg of bananas)
+
+ Amount per serving
+
+ Calories 0
+
+   % Daily Value
+
+ Decentralisation 25g 100%
+
+ On-chain? Yep
+
+ Censorable? Nope
+
+ Revocable? Hell no
+
+ Utility 17g 100%
+
+ Fast and Feeless? Duh
+
+ Wait, no renewal fees? Yesss
+
+ Mine, forever? Bingo
+
+ Transferable? Si
+
+ Resolves to Banano address? Correct
+
+ Can be associated with arbitrary metadata? Yeah...
+
+
+ Potassium 190g 55882% - Thorium 0g 0%
+
+ Unicorn Horn powder 10mg 41% - Typescript 1kg 1%
+
+
+
Have yourname.ban resolve to ban_1area11yrea11yrea11y1ongdifficu1ttorememberaddress11hcd8a7c9! Other usecases like decentralised websites coming soonâ„¢
+
+
+
+
+ .ban
+
+
{price}
+
{error}
+
+
Supported by:
+
+ Bananostand
+
+
+
.ban is the first publicly available top level domain (TLD) for the Banano Name Service protocol (BNS)
+
+
+
+
+
+
diff --git a/src/routes/api/check_payment/+server.ts b/src/routes/api/check_payment/+server.ts
new file mode 100644
index 0000000..29628e0
--- /dev/null
+++ b/src/routes/api/check_payment/+server.ts
@@ -0,0 +1,45 @@
+import { error, json } from "@sveltejs/kit";
+import type { RequestHandler } from "./$types";
+
+import { Wallet, RPC, get_address_from_public_key, raw_to_whole } from "banani";
+import { TLDAccountManager } from "banani-bns";
+
+import { client_promise } from "$lib/mongo";
+import { add_domain_to_issued, is_domain_already_issued, find_payment } from "$lib/db";
+import { is_valid_public_key } from "$lib/utils";
+import { TLD_SEED, STORAGE_ADDRESS } from "$env/static/private";
+
+const rpc = new RPC("https://kaliumapi.appditto.com/api");
+const sleep = ms => new Promise(r => setTimeout(r, ms));
+
+export const POST: RequestHandler = async ({ request }) => {
+ const { domain, send_to_pub_key } = await request.json();
+ if (!domain || !send_to_pub_key) {
+ return error(400, "Missing one or more of the required fields `domain` and `send_to_pub_key`");
+ } else if (!is_valid_public_key(send_to_pub_key)) {
+ return error(400, "`send_to_pub_key` is invalid");
+ }
+ const db = await client_promise;
+ if (await is_domain_already_issued(db, domain)) {
+ return error(500, "Domain already issued");
+ }
+ const found = await find_payment(db, domain, get_address_from_public_key(send_to_pub_key));
+ if (!found) {
+ return error(500, "Payment request expired or never made");
+ }
+ const receive_wallet = new Wallet(rpc, found.receive_seed);
+ await receive_wallet.receive_all();
+ await sleep(1500);
+ const balance = Number(raw_to_whole((await rpc.get_account_balance(receive_wallet.address)).balance));
+ if (balance < found.price) {
+ return error(500, `Need to be sent ${found.price}, only got ${balance}`);
+ }
+ receive_wallet.send_all(STORAGE_ADDRESS);
+ const tld_manager = new TLDAccountManager(rpc, new Wallet(rpc, TLD_SEED));
+ const send_hash = await tld_manager.issue_domain_name(domain, found.send_to);
+ await add_domain_to_issued(db, domain, send_hash, found.price);
+ return json({
+ send_hash,
+ });
+};
+
diff --git a/src/routes/api/domain_issued/+server.ts b/src/routes/api/domain_issued/+server.ts
new file mode 100644
index 0000000..1aaf322
--- /dev/null
+++ b/src/routes/api/domain_issued/+server.ts
@@ -0,0 +1,17 @@
+import { error, json } from '@sveltejs/kit';
+import type { RequestHandler } from "./$types";
+
+import { client_promise } from "$lib/mongo";
+import { is_domain_already_issued } from "$lib/db";
+
+export const GET: RequestHandler = async ({ url }) => {
+ const domain = url.searchParams.get("domain");
+ if (!domain) {
+ return error(400, "Missing URL query param `domain`");
+ }
+ let db = await client_promise;
+ return json({
+ issued: await is_domain_already_issued(db, domain),
+ });
+}
+
diff --git a/src/routes/api/start_payment/+server.ts b/src/routes/api/start_payment/+server.ts
new file mode 100644
index 0000000..32bdee3
--- /dev/null
+++ b/src/routes/api/start_payment/+server.ts
@@ -0,0 +1,31 @@
+import { error, json } from "@sveltejs/kit";
+import type { RequestHandler } from "./$types";
+
+import { Wallet, get_address_from_public_key } from "banani";
+
+import { client_promise } from "$lib/mongo";
+import { is_domain_already_issued, payment_already_pending, create_payment } from "$lib/db";
+import { is_domain_name_allowed, is_valid_public_key } from "$lib/utils";
+
+export const POST: RequestHandler = async ({ request }) => {
+ const { domain, send_to_pub_key } = await request.json();
+ if (!domain || !send_to_pub_key) {
+ return error(400, "Missing one or more of the required fields `domain` and `send_to_pub_key`");
+ } else if (!is_domain_name_allowed(domain) || domain.length < 4) {
+ return error(400, "Domain name has disallowed characters or is shorter than 4 characters");
+ } else if (!is_valid_public_key(send_to_pub_key)) {
+ return error(400, "`send_to_pub_key` is invalid");
+ }
+ const db = await client_promise;
+ if (await is_domain_already_issued(db, domain)) {
+ return error(500, "Domain already issued");
+ } else if (await payment_already_pending(db, domain)) {
+ return error(500, "Payment for domain already pending, wait 5 minutes or so");
+ }
+ const payment_wallet = Wallet.gen_random_wallet();
+ await create_payment(db, domain, get_address_from_public_key(send_to_pub_key), payment_wallet.seed);
+ return json({
+ payment_address: payment_wallet.address,
+ });
+};
+
diff --git a/src/routes/register/+page.svelte b/src/routes/register/+page.svelte
new file mode 100644
index 0000000..27891ce
--- /dev/null
+++ b/src/routes/register/+page.svelte
@@ -0,0 +1,64 @@
+
+
+
+
+ {#if progress === Progress.Seed}
+
+ {:else if progress === Progress.Payment}
+
+ {:else if progress === Progress.Declare}
+
+ {:else if progress === Progress.Done}
+
You are all set! Try your new domain out by sending yourself a Banano or two in Bananostand at {domain}.ban!
+
You can make further changes to your BNS domain by entering the seed and clicking the "Create Domain Account" in the BNS Web Wallet .
+
As a reminder, the seed you need to save is {bsf_seed}
+ {:else if progress === Progress.Failed}
+
{message}
+ {/if}
+
+
+
+
diff --git a/static/bns-browser.js b/static/bns-browser.js
new file mode 100644
index 0000000..be08fca
--- /dev/null
+++ b/static/bns-browser.js
@@ -0,0 +1,11 @@
+(()=>{var Zn=Object.create;var Ze=Object.defineProperty;var $n=Object.getOwnPropertyDescriptor;var ei=Object.getOwnPropertyNames;var ti=Object.getPrototypeOf,ri=Object.prototype.hasOwnProperty;var I=(e,r)=>Ze(e,"name",{value:r,configurable:!0}),Qr=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var S=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),Ft=(e,r)=>{for(var t in r)Ze(e,t,{get:r[t],enumerable:!0})},ni=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of ei(r))!ri.call(e,s)&&s!==t&&Ze(e,s,{get:()=>r[s],enumerable:!(n=$n(r,s))||n.enumerable});return e};var Ke=(e,r,t)=>(t=e!=null?Zn(ti(e)):{},ni(r||!e||!e.__esModule?Ze(t,"default",{value:e,enumerable:!0}):t,e));var Kt=S((Uo,Dr)=>{Dr.exports=br;var $e=class extends Error{static{I(this,"AssertionError")}};$e.prototype.name="AssertionError";function br(e,r){if(!e){var t=new $e(r);throw Error.captureStackTrace&&Error.captureStackTrace(t,br),t}}I(br,"assert")});var Ur=S((Fo,Sr)=>{function mr(e){return e.length}I(mr,"byteLength");function ii(e){let r=e.byteLength,t="";for(let n=0;n{var ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ae=new Uint8Array(256);for(let e=0;e1&&e.charCodeAt(r-1)===61&&r--,r*3>>>2}I(vr,"byteLength");function Ai(e){let r=e.byteLength,t="";for(let n=0;n>2]+ye[(e[n]&3)<<4|e[n+1]>>4]+ye[(e[n+1]&15)<<2|e[n+2]>>6]+ye[e[n+2]&63];return r%3===2?t=t.substring(0,t.length-1)+"=":r%3===1&&(t=t.substring(0,t.length-2)+"=="),t}I(Ai,"toString");function ai(e,r,t=0,n=vr(r)){let s=Math.min(n,e.byteLength-t);for(let g=0,l=0;l>4,e[l++]=(w&15)<<4|B>>2,e[l++]=(B&3)<<6|b&63}return s}I(ai,"write");Fr.exports={byteLength:vr,toString:Ai,write:ai}});var Mr=S((Lo,Lr)=>{function kr(e){return e.length>>>1}I(kr,"byteLength");function si(e){let r=e.byteLength;e=new DataView(e.buffer,e.byteOffset,r);let t="",n=0;for(let s=r-r%4;n=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-65+10;if(e>=97&&e<=102)return e-97+10}I(Yr,"hexValue")});var Pr=S((Ho,Hr)=>{function Yt(e){let r=0;for(let t=0,n=e.length;t=55296&&s<=56319&&t+1=56320&&g<=57343){r+=4,t++;continue}}s<=127?r+=1:s<=2047?r+=2:r+=3}return r}I(Yt,"byteLength");var kt;if(typeof TextDecoder<"u"){let e=new TextDecoder;kt=I(function(t){return e.decode(t)},"toString")}else kt=I(function(r){let t=r.byteLength,n="",s=0;for(;s0){let w=0;for(;w>B,B-=6;B>=0;)r[_++]=128|w>>B&63,B-=6;l+=w>=65536?2:1}return g},"write");Hr.exports={byteLength:Yt,toString:kt,write:Lt}});var Gr=S((Vo,Or)=>{function Vr(e){return e.length*2}I(Vr,"byteLength");function hi(e){let r=e.byteLength,t="";for(let n=0;n>8,B=_%256;e[t+l*2]=B,e[t+l*2+1]=w}return s}I(ci,"write");Or.exports={byteLength:Vr,toString:hi,write:ci}});var Jr=S((Ht,jr)=>{var gi=Ur(),fi=Kr(),ui=Mr(),Ci=Pr(),li=Gr(),et=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function Ye(e){switch(e){case"ascii":return gi;case"base64":return fi;case"hex":return ui;case"utf8":case"utf-8":case void 0:return Ci;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return li;default:throw new Error(`Unknown encoding: ${e}`)}}I(Ye,"codecFor");function Rr(e){return e instanceof Uint8Array}I(Rr,"isBuffer");function yi(e){try{return Ye(e),!0}catch{return!1}}I(yi,"isEncoding");function _i(e,r,t){let n=new Uint8Array(e);return r!==void 0&&Ht.fill(n,r,0,n.byteLength,t),n}I(_i,"alloc");function di(e){return new Uint8Array(e)}I(di,"allocUnsafe");function wi(e){return new Uint8Array(e)}I(wi,"allocUnsafeSlow");function Ei(e,r){return Ye(r).byteLength(e)}I(Ei,"byteLength");function xi(e,r){if(e===r)return 0;let t=Math.min(e.byteLength,r.byteLength);e=new DataView(e.buffer,e.byteOffset,e.byteLength),r=new DataView(r.buffer,r.byteOffset,r.byteLength);let n=0;for(let s=t-t%4;ng)return 1}return e.byteLength>r.byteLength?1:e.byteLengths+g.byteLength,0));let t=new Uint8Array(r),n=0;for(let s of e){if(n+s.byteLength>t.byteLength){let g=s.subarray(0,t.byteLength-n);return t.set(g,n),t}t.set(s,n),n+=s.byteLength}return t}I(Bi,"concat");function pi(e,r,t=0,n=0,s=e.byteLength){if(s>0&&s=e.byteLength)throw new RangeError("sourceStart is out of range");if(s<0)throw new RangeError("sourceEnd is out of range");t>=r.byteLength&&(t=r.byteLength),s>e.byteLength&&(s=e.byteLength),r.byteLength-t=e.byteLength){if(s)return-1;t=e.byteLength-1}else if(t<0)if(s)t=0;else return-1;if(typeof r=="string")r=Mt(r,n);else if(typeof r=="number")return r=r&255,s?e.indexOf(r,t):e.lastIndexOf(r,t);if(r.byteLength===0)return-1;if(s){let g=-1;for(let l=t;le.byteLength&&(t=e.byteLength-r.byteLength);for(let g=t;g>=0;g--){let l=!0;for(let _=0;_=s||n<=t?"":(t<0&&(t=0),n>s&&(n=s),(t!==0||n{var Ji=I((e,r)=>I(function(){return r||(0,e[Object.keys(e)[0]])((r={exports:{}}).exports,r),r.exports},"__require"),"__commonJS"),Xi=(()=>{for(var e=new Uint8Array(128),r=0;r<64;r++)e[r<26?r+65:r<52?r+71:r<62?r-4:r*4-205]=r;return t=>{for(var n=t.length,s=new Uint8Array((n-(t[n-1]=="=")-(t[n-2]=="="))*3/4|0),g=0,l=0;g>4,s[l++]=w<<4|B>>2,s[l++]=B<<6|b}return s}})(),qi=Ji({"wasm-binary:./blake2b.wat"(e,r){r.exports=Xi("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")}}),zi=qi(),Wi=WebAssembly.compile(zi);Xr.exports=async e=>(await WebAssembly.instantiate(await Wi,e)).exports});var nn=S((Jo,J)=>{var M=Kt(),Zi=Jr(),W=null,zr=typeof WebAssembly<"u"&&qr()().then(e=>{W=e}),z=64,tt=[];J.exports=Y;var Wr=J.exports.BYTES_MIN=16,Zr=J.exports.BYTES_MAX=64,To=J.exports.BYTES=32,$r=J.exports.KEYBYTES_MIN=16,en=J.exports.KEYBYTES_MAX=64,jo=J.exports.KEYBYTES=32,tn=J.exports.SALTBYTES=16,rn=J.exports.PERSONALBYTES=16;function Y(e,r,t,n,s){if(!(this instanceof Y))return new Y(e,r,t,n,s);if(!W)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");e||(e=32),s!==!0&&(M(e>=Wr,"digestLength must be at least "+Wr+", was given "+e),M(e<=Zr,"digestLength must be at most "+Zr+", was given "+e),r!=null&&(M(r instanceof Uint8Array,"key must be Uint8Array or Buffer"),M(r.length>=$r,"key must be at least "+$r+", was given "+r.length),M(r.length<=en,"key must be at least "+en+", was given "+r.length)),t!=null&&(M(t instanceof Uint8Array,"salt must be Uint8Array or Buffer"),M(t.length===tn,"salt must be exactly "+tn+", was given "+t.length)),n!=null&&(M(n instanceof Uint8Array,"personal must be Uint8Array or Buffer"),M(n.length===rn,"personal must be exactly "+rn+", was given "+n.length))),tt.length||(tt.push(z),z+=216),this.digestLength=e,this.finalized=!1,this.pointer=tt.pop(),this._memory=new Uint8Array(W.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=r?r.length:0,this._memory[2]=1,this._memory[3]=1,t&&this._memory.set(t,32),n&&this._memory.set(n,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),W.blake2b_init(this.pointer,this.digestLength),r&&(this.update(r),this._memory.fill(0,z,z+r.length),this._memory[this.pointer+200]=128)}I(Y,"Blake2b");Y.prototype._realloc=function(e){W.memory.grow(Math.max(0,Math.ceil(Math.abs(e-this._memory.length)/65536))),this._memory=new Uint8Array(W.memory.buffer)};Y.prototype.update=function(e){return M(this.finalized===!1,"Hash instance finalized"),M(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),z+e.length>this._memory.length&&this._realloc(z+e.length),this._memory.set(e,z),W.blake2b_update(this.pointer,z,z+e.length),this};Y.prototype.digest=function(e){if(M(this.finalized===!1,"Hash instance finalized"),this.finalized=!0,tt.push(this.pointer),W.blake2b_final(this.pointer),!e||e==="binary")return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if(typeof e=="string")return Zi.toString(this._memory,e,this.pointer+128,this.pointer+128+this.digestLength);M(e instanceof Uint8Array&&e.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var r=0;re(),e):e(new Error("WebAssembly not supported"))};Y.prototype.ready=Y.ready;Y.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)};Y.prototype.setPartialHash=function(e){this._memory.set(e,this.pointer)};function $i(){}I($i,"noop")});var Pt=S((Wo,k)=>{var P=Kt(),Le=nn();function rt(e,r,t){var n=e[r]+e[t],s=e[r+1]+e[t+1];n>=4294967296&&s++,e[r]=n,e[r+1]=s}I(rt,"ADD64AA");function on(e,r,t,n){var s=e[r]+t;t<0&&(s+=4294967296);var g=e[r+1]+n;s>=4294967296&&g++,e[r]=s,e[r+1]=g}I(on,"ADD64AC");function gn(e,r){return e[r]^e[r+1]<<8^e[r+2]<<16^e[r+3]<<24}I(gn,"B2B_GET32");function te(e,r,t,n,s,g){var l=ke[s],_=ke[s+1],w=ke[g],B=ke[g+1];rt(x,e,r),on(x,e,l,_);var b=x[n]^x[e],m=x[n+1]^x[e+1];x[n]=m,x[n+1]=b,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=b>>>24^m<<8,x[r+1]=m>>>24^b<<8,rt(x,e,r),on(x,e,w,B),b=x[n]^x[e],m=x[n+1]^x[e+1],x[n]=b>>>16^m<<16,x[n+1]=m>>>16^b<<16,rt(x,t,n),b=x[r]^x[t],m=x[r+1]^x[t+1],x[r]=m>>>31^b<<1,x[r+1]=b>>>31^m<<1}I(te,"B2B_G");var fn=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),eo=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],v=new Uint8Array(eo.map(function(e){return e*2})),x=new Uint32Array(32),ke=new Uint32Array(32);function un(e,r){var t=0;for(t=0;t<16;t++)x[t]=e.h[t],x[t+16]=fn[t];for(x[24]=x[24]^e.t,x[25]=x[25]^e.t/4294967296,r&&(x[28]=~x[28],x[29]=~x[29]),t=0;t<32;t++)ke[t]=gn(e.b,4*t);for(t=0;t<12;t++)te(0,8,16,24,v[t*16+0],v[t*16+1]),te(2,10,18,26,v[t*16+2],v[t*16+3]),te(4,12,20,28,v[t*16+4],v[t*16+5]),te(6,14,22,30,v[t*16+6],v[t*16+7]),te(0,10,20,30,v[t*16+8],v[t*16+9]),te(2,12,22,24,v[t*16+10],v[t*16+11]),te(4,14,16,26,v[t*16+12],v[t*16+13]),te(6,8,18,28,v[t*16+14],v[t*16+15]);for(t=0;t<16;t++)e.h[t]=e.h[t]^x[t]^x[t+16]}I(un,"blake2bCompress");var re=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function _e(e,r,t,n){re.fill(0),this.b=new Uint8Array(128),this.h=new Uint32Array(16),this.t=0,this.c=0,this.outlen=e,re[0]=e,r&&(re[1]=r.length),re[2]=1,re[3]=1,t&&re.set(t,32),n&&re.set(n,48);for(var s=0;s<16;s++)this.h[s]=fn[s]^gn(re,s*4);r&&(Cn(this,r),this.c=128)}I(_e,"Blake2b");_e.prototype.update=function(e){return P(e instanceof Uint8Array,"input must be Uint8Array or Buffer"),Cn(this,e),this};_e.prototype.digest=function(e){var r=!e||e==="binary"||e==="hex"?new Uint8Array(this.outlen):e;return P(r instanceof Uint8Array,'out must be "binary", "hex", Uint8Array, or Buffer'),P(r.length>=this.outlen,"out must have at least outlen bytes of space"),to(this,r),e==="hex"?ro(r):r};_e.prototype.final=_e.prototype.digest;_e.ready=function(e){Le.ready(function(){e()})};function Cn(e,r){for(var t=0;t>2]>>8*(t&3);return r}I(to,"blake2bFinal");function ro(e){for(var r="",t=0;t=An,"outlen must be at least "+An+", was given "+r),P(r<=an,"outlen must be at most "+an+", was given "+r),t!=null&&(P(t instanceof Uint8Array,"key must be Uint8Array or Buffer"),P(t.length>=sn,"key must be at least "+sn+", was given "+t.length),P(t.length<=In,"key must be at most "+In+", was given "+t.length)),n!=null&&(P(n instanceof Uint8Array,"salt must be Uint8Array or Buffer"),P(n.length===hn,"salt must be exactly "+hn+", was given "+n.length)),s!=null&&(P(s instanceof Uint8Array,"personal must be Uint8Array or Buffer"),P(s.length===cn,"personal must be exactly "+cn+", was given "+s.length))),new io(r,t,n,s)},"createHash");k.exports.ready=function(e){Le.ready(function(){e()})};k.exports.WASM_SUPPORTED=Le.SUPPORTED;k.exports.WASM_LOADED=!1;var An=k.exports.BYTES_MIN=16,an=k.exports.BYTES_MAX=64,qo=k.exports.BYTES=32,sn=k.exports.KEYBYTES_MIN=16,In=k.exports.KEYBYTES_MAX=64,zo=k.exports.KEYBYTES=32,hn=k.exports.SALTBYTES=16,cn=k.exports.PERSONALBYTES=16;Le.ready(function(e){e||(k.exports.WASM_LOADED=!0,k.exports=Le)})});var ln=S(($o,nt)=>{(function(e){"use strict";let r=Pt();var t=I(function(i,A){this.hi=i|0,this.lo=A|0},"u64"),n=I(function(i){var A,o=new Float64Array(16);if(i)for(A=0;A>>32-A}I(ee,"L32");function he(i,A){var o=i[A+3]&255;return o=o<<8|i[A+2]&255,o=o<<8|i[A+1]&255,o<<8|i[A+0]&255}I(he,"ld32");function rr(i,A){var o=i[A]<<24|i[A+1]<<16|i[A+2]<<8|i[A+3],a=i[A+4]<<24|i[A+5]<<16|i[A+6]<<8|i[A+7];return new t(o,a)}I(rr,"dl64");function ft(i,A,o){var a;for(a=0;a<4;a++)i[A+a]=o&255,o>>>=8}I(ft,"st32");function nr(i,A,o){i[A]=o.hi>>24&255,i[A+1]=o.hi>>16&255,i[A+2]=o.hi>>8&255,i[A+3]=o.hi&255,i[A+4]=o.lo>>24&255,i[A+5]=o.lo>>16&255,i[A+6]=o.lo>>8&255,i[A+7]=o.lo&255}I(nr,"ts64");function ut(i,A,o,a,h){var c,C=0;for(c=0;c>>8)-1}I(ut,"vn");function ir(i,A,o,a){return ut(i,A,o,a,16)}I(ir,"crypto_verify_16");function Ct(i,A,o,a){return ut(i,A,o,a,32)}I(Ct,"crypto_verify_32");function or(i,A,o,a,h){var c=new Uint32Array(16),C=new Uint32Array(16),y=new Uint32Array(16),f=new Uint32Array(4),u,d,Q;for(u=0;u<4;u++)C[5*u]=he(a,4*u),C[1+u]=he(o,4*u),C[6+u]=he(A,4*u),C[11+u]=he(o,16+4*u);for(u=0;u<16;u++)y[u]=C[u];for(u=0;u<20;u++){for(d=0;d<4;d++){for(Q=0;Q<4;Q++)f[Q]=C[(5*d+4*Q)%16];for(f[1]^=ee(f[0]+f[3]|0,7),f[2]^=ee(f[1]+f[0]|0,9),f[3]^=ee(f[2]+f[1]|0,13),f[0]^=ee(f[3]+f[2]|0,18),Q=0;Q<4;Q++)c[4*d+(d+Q)%4]=f[Q]}for(Q=0;Q<16;Q++)C[Q]=c[Q]}if(h){for(u=0;u<16;u++)C[u]=C[u]+y[u]|0;for(u=0;u<4;u++)C[5*u]=C[5*u]-he(a,4*u)|0,C[6+u]=C[6+u]-he(A,4*u)|0;for(u=0;u<4;u++)ft(i,4*u,C[5*u]),ft(i,16+4*u,C[6+u])}else for(u=0;u<16;u++)ft(i,4*u,C[u]+y[u]|0)}I(or,"core");function Ar(i,A,o,a){return or(i,A,o,a,!1),0}I(Ar,"crypto_core_salsa20");function Ge(i,A,o,a){return or(i,A,o,a,!0),0}I(Ge,"crypto_core_hsalsa20");var Qe=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function lt(i,A,o,a,h,c,C){var y=new Uint8Array(16),f=new Uint8Array(64),u,d;if(!h)return 0;for(d=0;d<16;d++)y[d]=0;for(d=0;d<8;d++)y[d]=c[d];for(;h>=64;){for(Ar(f,y,C,Qe),d=0;d<64;d++)i[A+d]=(o?o[a+d]:0)^f[d];for(u=1,d=8;d<16;d++)u=u+(y[d]&255)|0,y[d]=u&255,u>>>=8;h-=64,A+=64,o&&(a+=64)}if(h>0)for(Ar(f,y,C,Qe),d=0;d>>=8}I(_t,"add1305");var Ln=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function dt(i,A,o,a,h,c){var C,y,f,u,d=new Uint32Array(17),Q=new Uint32Array(17),D=new Uint32Array(17),R=new Uint32Array(17),le=new Uint32Array(17);for(f=0;f<17;f++)Q[f]=D[f]=0;for(f=0;f<16;f++)Q[f]=c[f];for(Q[3]&=15,Q[4]&=252,Q[7]&=15,Q[8]&=252,Q[11]&=15,Q[12]&=252,Q[15]&=15;h>0;){for(f=0;f<17;f++)R[f]=0;for(f=0;f<16&&f>>=8;for(u=u+D[16]|0,D[16]=u&3,u=5*(u>>>2)|0,f=0;f<16;f++)u=u+D[f]|0,D[f]=u&255,u>>>=8;u=u+D[16]|0,D[16]=u}for(f=0;f<17;f++)le[f]=D[f];for(_t(D,Ln),C=-(D[16]>>>7)|0,f=0;f<17;f++)D[f]^=C&(le[f]^D[f]);for(f=0;f<16;f++)R[f]=c[f+16];for(R[16]=0,_t(D,R),f=0;f<16;f++)i[A+f]=D[f];return 0}I(dt,"crypto_onetimeauth");function Ir(i,A,o,a,h,c){var C=new Uint8Array(16);return dt(C,0,o,a,h,c),ir(i,A,C,0)}I(Ir,"crypto_onetimeauth_verify");function wt(i,A,o,a,h){var c;if(o<32)return-1;for(yt(i,0,A,0,o,a,h),dt(i,16,i,32,o-32,i),c=0;c<16;c++)i[c]=0;return 0}I(wt,"crypto_secretbox");function Et(i,A,o,a,h){var c,C=new Uint8Array(32);if(o<32||(sr(C,0,32,a,h),Ir(A,16,A,32,o-32,C)!==0))return-1;for(yt(i,0,A,0,o,a,h),c=0;c<32;c++)i[c]=0;return 0}I(Et,"crypto_secretbox_open");function X(i,A){var o;for(o=0;o<16;o++)i[o]=A[o]|0}I(X,"set25519");function be(i){var A,o;for(o=0;o<16;o++)i[o]+=65536,A=Math.floor(i[o]/65536),i[(o+1)*(o<15?1:0)]+=A-1+37*(A-1)*(o===15?1:0),i[o]-=A*65536}I(be,"car25519");function ce(i,A,o){for(var a,h=~(o-1),c=0;c<16;c++)a=h&(i[c]^A[c]),i[c]^=a,A[c]^=a}I(ce,"sel25519");function ge(i,A){var o,a,h,c=n(),C=n();for(o=0;o<16;o++)C[o]=A[o];for(be(C),be(C),be(C),a=0;a<2;a++){for(c[0]=C[0]-65517,o=1;o<15;o++)c[o]=C[o]-65535-(c[o-1]>>16&1),c[o-1]&=65535;c[15]=C[15]-32767-(c[14]>>16&1),h=c[15]>>16&1,c[14]&=65535,ce(C,c,1-h)}for(o=0;o<16;o++)i[2*o]=C[o]&255,i[2*o+1]=C[o]>>8}I(ge,"pack25519");function hr(i,A){var o=new Uint8Array(32),a=new Uint8Array(32);return ge(o,i),ge(a,A),Ct(o,0,a,0)}I(hr,"neq25519");function cr(i){var A=new Uint8Array(32);return ge(A,i),A[0]&1}I(cr,"par25519");function xt(i,A){var o;for(o=0;o<16;o++)i[o]=A[2*o]+(A[2*o+1]<<8);i[15]&=32767}I(xt,"unpack25519");function O(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]+o[a]|0}I(O,"A");function G(i,A,o){var a;for(a=0;a<16;a++)i[a]=A[a]-o[a]|0}I(G,"Z");function p(i,A,o){var a,h,c=new Float64Array(31);for(a=0;a<31;a++)c[a]=0;for(a=0;a<16;a++)for(h=0;h<16;h++)c[a+h]+=A[a]*o[h];for(a=0;a<15;a++)c[a]+=38*c[a+16];for(a=0;a<16;a++)i[a]=c[a];be(i),be(i)}I(p,"M");function H(i,A){p(i,A,A)}I(H,"S");function gr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=253;a>=0;a--)H(o,o),a!==2&&a!==4&&p(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(gr,"inv25519");function fr(i,A){var o=n(),a;for(a=0;a<16;a++)o[a]=A[a];for(a=250;a>=0;a--)H(o,o),a!==1&&p(o,o,A);for(a=0;a<16;a++)i[a]=o[a]}I(fr,"pow2523");function Re(i,A,o){var a=new Uint8Array(32),h=new Float64Array(80),c,C,y=n(),f=n(),u=n(),d=n(),Q=n(),D=n();for(C=0;C<31;C++)a[C]=A[C];for(a[31]=A[31]&127|64,a[0]&=248,xt(h,o),C=0;C<16;C++)f[C]=h[C],d[C]=y[C]=u[C]=0;for(y[0]=d[0]=1,C=254;C>=0;--C)c=a[C>>>3]>>>(C&7)&1,ce(y,f,c),ce(u,d,c),O(Q,y,u),G(y,y,u),O(u,f,d),G(f,f,d),H(d,Q),H(D,y),p(y,u,y),p(u,f,Q),O(Q,y,u),G(y,y,u),H(f,y),G(u,d,D),p(y,u,B),O(y,y,d),p(u,u,y),p(y,d,D),p(d,f,h),H(f,Q),ce(y,f,c),ce(u,d,c);for(C=0;C<16;C++)h[C+16]=y[C],h[C+32]=u[C],h[C+48]=f[C],h[C+64]=d[C];var R=h.subarray(32),le=h.subarray(16);return gr(R,R),p(le,le,R),ge(i,le),0}I(Re,"crypto_scalarmult");function Ne(i,A){return Re(i,A,l)}I(Ne,"crypto_scalarmult_base");function ur(i,A){return s(A,32),Ne(i,A)}I(ur,"crypto_box_keypair");function Te(i,A,o){var a=new Uint8Array(32);return Re(a,o,A),Ge(i,g,a,Qe)}I(Te,"crypto_box_beforenm");var Cr=wt,Mn=Et;function Hn(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),Cr(i,A,o,a,C)}I(Hn,"crypto_box");function Pn(i,A,o,a,h,c){var C=new Uint8Array(32);return Te(C,h,c),Mn(i,A,o,a,C)}I(Pn,"crypto_box_open");function De(){var i=0,A=0,o=0,a=0,h=65535,c,C,y;for(y=0;y>>16,o+=C&h,a+=C>>>16;return A+=i>>>16,o+=A>>>16,a+=o>>>16,new t(o&h|a<<16,i&h|A<<16)}I(De,"add64");function lr(i,A){return new t(i.hi>>>A,i.lo>>>A|i.hi<<32-A)}I(lr,"shr64");function je(){var i=0,A=0,o;for(o=0;o>>A|i.lo<>>A|i.hi<>>A|i.hi<>>A|i.lo<=128;){for(f=0;f<16;f++)C[f]=rr(A,8*f+d);for(f=0;f<80;f++){for(u=0;u<8;u++)h[u]=c[u];for(y=De(c[7],Rn(c[4]),Vn(c[4],c[5],c[6]),jn[f],C[f%16]),h[7]=De(y,Gn(c[0]),On(c[0],c[1],c[2])),h[3]=De(h[3],y),u=0;u<8;u++)c[(u+1)%8]=h[u];if(f%16===15)for(u=0;u<16;u++)C[u]=De(C[u],C[(u+9)%16],Nn(C[(u+1)%16]),Tn(C[(u+14)%16]))}for(f=0;f<8;f++)c[f]=De(c[f],a[f]),a[f]=c[f];d+=128,o-=128}for(f=0;f<8;f++)nr(i,8*f,a[f]);return o}I(yr,"crypto_hashblocks");let fe=I((i,A)=>r(A).update(i).digest(),"crypto_hash_blake2b");var Jn=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function _r(i,A,o){var a=new Uint8Array(64),h=new Uint8Array(256),c,C=o;for(c=0;c<64;c++)a[c]=Jn[c];for(yr(a,A,o),o%=128,c=0;c<256;c++)h[c]=0;for(c=0;c=0;--h)a=o[h/8|0]>>(h&7)&1,dr(i,A,a),Je(A,i),Je(i,i),dr(i,A,a)}I(Bt,"scalarmult");function me(i,A){var o=[n(),n(),n(),n()];X(o[0],K),X(o[1],$),X(o[2],w),p(o[3],K,$),Bt(i,o,A)}I(me,"scalarbase");function pt(i,A,o){var a=new Uint8Array(64),h=[n(),n(),n(),n()],c;o||s(A,32);a=fe(A,64),a[0]&=248,a[31]&=127,a[31]|=64,me(h,a),Xe(i,h);return 0}I(pt,"crypto_sign_keypair");var qe=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Qt(i,A){var o,a,h,c;for(a=63;a>=32;--a){for(o=0,h=a-32,c=a-12;h>4)*qe[h],o=A[h]>>8,A[h]&=255;for(h=0;h<32;h++)A[h]-=o*qe[h];for(a=0;a<32;a++)A[a+1]+=A[a]>>8,i[a]=A[a]&255}I(Qt,"modL");function bt(i){var A=new Float64Array(64),o;for(o=0;o<64;o++)A[o]=i[o];for(o=0;o<64;o++)i[o]=0;Qt(i,A)}I(bt,"reduce");function wr(i,A,o,a){var h=new Uint8Array(64),c=new Uint8Array(64),C=new Uint8Array(64),y,f,u=new Float64Array(64),d=[n(),n(),n(),n()];let Q=pr(a);h=fe(a,64),h[0]&=248,h[31]&=127,h[31]|=64;var D=o+64;for(y=0;y>7&&G(i[0],_,i[0]),p(i[3],i[0],i[1]),0)}I(Xn,"unpackneg");function Dt(i,A,o,a){var h,c=new Uint8Array(32),C=new Uint8Array(64),y=[n(),n(),n(),n()],f=[n(),n(),n(),n()];if(o<64||Xn(f,a))return-1;for(h=0;h=0};function pr(i){let A=new Uint8Array(64),o=[n(),n(),n(),n()],a,h=new Uint8Array(32);return A=fe(i,64),A[0]&=248,A[31]&=127,A[31]|=64,me(o,A),Xe(h,o),h}I(pr,"derivePublicFromSecret"),e.sign.keyPair=function(){var i=new Uint8Array(oe),A=new Uint8Array(Ce);return pt(i,A),{publicKey:i,secretKey:A}},e.sign.keyPair.fromSecretKey=function(i){if(L(i),i.length!==Ce)throw new Error("bad secret key size");var A=new Uint8Array(oe);return A=pr(i),{publicKey:A,secretKey:new Uint8Array(i)}},e.sign.keyPair.fromSeed=function(i){if(L(i),i.length!==Ut)throw new Error("bad seed size");for(var A=new Uint8Array(oe),o=new Uint8Array(Ce),a=0;a<32;a++)o[a]=i[a];return pt(A,o,!0),{publicKey:A,secretKey:o}},e.sign.publicKeyLength=oe,e.sign.secretKeyLength=Ce,e.sign.seedLength=Ut,e.sign.signatureLength=q,e.hash=function(i){L(i);var A=new Uint8Array(vt);return _r(A,i,i.length),A},e.hash.hashLength=vt,e.verify=function(i,A){return L(i,A),i.length===0||A.length===0||i.length!==A.length?!1:ut(i,0,A,0,i.length)===0},e.setPRNG=function(i){s=i},function(){var i=typeof self<"u"?self.crypto||self.msCrypto:null;if(i&&i.getRandomValues){var A=65536;e.setPRNG(function(o,a){var h,c=new Uint8Array(a);for(h=0;h{"use strict";var oo=E&&E.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),Ao=E&&E.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),ao=E&&E.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&oo(r,e,t);return Ao(r,e),r},so=E&&E.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(E,"__esModule",{value:!0});E.verify_signed_message=E.sign_message=E.construct_message_block_and_hash=E.verify_block_hash=E.sign_block_hash=E.hash_block=E.get_public_key_from_address=E.get_address_from_public_key=E.get_public_key_from_private_key=E.get_private_key_from_seed=E.raw_to_whole=E.whole_to_raw=E.utf8_to_uint8array=E.base32_to_uint8array=E.uint8array_to_base32=E.int_to_uint8array=E.hex_to_uint8array=E.uint8array_to_hex=void 0;var Ot=ao(ln()),ot=so(Pt()),Io="0000000000000000000000000000000000000000000000000000000000000006",Gt="62616E616E6F6D73672D",Me=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];function He(e){let r="";for(let t=0;t0;g--)s-=t[r-g]*16**(2*(g-1));t[r-n]=Math.floor(s/16**(2*(n-1)))}return t}I(yn,"int_to_uint8array");E.int_to_uint8array=yn;var _n=["1","3","4","5","6","7","8","9","a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","w","x","y","z"];function Vt(e){let r="";for(let t=0;t=5)l=e[s]>>_-5&31;else{let w=5-_;l=(e[s]<>8-w&2**(8-w)-1)}r+=_n[l]}return r}I(Vt,"uint8array_to_base32");E.uint8array_to_base32=Vt;function ho(e,r){let t="",n=e;for(let s=0;s=2**(r-1-s)?(t+="1",n-=2**(r-1-s)):t+="0";return t}I(ho,"int_to_binary");function co(e){let r=0;for(let t=0;tho(_n.indexOf(n),5)).join(""),t=new Uint8Array(Math.ceil(e.length*5/8));for(let n=0;nr-n[1].length)throw Error(`Too many decimals, cannot exceed ${r}`);t=BigInt(n[0])*BigInt(10)**BigInt(r)+BigInt(n[1])*BigInt(10)**BigInt(r-n[1].length)}else t=BigInt(e)*BigInt(10)**BigInt(r);return t}I(go,"whole_to_raw");E.whole_to_raw=go;function fo(e,r=En){let t=e.toString(),n;if(t.length>r)n=t.slice(0,-r)+"."+t.slice(-r);else{let g=r-t.length;n="0."+"0".repeat(g>0?g:0)+t}let s=n.length;for(let g=0;g{"use strict";Object.defineProperty(de,"__esModule",{value:!0});de.RPCWithBackup=de.RPC=void 0;var yo=At(),at=class{static{I(this,"RPC")}constructor(r,t=!1){this.DECIMALS=void 0,this.debug=!1,this.rpc_url=r,this.use_pending=t}async call(r){this.debug&&console.log(JSON.stringify(r));let t=await fetch(this.rpc_url,{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!t.ok&&this.debug&&console.log(await t.text()),!t.ok)throw Error(`Request to RPC node failed with status code ${t.status}`);let n=await t.json();if(n.error)throw Error(`RPC node response: ${n.error}`);return n}async get_block_count(){return await this.call({action:"block_count"})}async get_block_info(r){return await this.call({action:"block_info",hash:r,json_block:!0})}async get_blocks(r){return await this.call({action:"blocks",hashes:r,json_block:!0})}async get_blocks_info(r){return await this.call({action:"blocks_info",hashes:r,json_block:!0})}async get_representatives(){return await this.call({action:"representatives"})}async get_representatives_online(r){return await this.call({action:"representatives_online",weight:r?!0:void 0})}async get_account_history(r,t,n,s,g,l,_){return await this.call({action:"account_history",account:r,count:`${t}`,raw:n?!0:void 0,head:s,offset:g?`${g}`:void 0,reverse:l?!0:void 0,account_filter:_})}async get_account_info(r,t,n,s,g){return await this.call({action:"account_info",account:r,representative:n?!0:void 0,weight:s?!0:void 0,pending:g?!0:void 0})}async get_account_balance(r){return await this.call({action:"account_balance",account:r})}async get_accounts_balances(r){return await this.call({action:"accounts_balances",accounts:r})}async get_account_representative(r){return await this.call({action:"account_representative",account:r})}async get_accounts_representatives(r){return await this.call({action:"accounts_representatives",account:r})}async get_account_weight(r){return await this.call({action:"account_weight",account:r})}async get_account_receivable(r,t,n,s){return await this.call({action:this.use_pending?"pending":"receivable",account:r,count:t?`${t}`:void 0,threshold:n?(0,yo.whole_to_raw)(n,this.DECIMALS).toString():void 0,source:s?!0:void 0})}async get_delegators(r,t,n,s){return await this.call({action:"delegators",account:r,threshold:t?`${t}`:void 0,count:n?`${n}`:void 0,start:s})}async get_delegators_count(r){return await this.call({action:"account_weight",account:r})}};de.RPC=at;var Tt=class extends at{static{I(this,"RPCWithBackup")}constructor(r,t,n=!1){if(r.length<2)throw Error("Must provide at least two RPC URLs");super(r[0],n),this.rpc_urls=r,this.timeout=t}async call(r){let t=0;for(;;)try{let n=await fetch(this.rpc_urls[t],{method:"POST",headers:this.headers??{"Content-Type":"application/json"},body:JSON.stringify(r),signal:AbortSignal.timeout(this.timeout)});if(!n.ok)throw Error(`Request to RPC node failed with status code ${n.status}`);let s=await n.json();if(s.error)throw Error(`RPC node response: ${s.error}`);return s}catch(n){if(!this.rpc_urls[++t])throw Error(n)}}};de.RPCWithBackup=Tt});var mn=S(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0})});var Sn=S(V=>{"use strict";var _o=V&&V.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),wo=V&&V.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:function(e,r){e.default=r}),Eo=V&&V.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var t in e)t!=="default"&&Object.prototype.hasOwnProperty.call(e,t)&&_o(r,e,t);return wo(r,e),r};Object.defineProperty(V,"__esModule",{value:!0});V.PrivateKeyAccount=V.Wallet=void 0;var F=Eo(At()),st=class e{static{I(this,"Wallet")}constructor(r,t,n=0,s){if(this.add_do_work=!0,this.rpc=r,typeof t!="string"||t?.length!==64)throw Error("Seed needs to be 64 character (hex) string");this.seed=t,this.index=n,this.work_function=s}static gen_random_wallet(r){let t=new Uint8Array(32);crypto.getRandomValues(t);let n=F.uint8array_to_hex(t);return new e(r,n)}get private_key(){return F.get_private_key_from_seed(this.seed,this.index)}get public_key(){return F.get_public_key_from_private_key(this.private_key)}get address(){return F.get_address_from_public_key(this.public_key)}async send_process(r,t){return(await this.rpc.call({action:"process",json_block:"true",subtype:t,block:r,do_work:!r.work&&this.add_do_work?!0:void 0})).hash}async send(r,t,n,s,g){let l=F.whole_to_raw(t,this.rpc.DECIMALS),_=g??await this.get_account_info(void 0,!0),w=F.get_public_key_from_address(r);s||(s=_.representative);let B=BigInt(_.balance),b=B-l;if(b<0n)throw Error(`Insufficient funds to send. Cannot send more than balance; ie, Before balance (raw: ${B}) less than send amount (raw: ${l})`);let m={type:"state",account:this.address,previous:_.frontier,representative:s,balance:b.toString(),link:w,link_as_account:r},K=F.hash_block(m),$;n&&($=await this.work_function(K));let pe=F.sign_block_hash(this.private_key,K),ee={...m,signature:pe,work:$};return await this.send_process(ee,"send")}async send_all(r,t,n){let s=await this.get_account_info(void 0,!0);return await this.send(r,F.raw_to_whole(BigInt(s.balance),this.rpc.DECIMALS),t,n,s)}async receive(r,t,n){let s=await this.rpc.get_block_info(r),g=0n;n||(n=this.address);let l;try{let K=await this.get_account_info(void 0,!0);l=K.frontier,n=K.representative,g=BigInt(K.balance)}catch{l="0".repeat(64)}let _={type:"state",account:this.address,previous:l,representative:n,balance:(g+BigInt(s.amount)).toString(),link:r},w=F.hash_block(_),B;t&&(B=await this.work_function(w));let b=F.sign_block_hash(this.private_key,w),m={..._,signature:b,work:B};return await this.send_process(m,"receive")}async receive_all(r=20,t,n){let s=(await this.get_account_receivable(r,t,!0)).blocks,g,l,_;try{let B=await this.get_account_info(void 0,!0);g=B.frontier,l=B.representative,_=BigInt(B.balance)}catch{g="0".repeat(64),l=this.address,_=BigInt(0)}let w=[];for(let B of Object.keys(s)){let b=(_+BigInt(s[B].amount)).toString(),m={type:"state",account:this.address,previous:g,representative:l,balance:b,link:B},K=F.hash_block(m),$;n&&($=await this.work_function(K));let pe=F.sign_block_hash(this.private_key,K),ee={...m,signature:pe,work:$};await this.send_process(ee,"receive"),w.push(K),g=K,_=BigInt(b)}return w}async change_representative(r,t){let n=await this.get_account_info(),s={type:"state",account:this.address,previous:n.frontier,representative:r,balance:n.balance,link:"0".repeat(64)},g=F.hash_block(s),l;t&&(l=await this.work_function(g));let _=F.sign_block_hash(this.private_key,g),w={...s,signature:_,work:l};return await this.send_process(w,"change")}async change_rep(r,t){return await this.change_representative(r,t)}async get_account_info(r,t,n,s){return await this.rpc.get_account_info(this.address,r,t,n,s)}async get_account_receivable(r,t,n){return await this.rpc.get_account_receivable(this.address,r,t,n)}sign_message(r){return F.sign_message(this.private_key,r)}};V.Wallet=st;var jt=class extends st{static{I(this,"PrivateKeyAccount")}constructor(r,t,n){if(typeof t!="string"||t?.length!==64)throw Error("Priv key needs to be 64 character (hex) string");super(r,t,0,n),this._private_key=t}get private_key(){return this._private_key}};V.PrivateKeyAccount=jt});var Un=S(It=>{"use strict";Object.defineProperty(It,"__esModule",{value:!0});It.RPCWorkProvider=void 0;var Jt=class{static{I(this,"RPCWorkProvider")}constructor(r){this.extra_payload={},this.rpc=r}async request_work(r){return(await this.rpc.call({action:"work_generate",hash:r,...this.extra_payload})).work}};It.RPCWorkProvider=Jt});var we=S(N=>{"use strict";var xo=N&&N.__createBinding||(Object.create?function(e,r,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(r,t);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:I(function(){return r[t]},"get")}),Object.defineProperty(e,n,s)}:function(e,r,t,n){n===void 0&&(n=t),e[n]=r[t]}),Pe=N&&N.__exportStar||function(e,r){for(var t in e)t!=="default"&&!Object.prototype.hasOwnProperty.call(r,t)&&xo(r,e,t)};Object.defineProperty(N,"__esModule",{value:!0});Pe(At(),N);Pe(bn(),N);Pe(mn(),N);Pe(Sn(),N);Pe(Un(),N)});var qt={};Ft(qt,{BSF_HEX_CHARS:()=>ct,HEX_CHARS:()=>Xt,LOG:()=>Ve,address_to_cid_v0:()=>Do,base58_to_hex:()=>Yn,bigint_to_uint8array:()=>Kn,bns_seed_format_to_hex:()=>po,cid_v0_to_address:()=>bo,decode_domain_name:()=>Ee,encode_domain_name:()=>ht,hex_to_base58:()=>Fn,hex_to_bns_seed_format:()=>Bo,is_bns_seed_format:()=>Qo});var Z=Ke(we());var Ve=!0;function ht(e){if(e.includes(".")||e.includes("\0")||e.includes('"'))throw new Error(`Domain name cannot include '.' or '"' or '\\u0000'`);let r=(0,Z.uint8array_to_hex)(new TextEncoder().encode(e));if(r.length>64)throw new Error("Cannot be more than 32 bytes");return r.length<64&&(r="0".repeat(64-r.length)+r),r}I(ht,"encode_domain_name");function Ee(e){return new TextDecoder().decode((0,Z.hex_to_uint8array)(e)).replaceAll("\0","")}I(Ee,"decode_domain_name");var vn="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";function Fn(e){let r=BigInt(`0x${e}`),t="";for(;t+=vn[Number(r%BigInt(58))],r=r/BigInt(58),r!==0n;);return t.split("").reverse().join("")}I(Fn,"hex_to_base58");var Xt="0123456789ABCDEF",ct="ghijklmnopqrstuv";function Bo(e){return e.split("").map(r=>ct[Xt.indexOf(r.toUpperCase())]).join("")}I(Bo,"hex_to_bns_seed_format");function po(e){return e.split("").map(r=>Xt[ct.indexOf(r.toLowerCase())]).join("")}I(po,"bns_seed_format_to_hex");function Qo(e){return e.split("").every(r=>ct.includes(r.toLowerCase()))}I(Qo,"is_bns_seed_format");function Kn(e,r){let t=new Uint8Array(r),n=e;for(let s=1;s<=r;s++)t[r-s]=Number(n%256n),n/=256n;return t}I(Kn,"bigint_to_uint8array");function Yn(e){let r=0n;for(let t=0;tBe,Resolver:()=>Wt,TLDAccount:()=>xe});var T=Ke(we());var gt=class{static{I(this,"Account")}constructor(r,t){this.rpc=r,this.address=t}async get_open_and_frontier(){let r=await this.rpc.get_account_info(this.address,!0);return[r.open_block,r.confirmation_height_frontier??r.frontier]}async get_history_from_open(r,t){return await this.rpc.get_account_history(this.address,t,!0,r,void 0,!0)}},xe=class extends gt{static{I(this,"TLDAccount")}constructor(r,t){super(r,t),this.all_issued=[]}async get_specific(r){let[t,n]=await this.get_open_and_frontier(),s=t;for(;;){let{history:g}=await this.get_history_from_open(s,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));if(r===w)return{tld:this.address,name:r,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===n)return}s=g[g.length-1].hash}}async get_all_issued(){let[r,t]=await this.get_open_and_frontier(),n=r,s={};for(;;){let{history:g}=await this.get_history_from_open(n,100);for(let l of g){let _=BigInt(l.amount??0);if(l.subtype==="send"&&_>=se&&_<=ne){let w=Ee((0,T.get_public_key_from_address)(l.representative));s[w]?Ve&&console.log(`"${w}" already issued but TLD tried to issue again. Invalid.`):s[w]={tld:this.address,name:w,history:[{type:"transfer",block:l,to:(0,T.get_address_from_public_key)(l.link)}]}}if(l.representative===Ie&&l.subtype==="change"||l.hash===t)return this.all_issued=Object.values(s),this.all_issued}n=g[g.length-1].hash}}},Be=class extends gt{static{I(this,"DomainAccount")}constructor(r,t,n){super(r,t),this.domain=n}async crawl(){let r,t;try{[r,t]=await this.get_open_and_frontier()}catch{return Ve&&console.log("Not yet received"),this.domain}let n=r;for(;;){let{history:s}=await this.get_history_from_open(n,1e3);for(let g of s){let l=BigInt(g.amount??0);if(g.height==="1"){if(g.link!==this.domain.history[this.domain.history.length-1]?.block.hash)return Ve&&console.log("Domain burned"),this.domain.burned=!0,this.domain;this.domain.history.push({type:"receive",block:g})}else if(g.subtype==="send"&&l>=se&&l<=ne){let _=Ee((0,T.get_public_key_from_address)(g.representative));if(this.domain.name===_)return this.domain.resolved_address=void 0,this.domain.metadata_hash=void 0,this.domain.history.push({type:"transfer",block:g,to:(0,T.get_address_from_public_key)(g.link)}),this.domain}else{if(g.subtype==="change"&&g.representative===Ie)return this.domain.history.push({type:"freeze",block:g}),this.domain;g.subtype==="change"?(this.domain.metadata_hash=(0,T.get_public_key_from_address)(g.representative),this.domain.history.push({type:"metadata",block:g,metadata_hash:this.domain.metadata_hash})):g.subtype==="send"&&l===4224n&&(this.domain.resolved_address=(0,T.get_address_from_public_key)(g.link),this.domain.history.push({type:"resolver",block:g,resolved_address:this.domain.resolved_address}))}if(g.hash===t)return this.domain}n=s[s.length-1].hash}}},Wt=class{static{I(this,"Resolver")}constructor(r,t){this.rpc=r,this.tld_mapping=t}async resolve(r,t){if(r=r.toLowerCase(),!this.tld_mapping[t])throw new Error("No TLD Account found for that TLD");let s=await new xe(this.rpc,this.tld_mapping[t]).get_specific(r);if(!s)return s;for(;;){let g=s.history[s.history.length-1].to,l=new Be(this.rpc,g,s),_=s.history.length;if(s=await l.crawl(),s.history[s.history.length-1].type!=="transfer"||s.burned||_===s.history.length)break}return s}async resolve_backwards_ish(r,t){let n=(await this.rpc.get_account_info(r,!0)).open_block,s=(await this.rpc.get_block_info(n)).contents.link,g=await this.rpc.get_block_info(s),l=Ee((0,T.get_public_key_from_address)(g.contents.representative)),_=await this.resolve(l,t);if((_?.history.slice().reverse().find(B=>B.type==="transfer")).to===r)return _}};var tr={};Ft(tr,{DomainAccountManager:()=>er,TLDAccountManager:()=>$t});var ie=Ke(we());var $t=class extends xe{static{I(this,"TLDAccountManager")}constructor(r,t){super(r,t.address),this.wallet=t}async issue_domain_name(r,t){if(r=r.toLowerCase(),this.all_issued.some(s=>s.name===r))throw new Error("Cannot issue a domain name that is already issued");return await this.wallet.send(t,"0.00120703011",void 0,(0,ie.get_address_from_public_key)(ht(r)))}async freeze(){await this.wallet.change_representative(Ie)}async receive(){await this.wallet.receive_all()}},er=class extends Be{static{I(this,"DomainAccountManager")}constructor(r,t,n){super(r,t.address),this.wallet=t,this.domain=n}async receive_domain(r,t,n){let s=!1,{history:g}=await this.rpc.get_account_history(this.address,1);if(g.length>1&&!n)throw s=!0,new Error("`allow_burning` must be true in order to receive this domain");let l=await this.rpc.get_block_info(r),_=BigInt(l.amount);if(_ne)throw new Error("`receive_hash` is not a Domain Transfer block");await this.wallet.receive(r,void 0,t)}async transfer_domain(r,t){let n=(await this.wallet.get_account_info()).balance,s=(0,ie.raw_to_whole)(ne);return ne>BigInt(n)&&se<=BigInt(n)&&(s=(0,ie.raw_to_whole)(BigInt(n))),await this.wallet.send(t,s,void 0,(0,ie.get_address_from_public_key)(ht(r)))}async declare_domain_metadata(r){if(r===zt)throw new Error("A metadata hash of all 1s freezes the domain");await this.wallet.change_representative((0,ie.get_address_from_public_key)(r))}async declare_domain_resolve_to(r){await this.wallet.send(r,(0,ie.raw_to_whole)(4224n))}async freeze(){await this.wallet.change_representative(Ie)}};var kn={};var mo=Ke(we());window.bns={...qt,...Zt,...tr,...kn,banani:mo};})();
+/*! Bundled license information:
+
+banani/tweetnacl_mod.js:
+ (*!!! BANANO CHANGE: we are replacing the below line with blake2b *)
+ (*!!! BANANO CHANGE: below line commented out *)
+ (*!!! BANANO CHANGE: Changed hashing to blake2b, and the derive pk thing *)
+ (*!!! BANANO CHANGE *)
+ (*!!! BANANO CHANGE: New function. I don't know what's going on, just looking at what bananojs changed *)
+ (*!!! BANANO CHANGE: we are replacing the below line with other... math stuff. Again, I don't know what's going on, just looking at what bananojs changed *)
+*/
diff --git a/static/favicon.png b/static/favicon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab0e1139d83307e2d665ae8e7236b0069ad1f7bd
GIT binary patch
literal 5365
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
literal 0
HcmV?d00001
diff --git a/static/fonts/Arimo.ttf b/static/fonts/Arimo.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..2fec90287525b28f3925bc7082fe4383b21f057e
GIT binary patch
literal 490800
zcmeFa2b2_5*RZ=!S9K&KARxmGVUUdEC|QySNEnceFo8TUWR)aYKtxeQKtz&=hzN)h
zMFmAg3?K@E2~i9vA}V3}fA;Ba7%;r=x4w1n`tMq|dOf{Qo!WK6KKWGjj2IEQfiG8X
zY2NgDoK3@_enoozHlp%!kf6i
zOUkG|!zcbYQq#tgRx=O%8fkbGnpGr$bJ8m%(*}sp!{3-@ny_r*3fPa4IGomRv~5zS6Xpj?!CvdY0vIRg0VIXSR_h1vXw>bzxkA
z-q-1HxAid{@9CDO%zeFb)%#7HfDPo6KRzg=j-%;;A1|)D^i_f00kyFY(?;Ua@7(q*
zAK#(Tsc9qBDvD>j-bwW6SU<0EBECjbX(V6^D4*afCB7M*t7Xuj~?#l5(>AIF=2Fy
zfi!R1wz=#U315!bD$vD=!%(|U{7xmU-@jTaJq`XY-$k&Vq=gog?@sefhHf(xj`_5Ni
zdwt)VZ|#5gzCt1K9Y68KmtTE-@|#oNes}u&AAbDl%+F_kJ@?!B
z-~agY!o^FMGsDK?dVPUlC|mX%IdkRCllO*v`3u}wuu$Qfio_L-PbgNrM9IWbHX($b~Ur6w5_G}T4XB*YX
zx+?k3)*xLbNV;a=l?Ry_Wv{j0?I_xNAO{f7Tdar|%j-x5#Yu0U6s
zTemA507;@?9=ij_=mNF?^2;j^q2@;C*~g2u|dCa&R)=
zD}yWfz7VP|PUz=sxx~pfDccmjr)7JP?+w{r5GVWn+2``TIQwGTT&0k~Ok&(1NnGk*
zA9WiE`By~U9?9u{H0pMwqCYL_cBQbtP1Nm`g8mv&w-5g!QMX^3`3^_j0V(TS7j*}v
zh;Lrh9rA2-jzrzrq`tE#>dr3poSsp44$q^so=7@#N;P>T>MkVtXrb1h3ZGp@MBV0U
znvLgbdg#>xGAOF!a&MQY+e@!jE$a43QF^mTn0~_4BE&xQT_J4LUWUqG=_5m=C9(A(
zwEogp8p&|vV6I)gUO^gjK1llg!`1eZEU7XQjXvCcHH548#qRHnW`A_ki1Di4)tJF500apsH(KbcN
z_(U`!c}zwtgOv2cet|Cq!shpGQZ<55HGPpVwUiPVml~0_1X9-lcLJrN=X$2;=!~nQv>?@;
zkb2&TGHlOx8_rwGZT8-__#{XZwAx5hdq+#_)^OFH30D6u*6vy!YT?27s)aS>n*R>C)SmxyyCzV2kx*mzX4tamOXw-kmr%8~4YBpE58sip
z(DE8iI<&O4wy5>AW~ioGQ&Xo`wZ4zYay=EzQTE;;_-d#LG8Vs)HfJLVL-V0^Dw3Q3
zRNpGv8h*7VkESM$#wOaXhQJ6y*R)n7C)x_Nu8$x#tp!8>;a*MSP*OJNn)@{8Be*{j
z>QG!)+f{Yny}7jMV?W+&zeorZ8fk^k}Si
z+uUouBK1*gtA?)nrMY{sl(980s|~c&Qfw+TH<4O8oE&NnVlAu!In};K>#OEmU46LP
zNABhhtuNW9Rdxwq%s!^8`Z_B4SuB)lMKKyI%y{gxQRHjo0wYEpb&jhI=
zw^$-0jke*d`U%p`+Is-$)w-(JbW}+roJhSWeWjnth>o{vP1P7lt-sncW$kya)`&{h
zj@p`r(&p?eoms^oIVf)5vBL*Ri`3!C1EpSC^4-Iw;-EewhDc#%!RC%eEfRG0!5UH*
z%3fAC9QMq?9Xn%%rK_9{?Hk9mb!Db{y3Xw8DYAc7OZOavqmbQX|VU|
zJ%+WAiLAwh>9XXplVXWX@9o6iwNv{1cIsZhPTdRHNqZ4HU5~R9^#nUnuVAO>mF?ub
znw^$cx6|?(c0yjuPRMK9sdxj@5Lw4Y(y;JK8gzZ^_?P>av!1^{xJ*oNP4Ib%=XxZ~
z9%g`!eB@u_UyYwb?{kOqD>;sYW~3FRQHydfNlE3#*A1>>;y>KF4&oYTUGH6S9k4D9
z)fZ%06U+#1=3Di>#6KlCH~5&QA{sm87i!6w@!WNd-#4V%n5||TdXW+ea6Vrga|`Ry
z?0ja(cxvSU>CH^5HFKV58UtU8OZCb0Yzv%>y0!e?PSg6opi`y}ex9yn}Ws`qi!wf$dG^!b$(eQ_m4$FHR5#FZ3%L|Bm&
z9g4cP2R^Vajp@UvYkPpU6iw0lQP=js0qat|_oA-t)a5RArdEgkpp+Dmyn%PP7K!2A
zsB3#*zjf)IZ%19*18?Gru#sqPi%G5iu=8l$?kW^6!gBeGR-|@Wvcs)l_~B?E0f)?kjdzM
zX=R%Gg_Wu9=T@e;C#+2VUs&Wg`S0(3WGzA~BUNu&i+o1N{rMcTGR-||WvctBl_~Bg
zRwlcwL9JyzwldXa-O722d&tUU_d}#wRE7RQPtxR>HyWGkY_bDrr-6xT1k)>9qxl61}b=ge8KgE5*
z%4GL(q*`R5m1*u{R;Id-TAAW5urk?w1gWj(VJp*IdT`ED-G{79cGet3_s5ndVNnGS!`CWr{o1%4GL`q*{dS
zCuEvC$;wohT^VbU305Y%Y*kr{+-qf;dykc=?l>z`+_6?ByQ7h6kx^Erxg)Jibw^m4
z;$~Qx><&k2T^VL&nwxHAsyo!m6dfP+x*Z>*W3^e#Zr6M>!;EKsGQjjUNv5@_V{S2}
zOg{SHpXDQZ-`%oB*3tJal)3Er>bR+6`a6u#qnWSNVdhwtU4$acYH|l@Q^EU!FYtYD
z@NLxyQuFZ{9i-;t7dan|kDiYX-fP3!Z^P11*-|7_bvGt`$|-^1hn$TF(%y-M{)z7qHr!XQ(K^K0z#u&&vyR>NN@O0g0{771F6*PI*?Gma
zBa7C%xJLx(O`<8-cEzQepOJjLe8t7)Xw>iU71t-Y#@KWnx#IfRx;)|!4hjyjb1-UN
z@PXii5(+*Pd`NNy9}Yf(tsf0OCV7L82bYlJtFtfN(`V*Gn%^g!2XUF;{gk=RO?9R!
zXtR4~rJJoOQ@Y)p_$g(P95UX-n@T3x3^o(YTx!OX<|(t@Y%uSbW9EeU(}X<hN)
z+*9s%?r(0`o68%=7WO{xY45qhJB!SS8xS`z?zOo6algfdi%uvywdfN?pDg-I(QthJ
z__+An;_ry>9Di4QxA-3M_r-6De?9)g_@nV>;?KorCS*%!n$RPmXF|V({t3epCM3*F
zcqCzQ!sdh>2|E*hF6I{V7Ry`g#$v^aRV>!JSleP9i}frvrPzXEYl?e{`-y-b
zjKtZA4<|mAxGr&H;wy>U6JJk!C-J?+PZGZ=Rj*XTQjJUXF4ebGN~wXRhL#^xesuW>
z6$@0nv0~#@Pp&S!y4dRJt7orXzxt)s;b)V7_WbPqIp;<9VvURSF4n);=wj20Z8J+`
zR>};AFSDZ2BZnl&GLt|HPBBBwMDw6|*eo;4&GY63^RD^Kd~PnVL@DMe?kVr7=Bedr
z>}f{{cJ-|HZ1C*$?Drh;9QT}Y*ej<5OFHeGE>3SJ-5KXhp#VPnf+S>5xQ!C*m5`D!AYnwp#DsYX3lf$kY_TOMl%TKJ4aEu;D_*Qpu{(-&
zDAtVSTuZ(8PS@T$pUcJb_M2hX^kGwZ`g%^L44v)ZiTL1qEp3Nu?y
znFqYa%tUt@Omz3~{d;(kInRh7<{QG|$V|;l;kzH)4Lsk??B>g>cV(6_BQi^yDw#K<
zUD71FOHD~!1tF(f+T_SgHQ6%nGOTJ19fiB!+2*|HtUuH0=NnGHclyiIzkgr+c#I$q?|`cvyptv$8o)T&b}Ppvrh^r_{imYsU?)Y4OnPd#z!@ly-Gy;bCN
z&To61&T%@srtQ1%x8=Y46Z!e~C%&!w-O|rzez%0PMevx&7b&05IW_ad>Jtl&KYIMB
z;}3`&U#WMUC~!Recu&r5Io{xSmE$Fj-FB?$vAV}<9jkt<%CSnvN*^nBtnjfLj>*v<
zkDfky>gd-;ztFpmzHxNt(H%#(;ClV&ilgg~Ha*(tXv3o=jutzba5V0VD#z9nV)|#f
zKVAP>uH?LTv%2rc)8Kv&^qbZ1_C7b|-jU~2-ls%zPR}_l=hU22a^9bFa`66~y>jTY
zbgZL?d4;Z)@SUQ7W&Y`K%3gcLDUNcK$!5&Tx&KlDWyXvV!$vFdnQNbAz)fg9%
z_WI^4M8KI^@jRd97dU%-Ivwc^#cMW4`|^o!zl(ZfTb^>fttv$jG-#O>;@B
zJ27&8^_zK%xFeX&*hA~+e|xyC+}1H&w?)i#y>zQ(^>KOY;M$aN-Y~01#I1K_U%@Pg
zr`nzec$R&VXWMh-0iI^Bk*8Ug&XO?g@?kl{tZ0rrCNn7RqwKoRPw|v{
zA5XQ{u`cZ^^VlVPi#;=a#{Dj{sJG=Eo@%GCuXTWD-p{f3_M29+bH&`Pw~8D9D8^7$bE7zv$AC}fjtd<9{(Lr%eR^Z
z=26}?@EFIq%-$}V$IL>WgfEgya@lx|kM|NX%@by^Sz?wlvM=L#dXUw2Hpckn@|&EO
z-{m7S)66n2noVZ2*Z|C6g;0bS+z`4M0
zf%8%{___Jf{AA9UqvmJxi#cn`GRL`KE}BcGoX6+!djh;?P{DJ9C!eWkDtTsk;ypUH
zR`wJ#Rs8Sz4+L5TZV$8$^a%6}^a}L$PW0aInc|u1ndX`9lyk~^H+eTZ6`YFRE#8-$
zO3p1#Wv7aFtM_H^E8cBRRi~O$-KpW!bZR-ZojTsV%xvEDzU9<)>N&SM^#gqZcYDJ=
z3H%ZGGjJhrF>onxIgl9$2PJ5NUk1MlejPj+{3duRSSomPuyn9Y_Qj!Uq3Z1Hg+et#
zHG^eCwal01D<_YW*SW#T=j3+^gldQCgzARsg>DVi_bm1-@htT`8EOz}7^uUW883Kd
zWPjRJ<^7D!vd4VQZp(}ETA(gFExToUs8OhKsEMo%H4WVsYUWwydCIfGv)uD^pqacL
zYHntmIe~hi7NM4*R-xNvyX*+HHq}CRn3JJ4p|+uRp*utE<(&D(zsUcDso`JjUlM$pcdNGf
zm-?UdFY`a+UmJKeuqW_Z;C1t0XhY})&&)tenH}05+7a3*OGCRtyF;&r_Jm#wy&ihQ
zoC;tpIZ%4^X<{tm@VENF=&^Mt|!3x2O!AilK
zf<=OH!J@%x!Ro;p!J5HZ!4koe!P>!Ff|Y|+f>rhXmF$zUPxfrcJ}=tq=ewpyp=&7A
z(_YDL-%g5-3|42DoQvuX(=qyvK#7wusbJ=2dqS<#*+;+tVL%h*`|8h12Ebgw^Rp=Fg>b(n4Z%Tf7Xu4TP+O^R5(
zCXtiKh>|r$U(uiFF`Vmai3sZRH%D|PeeD(Phb5ZJGPu-!8iUHe9uZ%?9wBmmHQqy6
zZqbm_X=Um3dXex{Te*6FB)xi9>>5svRH(%B^%R~2&1CFgHb)=Xknigc|MedK7o4Xs
z9v+r~+Bi&yEa_1@UCn)#3s-Uqjh9
z)l>f%+9v*Tn4E+)hq=O5O5|Z)Ytk@=@%$@x3=3zfGyH4BBYZR}_cO-pal2%*>21MV
z7a2T%P7i-h7^85vl#K92uBEUq-+~Z3Fb5fqD;?NpV&|n=_!kW#d)`j0%b+02`I%czGF39nq3*|>CPKBF@deZ!|M
zp=U797(fgIh@E!Fj@|f7(mP0N
zORgvJuHavfc06y)%clgdINrld>c2k1zss=j0pj@U5h+tG%m0?YhH<@5tVUd4i>{p8
z^k|y0Kp^(Irt^BZ7OS1w|LUP}TnX@cL1f^o|2tp5p13{oK}=fE8^O3wY4u^
zX3K73)J_^>ZR?YQD^g1eQ`gt+ywOtU$&!W`jxo#
zu4|8bVaXdOnQ(%V$wfr-s*HhOfu9v0sVTrX`Y&*r=#dct)mA-^Vcv*HJPZn+yw|
zurBR$^qqzftwP^l(>4kNQQfXv@(S@)hfiuUNfnuc2==XfL3ar|p>{
z)|xSWA@%nV;{a9w`ld-_w4Na?%?ip%-=IChIDZdUT7^HS7iqzZmij3`Ja=Nbb2fz$
zd)B}Le}7yvszz1rB9E=;h5qIqJF5PDNdLd@|936GXhf^-6254rFxD(0BU<~lMf7ET
zDfG>^QRnoXk96iAALApu<(G@zy$W^xR_^G|Rjq5c^NAc8;hFpnU>hT4b$NzSQSbhk
z9&9#mI(|$4)0TGzrlOiI1tr1KQ=X&;sK#nHnO;Wk)-8|N%7(bI3S2JR0OtPDiaU!Xkz$)G^^@+76Z*KLZH|s^{wd7_Ur>{98v1&gT
zA(Hl3UzSx~b6fO8@6M`|)g5X5+Q-I-%t3V?8X*$bHM#ni@M2-d^#4u9Y#EcWd$Y>e
z{hCfCcCPa3p;pm8QgyU`W&LRXmGx7X`WgFZ2#up3?Y*;pu7)0QX>XqObN%(}?=4M@
z(?jQRSwF&@rXBwGU-!{B#vbFNQa_ppO{a#d@v78t^uDb5Q+L+6@rJztvIp2K!;-
z+FE+29l0BkhB*3-!d%yyT1}=)9(oV$jdn6uAHe(3jTv|EWPYE6Pd1)R7U7*09Y=GB
zkGI2e626DsMZ?=bg}9zg;^?i4@L{8eyPHT6#@&43Gdve)LZ8``PvP(deM%5ML!QeM
zN@x1oPSO&+Lil&KKDE^c`y^%EdiYyY3?#0ZeAHH&(}>llWYN``p&raNZQixl(7F(r
zljwcv^mS?M8Aa-B3uZ8SUF%R}9uw1EZtu~s)JL##TjomIioYU^PqAfnW=*Zh=}ml!
zFn_5MK0&^!;MW>k6$t-A?@C(={~%5HbkMF?HiJqMbwnn?57+n%;sF-XO-v-
zwV_1rOhQLBBcDhwk~N;Iv1lBfZTQ;rL_*heXgKX5@`k65eGnsx0_{pu+_
zi(ZZF%3Sr1xMDT3C2i>1Bhp7@^^4_p7_F`xR!yh%wuq%GtK$E|?n1V=X!tL&RJmfK
zCRcivh|Chrh#S^p@e7a*>jLR?eGv_P5UIP7hbc!4%c9AZA49t
zv$8$=YwT#qui=x?aMS5sYhM?9I`u<6xxP=0IC3H*LFoms?a
zTH!FRO(6aKt<=~w#gSN5W{~QNa);3;rCPQnvF0#p={Q>kA$+bL<*)Qn9(2;tXkeNW
zm;Rcy@Z#vY0
z41P0zCvOY1!(MZ}Cna79h-@c+EuaGLCp6-`AU1FA-9-90hXz(=gfrd6GTS*PwYav(
z_o#gDsT^MFIWL7hKgdnKL>WZgYE0PW;eNt9YwJQksp@8!IKrsqp2Sue(m~;MyaF*B
zX&Do5AIenoWPd)w{kJQW$pl5yK->Yfx0bm{%IuA9Zgjf9UHHdYC_C)5P4ChB3Abi6
z9<6(kx=4ATGZ&kFfb>I9(-6bfF|B97wLP9^`DMl0@OOk)75N!*al|d7kp-X~XnV;=
zyt#>|2WhFT^%B`Z>jh!u
z9kH;rUJ*{`nAGd;!0;LF{}mmV^UhZ!?Z^F|xJg4aUcILAYh7DIn!Bm=bRs<}*U2n&
z_4@3XRNHW_VXPsJ8Btk_aAJ9_Nc!T*b45p}Ti6c$sWBO|#TA(rY1=-2kLxZY?IR?~
zc}SYMKO@UXoc9*#M1H;?k1u<^m*l{1SxTK*&P$!Sub1lQKV%kqcbfw4v-CfQWQnbN
zhdjmIL&ocUHq3i==7{%M&m8Oii{!fMT)})2(N(Ery{2LOPyDmq`%i8v1momYJcn?n
z+H;<8lAn91$KwCqEQN<+693guMhTQNF9Zgf_x+trGk(PMDctEcl)B!AQqSEjDQ)ZKVwp_Q%@&x?=|%k|7+^y_2+h6p>O9t+fIpV7H->~v~SctjyRfAkIR$hZ881p
zWtRKL(`W1^jdl3VM;F?4JGd2kz(b@_`;d1b&fA%`-Yoo^Z&UcJlQ;aWuS$5E?}#+=
zdBgN);SHJ&SmR|US*5lmo6ktUp#GuQ`01@GUDXzP-Rho|LFn7@lJknb=j9>qMLQPy
zIj^8?(6+w}89<(Ay1g0a7Rg*}?sul!ep$!T$hAmW6p{mT_9s9h(N?a0if{?_`bBO6F=m5?CPHy;G$v
zIyxKHaWW@VhjLJX`g)Qu?}f>pt}*~xcos6ZQl@i#S@=7rk|cOqgui87dKeObryZHh
zu&ulUnKui0vbfbhcND!>uc>6`CVW`a=Q~EdZ6HaM{Zel?efE)gBiFuzT<%TsRJ08h
zXDxh*YYRj!g-PoS%JJH9@7nXq|Ka-8@$%aHvijRGQ|pkH!#_xk=Wnl5x9=pK^n0=$
zIWyK*{ew*W2mhoi_KDf)A0+kln!YY(&;KMze{7C&y|nhFt{tYXT}l7-@%+;{Wkoq#
z-c#vz3Wur3`Lyk7`_VRQ>ugjK&YEc3$wxi+V{Uqx**+FofN`mq+qx8^%2a8A65#w;RO9vYftgR_9KxwbywF;on7H(#8EMyqB<2-Aw+@O?I(s
z1&a)|GhfqOYmwoRpHdXEDFr;Ixq!nez-M
zyq80)p@P^h&`**A6X?r0cj&9t&p(&*a*_27X|m->S^N}pXBp${oYUrC=Y3kI$#cxM
zF=^A+U7AuK=4XvJb|3FUt|8CbcWN2@T^qfotx&i6gRap6$P2M}Vp7AQf7%t1GDvMk
zxc#GYD(SptyvJq@dGoup>Z3Q;yGmBLhtZiPy-2&x&$IRmHZ8HZu*;s9`+7+{wrvom
z0bRG~8cX~3Tj7qVpZa(9ekYwNuNF|=+WJ9)(|{94C9;w(ID4TQ@VLFux=0=<1km*S+FH=5kBRO~}e_N1*&+
zkcI=@qB7DB8xnplX~~$_leRp~sffLJ2;%m{sdA&WZ&qrJI)RwnEEYE81IQ-SlY9}p^SlN`sU)?Q0%T4dKWs1L^
zt1a$`V#^6Vl+#23D-2XI^xWi46%aMuj7&_}Xe-S0-j+ra)TZ|;n;a8C8XXe1&9IE3c
zJ(*8NIfEbhx?BL+0W^Qe%x%EE;n$;jpCaFdH$msIg}BxiI^$+%Cvyw!^G_HFKeH~%
zaC@_7R8eaC*YY>&ko;1)9er+l_dRJE8!H%dhSRroWt>?cPB*KGXuriw2I^Oq&k
zmwCe~`tT`U{?d^4`QCnvO~U*nNrouy=Zpz&NCEcg`ndchIcJOHbDB$Ojf3@q&L`;K
z!Ur@yXQs4MxKGzpb{x}nNN5vj$dp{@1jfGDlkybm8ipkg<
zDw>DRv3Y4M{404mL>p)9ypneD5bb{>1ZL|6AgXGWx*%X1$7FnYd7%Nk}}FQf6y_$L`F!+(;0V?W)u
zvf*WsBQ$)@JECvrxBp3My(hnRKlX2Afbgza8~)=t&swN+YBwwYW}hpv7K^RPV)NqY
z-Z$ycId+FD(v}JPB9Z4O`aD4AXtQ+x>E9rJ`#i-rnZFNuEe$wtpnF$;hp#AoUr`D8
z2eEgT1>&{)S^p$`4|3mw65ttDK`0xQxWg9|tt%12FH%oHoCx9BoX>WQAtc{VTnQrx*8}L0@?w
zM)*7b1L5ytWf8M!%ueJnx90mw+N0@;#TC2npX7fk$5=f7B(EzMEt@Fe&nTDAV(Iut
z`CsPy@6sPjdsa!C{FSvrzKFEXh;)zcFLjIZDGrT&zaoE?#?kg%mir)lhC1^oya#W=
zn=l%d({CN1{bqOg3v|#qq93{EFZF@_SKWh+`IF8Hitih_-CvNsMcM&zosJ-H|DBEe
z$X@B;(znAGc|IoVc^kJUQUWikJXMMWY%9zdlW%0Y!J&m+}DD-@`v2w43Ucb4xz7S3h|{#WzRv@7Wt)`
zGmJUWQ0AZorJR#XYC3mG1@?z3IHRO2{x`c9dER+J>Uu7Oe{fu>>%PM^uXKgFoa_bQ$5f8@UKn+bGiJy
zKQLcBjt||bQpdAPT*6B>tn1O|8hZIzE34$anwSnY)pc_V&!Mo+ne8*o|(LIaGF6N>y(Eje66F
zdbA74IxF0OHg{!Dkv7qda#~}{EF(N$%bqs8!?!lPkA0dK;Zf@EQpJ_M8acFWRu-H(LKmq+7|IwreG6ZzmeKb!SHIN
zK1I*RbZ(_>>fC9n&PgfP4wPX-&s#k6=GP09_05K7
zF;HI1oc)*Hlv5t)3;opXDH{$WJA>n?%KquY*aDnf;a4fkUQSN%vexFAyl1OaGL6H}
zQ!k2h?FOeXYjz*+o_s_fM_GH0OFgIviJo)F)4Wq9nK}o30h{YHfoE(Va6xXRPS&t>
zZW;S6xOI+5IcnMG(!L6tH2S;#JgXmh-vftWM^rwBdQs#6OsC@ewWWj&cofgMi}81!2RI?k?Uc#
zHP(ftM1=yvT+UA6DB
z`TI#;?*+-m`g@HpuS^LtmibFE_D7#>1s-Az-axViZ)E;tXg@rE=CA0@^)BOC*7L}H
z;k~^7@?og1rn`a8H9NKwS@4fud2$BFh7D>RaF8-smvL)4ex4
z9ws2`!Ywc!>On5h`hEix1NCpmeZL^pzb|fW2ih)jfQCVMx?h;N8=j8{`zP6hTD5~+`j3AE>K7X9Ba^doKwyJx>mqDSaKsc9xMzdS^lmP0*&UMG~vhxCSTYZPFHGMKt-VEy>!g{w>2vMjOJT6a@>!+2W00Ow=60SdM4lDs
zbBg*g%noS>Ra6J`T{Qb188Y@v2xy~7HeH{e<`+D3o>B>Yx{+XqI6
z|L~sRU#R?P$Ct8PFY7%U{=*%M&DP3|zRBTpj1~KQ8T13UB5TWiz6;?$=u0Ylx5z&4
zz3jQM*B20Z5t@>wpf|*GQQb%58LGQMZp5Z_bgTl`w~6^&Z@JIe$QxCUgjhCX}i+4r(u=C
z?^n?AO~(w{WhUcU=6$XRe}Pajv?)c-Ap^)3QCcHo+=F|p5@7vDdDwZlO3zq%*C#TE
z_stTK7nld8k>`$_cl0cx{y)q+Y0-PFThG%>M;Po`&bYLkd1qAezTXDe$n(t!klp3i
z7*V#d&aAEBdX~w%PCt2A+myD)EOIN?XYmf|frymHbMd>D0vn}0I*nD&TwpAto>JHC
zJJ77Nw`y6CKHay{`IoK>dLZ>3U~RKA85d`>mp|24mc9F%q@C_{`@7Q4m$N_rtP~B@
zG~Uk%Z&e*=;JRngD2>hwEv}dvHkNs
zNFBp|hcmdTL;5U7$AfSQ>T<{&pgwlw8Si4=UwDXhok$b@GE@`aPO0qwPL}z~u$Rz<
zboC=$yu;r>w0
z@x8(N;(H44cHZ^iw^_0L*!!77``&}-n``!0-3NHbtT=t3))Rea#mexnZe_;4-t0Y;;CYCj@nr&ivjgdjg#&q)Gp`LZ
z$!RHlnK#TJ{28qCXL#S{-R+IoZ5+?3df2s56Xq{#7#C(RH|wN0zw(TcevSOia-Syu
zxnxF6$2*qw#&gn7%fU&o?=Wri{)Wy5_QZ1&UjFbg?4)bVxi;@xc<&+3uD$bl^O5%^
zv<;QDqLOo8?eHnq8z;O;;olg)&ok%wh4UYgy2qo>8cGx9&AzeJA$_;cu93nswQh0k
zMwKqV+QMB5*690+fugiCeZO!4X>21U*!M{Ej^=qUeLgyav@fO&?+6}aKb!p%_IjE)
z?PWCap7VYprMYH*8{lE}!29y-S%uGLSzpg^*0B!)T31-hBwc~Fr|nPs1l_0cG{&w5
z`%T9-$JswxB~^H?RE6-g4o!u^#64AU52C~SlC-z{RxT%R_l5^}i-rdvbsxu1Ie9&X
zUwGMT;`Dj{kPdLliX9%fPN&-ds=@Rboo=dVh)v;zKOc`MCH+_
zjOmQhb058c&H;4%=XrAqeOW%|KJxVeNl|pbc42F%snBoeWR0
zgJYl)@chuWu0BXwq@QuoKb}!28{7|T-~@j!*bnFjyTWTU=Z{3PCBR%D7ulNv<85}r
z%aI+Jv*zdwj{epoRDoXbCVa)uBS>@H64(sX?6{L~S)?dwDp~<YTu7Et;d|ae7b}3DrC{61seT*&V20(d~
zrR>U*@3O>I&INSJy(?1w0k$fzS%smn5Vpc8ehPOB5N;*nsYIDnS_Igu(&zAp$St{H
z4%=tc!O9JxD?9~Xv&EeYYQjKR3FN;D`LA+Lr0NWK5eTOmWmat-oMuVxKm`~{_t6Ok
z!&F!Tn}M{}Am26qWQ&aOYbL_2fNo86Yoc2d-J0muJO~%~Lm8yIR)4^5wO(S1!hN;T
zuRRm?0(G+v>95lf2Ei0q44dFHwtkwxYe0Wc_g9g6ltaA@u%9hK?0IV~c%1F0Ae4cY
z&>vRAE}+cnpW#Q>euxKb(ttEINQDU^4ZVPWL&9m;4$@#EECk|dh`k#gfuH$FV*nBW
z-A3p(N`dh}{cf}#$WJ56zY+aHuvbeIRReySt6w%CpZ&-SLXs)JWXdm@@=M+V9|CDeA&k^K
zP!GDm{XkmNuvHpyrD5wd@}GuX(jJ57VIQ1;-$nZ8f}4Rn^zRHqVLChsFTs0o3c~!6
z8}dG29qa+>7@QLsR34fFb!*UYplkD3REIkN;|#qID5Igz!5e@L({lso>F>fxxXh1R
z^Fsw_2BdQs=^Qo}R>4j<3_tPnT^Gv1ZSXcfYQ;7gyINXJQB{Hbjv5QZGm5erg*`_7Au>7u
z1%bFmWA`!GeN1cU2lv7wKwTL_*^DKwvGYX6QK!cZfcN1~k$XtTJ=Dv4D3g1u!%6s!
zKbS%tzmGB=Ukx4w+!IL01oAt9Ix~TEOxOn}fI2fV1;)cSaGsw;la@);fk~9}B>IcV
z#5)B|uFD359RfP1HL
z@3f|{kU!BxeA9_<`dy&s`}tqJl*x<^Kze5o-ppP=7_+!<7Wd6U=Yd^YZuI+rq=OPM{m9B9W6Vv~84-Ml+tHgN5sGB5~e
zJM$^i`BQ-S9?keNYr?KpRMb@$e|DhrMtd&hr2_CzOKvkOV_u8Z3n^@D5O3&t4E&
zmlw)HW9SOwfWBcJb$T6jW*zn8IS&+v_CPq#?E%`=`tm^AT2EbhegaUI8)#!2NYjSz
zL|!Nc-C-8IDYB8iYa{hyBXw*e*Iy)kFD`&Xa8hK`-9X*jTn|X=7Sgq4lkl@(Al{cg
z6WQ7asBbUd28>HD(;vN33%I@wy=~-m+mrlUyATlf_OC^Dbb`I`lgQ43FdSY5>fJ8t
z@-F(eUF36j1857oL|#n<`tm)wp+A2(CIqzo*Ou|~(Ck3ldYyc{o+3xH`zBeCG
z|Mwmi*%t@s?AtH$CULwuSLCg7KwEt4qR9T%K>K^UI<$i^uoDgd>3kG6Gp*Y
zSOw_4TLiH6yB&ctdv`u;1mb)5OOXTE>A;^N@6p%1M_=<^Bf$3W4TG8R47>$j0D1>=
z0d4glHaOTBhQf6CMCARZfGyu20kdHRY=@8F2ayk4AUz+Do)5^^2ju&Md*KmS2d~31
zI4AO9b|?w;pd$=|DXhY)&WM~M{ikRj-xdJs!M7**{}svbsmN*S!0E|wSmgWC@GxMbAH2{J$nTHX
z<8!vcLQOCNNcDqOaj6Pof4C+Ff@k2
z@FaXFCOg~s*=qx7&i*jG0mPMqUj^m38|J`f_*_iR{Ll*SgY|G&_=gKn8TtUaxpu)h
ze$t)@?SS}muY==a^5li)!2goUvj&JiFX_)q{CS7Ka(EYh6LUiXbb?v16MhzxkMhcg
zee(^2Rd7^H{_Ic#NNfIiK>qXpD5gMBz}^L>17%o%^xug6ZoCz^|3>b=@e?rxT__Jp
zKpiN^{RK&Xp;FKW#shgR^p%*xHv(l-I0II|0pJ$|H&uncFc)5d@5B@-1kHfDQiSp@
zLVb&)4#koFxHOm#dx1B*idF*bS9B)44BQ`2`r}D|{1hPmcx;^zggQXoNO%g~fy-iw
z-2&ZUHejn_++UosD&7Q!1G>fEhLb>gOH={MvBY4&HYKoENo-pZ|B`pXgYcf1L=Rw_
zL~N5d5y(g4J|LV@KDZeu&r-xuin1&98epfJvGdK8|IL)&%`<@eZpNnU5t-7xVKHn5
z>|cg@TIP1Zre#*a5iw;;K_ehfWhcQ$a7IkI5R?JpEQejoJpr$ZDW4r0z;wV?+n*EDnzFmY3)rkpes}_Y5!1FQbcYdQ+U0?##oXBjz7*4*>m7Cg
zw(H2f9mz*W?AGy3F`eR}ACT8hq@~jZF-dQT=}Z}PsRAp3blrtb?|MN@SIWQZMls!P
z1oF|HIJ#4=J;-m50k8-D5Yw|FtPs-+JNLq`cQR17`t*l|uush0*y8S6VJdtqrteT7
zjs56flF37IF{ll9!a*@9*f?dim{e?+if$@xF!iFCG|D_}GQ2CMe=8t8{RzMS3HV*i
zfLuU62UG&;+kjp$8Xg3~8?XzAf4~_r1Mh$yFcRhf`5(9g4gqN!4(JXdUxV(0
z1@Iia0iVHdVg~1cM7R~E!J}e^V2>fhJ2W4t42wzc1H?b9D^L!@@Ee{B;vogF_i*ZR
zMm87;5sLu55&Pjwpd3f$g|dK6Mxr+oy^-jRL~kT|Bhed)-YE1&
zp*N~AbcNwCAJzhTqtF|L-e~kjqc^%03;@C#O?aa>0(zs-8;#x=^v0k!hVaG^-k5YC
z|6`WI7B~RkK&F_nMS%J}wlz=>$KDH%0CpHl9UOZME{Pe3-Z=Eep*Ie_ap;XhZyb8#
z&>M%|xN~Ce$qpr<9(063Fa;LFCU^(F7IUu)MF72f(Ytp9%!YOFIvj&@V(!ZhB>}zr
z(7SICpm*O|*aM%!Sux{7P#o$&dl&$dVL6~T{!73%6R^z$Y%`%TV4DfUVHTh_;T8A*
zPK%l7fx=J)TEPIA4CqZnZz6gV(VK+cB=jbsHwnE-cf&ZC4{Ko$dj
z9w-depbezJc%WTOT@QQVIGh(VEhm(M`j7-eUTv!D=;V}FpW~L8{LJepGDKH)$h4ru(j>CB|
zvvNWys1Hdn1f~J;&)N#~U9+&&0|Eu%79gz;^oB7o57xkLI08S5nH_)xs0HmH4JN`u
zApY6JKb!bx6aO6IpF|
z4;$eFI4kDiyif(&!*G}n8(}|Cevb$g1Z?sMHhCl+X23Go3J2gDF$)+w7Bm9d>Vj9r
zJX#UjKnhSUk1mCsa0JeZc`Q4W0?O~PaqyCuh0K2zHh@l$0S^IV#ljuHIJxk9F^@AA
zJRS$#fpK^d{rw{P`$hEki+aF)z__r8abXeT!lKWBap4K{*q<{`p!Y;)U>taYKIaMM
z4~v;QEWQcqLI)u3#SZ}E`QmLr+>42O31h*M8n9T*(iZTom?!TQvn&A2X`Y$~#J8Nb
z_VgGyDQ4v@a2HI1O>j!gs(ip)XBF31-y>#C6<99jndY!h%vx->mbllx2|tK=HYZet
z@qitl{XopRAoPU$0o`?bfbx3I0Qr2bF;EuI&4rzCS3-=DaQ{|px^*Vdu3jDvlVLtA2d=*|7=9PC?MAp6?tmV!
zUd;9o5XbgaVs=nIJ1CDGyMZ`&7KaId-cD?}%LU4KS2y5%H|OkCncefmyo&Ct$v~c8
zr7ZUpfZ1YR!#=OA74tf6{q^Hw-e?Qhb1&ETV&A>^?ZbBa$osytV%{tbw2ik&*IP-j
z0zMM6pSbpq1M1V;x!`X2RLnc%>77T!yqgDZ1@sT(1@e4=v>$i~DBlB{#k^M;2;-mw
z!vGr|TmoD>h%Nu8yifk#r!KSqWIiD54_*=T;Ycwbm4^jl{tsJM0boVdw$GgDpadIH
z5o~eq%-p?zsO;U@K@>qj>{?)9SC(DaAnfk$?k*ItyRo~w3%mP&X3lfhEB_}xd*+=v
zbKaA0otZl?uL)obUVcSruV7BSf;I3e`tH?*z?=AqJM_V8X9D*CzY6X3xd6ub^$USp
zf%ov!a1QXG(B3>iXm6PS?t2@@@1Wn`LEpVQQ)usj&wD8I{dED<;r-8r_5tSMhc*xc
zZ9+pROZy1CKVAj6S!kbZ0if-lqVGSw3P4$(%>yteKgU}8{0E_ZfqwlGJipunxI<_N
zJ88=>7rtr$P>-*71U?knH|@YzLi-kd@GZvfJM`~&;Q8IhLi-+hzQ>sSun};D(0*JA
zKzTo21}qlZPbl-J;Q+?-C(ON{t`^$QX!FmT16=^>@XHVYef`T%Li=?u0B!vZZTk&<
z{d->k^Y?d@g-`Hmf1oXYd?d6#M*y9`CBQPF{WTG|MrePp2y6|YjsL6zGy|yDKeqvo
z185h11z5v3)TF={)bV9Zso@LravfkC&fQ^B1z&^my0PfN8WpDfn
zibQx&8iRmQ!0y2Q!1=)4z+1qdLYf1CQNR@7NZ@+lIpAj@E!=CRKpSw2kai554ZI+v
zQv|ZFcq5P70sJDQ2mXlZNWTF%1;Dvr0{u2R|*B@UjAFvXz9e{eS*dI7T$dx7o
z_@4MmKMJ|>Ho$QJzOBCU-$JgkDS)r7uYxa%ukweGtIh$=0`3P;r`1egBVc>rJm5Ou
zE&%th_NI`l?*_~QUKMg6@(o1&)XjW0F*!MHsCP;eK_n-AvawgKp$>;GJtC}8vy8wn%988ge;)$g`I)ZfX9Ul*9Jxb
zn4cl|gg*%x6#(2HT?c$2WV|DA0f0U)qWmK2SbST^+KqrcfRBYNp^Osvme8N2!+}eH
zr-d9|4`7^!W88*c58Mqr1-u0;1O60pL;wr~HU>rkX!i)rff1(wHv`WDp9?us16Bo4
zzma1B=0bT~a5^^*2`DSYXMPOT?2{-^i-8Vx!H+uwl8~91cQN4hn
zz~;bYU>1NmKMH+@*o@rV04IxKk
ztVX{gWF6{I_mGff%(?PXA?r5)ju$e)I!tiA0sY(XEby0*=_bH@-~}PatOj7NY~=vx
z|imX9GVAx%HmFTmW_026?tQ8n_jBPRMc70bCn*B5*D6u8`ZJ4%@yc~
z1IpO}{W!S{pzf1z7jj1d><8ff9p4jjr*XjbLhg)y-Wlh2zEj9u8h{G`$dX;h1E}k6
z7~kE{j@?%QP|w}b?%m%Mau4v@;}IeE#5&m%{jg^QbOUJHUMOcT%#*!`0b2klYj2Fl
z-WZR)&j-M_g2pF>Z2VNnDJuY|)0El3heA%>4mb|L_)JAxrd~6fH~IkG=TgS
z%uIzutVg!KA>^zJg>1tbZ9huL+1Cg;2ko2lmyjKUfnx#Gv2zeG9M~H;13=q4-v+)B
zvI}+V>JJPBO2AkE_2>fME{tIp#;xlz;1&S#1J9Yrt}g-b=$hz&(Y;
zb06~HKZQI5{eKAh`B04cp+5_G*yBPTj`|;Q0C2aEN8TgkQE2Z`DF2v4g*^5*A&*1d
zk3&6=?-cTckpTMWgk?gWxE^qhkSDDu9&zTIMFVEcym~~ySxLqLC7o6?kmvN
zE5Y~5g}^gHUeyc0`K!>zt2YL~*pDd1qT(T?B30weR+?RYOS+l?Z6?x`$E12`Yp8K?TvvignZ{BA>XwCl>OdHz(OJ4$DDW{?S3Ef
z;R6%ESbl&x^r{;pzbT`a`V0k6Zxj;G?gE{CFQBKZ$_*g!~ls`4snl`Z|F7KEr(Z
z4E^vq`tNhp@ryNqX~2y_emMX*T*ze}a4E1z$glbX7^klwL%yB|;QTl111Aaj?I}Wj
zw>E(O{(dvyJ0X7<0ieHrM4NtmNywkj_dkK}&*1m-!$STN02qT`P|h#N|LX(*ynjWV
z;Je7*YJok04}|=EJn+4cf9xmZpQC`KLjHw5{R{QNJEQXNdxZRFH1Mv_@jVG$TLE}c
z=y=0Lm(L3wd(XQ5h|rBmz)S$&)y3N!I(!J-+6=(2-PjufmkHgm099@ZoW971eOtZXr9xj}ec&dc
z_b&lE0WH8?LLblvm;x*j`iee)?}@Bw233j|+YMJ%zpj`g?=Zg}z~5-~`|Tp>Na*V9YkwfM%g@vKnx?(1)SVhdm(l
zO?L!PhZ^)}VI$xLp@%3xLcSf1=_g<#(c}6z{Nrz4PK*<
z0MLffw*Zd;uLBs5y48U?-~ixu;0fR@;Af$iHwMsuIZ*d9>RO)wKM6fSU6Nac-hg&C
z>PNb7RontuW`dx-tiz;>iB{XFYMII{NS508gL@
z4IaBL3}FgO*m%9s6`t@#AbN@3qL1h+`iT`pe=$I;C{_|Hi&gN&y4AApw23vuAbjU$
zEwQ#3j9*k6B8G}}#d>0Wv4PkSZ^3LVHW9<;SuZUVuolIEh76~b*q>q+C;mkd@-_1bc?xSo|rEd
zi0muA`-=m_fp|OTU`U5U#bJnB93hSrM~S1wG2&QpoH$;bAWjq~iIc@C;#6^(I9;3}
z&eWthTbv`#73Yf!@W`YtE*6)FOT}g4a&d*YQe34O;u>+SxK7+4ZWIf}P2y&;NGujh
z#4X}hahteZ+#&A7_igUhOnfQuK5@TzKs+cO5)X?<#G~Rdu~a-Rp1?0QJSCnM&)_So
z&xz;7i{d5mvUo*gU-^AqydmBcZ;7|@Skt@WJ@LNyKzt}Z5+93C#HZpj@wxayd?}WR
zuf*5l8@zS&o%mk-Abu1-iJ!$U;#cvT_+9)V{uF(0XaT
z@c>F+t)I4n)?XWdZ}+UEt*ou0t*Wi2t*#B!*3brNYiet0YionGb+jScP;FgpJ#Bq$
z18qZXBW+`C6K$BbsaAt;Gluv=W2_amTCJoF*G6a~wav6q+UD98_;%xHtxhXz^;)7e
zXsI?v+e#a&ZLMvijnlT(#%mL_?X>N+iP|J>2W>LGWVn;Iv$l)2tG1iAyS9h6r?!{2
zx7Mgl(WYwCv?gu3HbZOHTC{z%nOdthOKa2Gwb|MntwZb7y0mU>t~O7buPxB_)%Mf&
z*ACDQ)DF@P)(+7Q)eh4R*N)JR)Q-}Q){fDR)sEAS*G|w*)K1b))=tq*)lSn+*Ur$+
z)Xvh**3Qw+)y~t-*Dla5)GpF4)-KU5)h^R6*RIg6)UML5)~?a6)vnX7M4v9@Ca;k84k8
zPijwTPixO;&uY(U&ucGeFKRDoFKe%8uWGMpuWN5;Z)$I8Z)@*p?`rR9?`t1uA8H?I
zA8VgzpK70JpKD)eUuw&=ue7hVZ?tc<@3il=AG9B}pR}K~U$kGf-?ZPgKeRu!zqG%#
zfADsokeZZImxeT@C2i?QS9;Qyf$SxF%RaKNxJdSsE6DzGfLu|oBv+QJ$W`TPa&HN{zSExEQFEZ31kY?JMBwwxn7WT)(s
z-Eyv+C+Eura$mWh++Q9b50nSVgXJOePS{R~k-~
zC&`oLDe_c#nmk>eAY49yj|WQ@054RyX8IdUU{FqUp^ooln=>=gOTI1Nk?+d){wRNvKg(a_ukttfyZl4`DgTmx
zOFYh}Yr52R-Ox?l(rw+*UER}tJ6qOYp2rmwCK
z)Ys4l>1*n1>1*qQ^>y?i`cQpceLa1BeFJ?%eItEieG`3{zNucL7xYk%^jI(IwR%Y(
zu8+`1>YM4K^v(4x^ey$#dYxX@>-9u$&{KVkzLh>!-&)^BAE$4tkJl&Y+v(fu6ZJ{@
z4*Fz$M|~%KXMGoaSA92qcYP0iPkk?aZ@p2UqEFSQ=}r1{eTLqwx9I!mGxb(|mfohf
z>$CMadWYVrcj?{wTz#HCUtgf_tM8}puOFZvs2`*stRJEusvo8wt{tte>Kvs-LExuAiZwsh_2vt)HWxtDmQzuV0{Fs9&UCtY4yEs$ZsG
zu3w>Fsb8gEtzV;Gt6!&Iuiv2Gs4vuS(r?xm>5KIx`Yrmc`fd8{`W^b6`d#|n`aSx+
z`hEKS`UCod`a}A|`Xl4rvvAMB@v86HEs58n&y^$CVMrw>P
zwlc;VTN~RLjl+z?jU$XBjiZdCjbn^sjpK~tjT4L$jgyR%jZ=(MjnjJa4>UylA{+yllK;ylT8=yl%WlxuUs}xw5&6xvIIExw<*fT*Dk>
zu4%4iu5AuB*D;5fL(O%~_009n4a^PAjm(YBP0V5Dre=*%i
zZf1@$H#fI1w=_qab!OSDHxskLOwBRoR_0i9YjYcOoVl$z-ke}=XKrs!G$)xmn3K&N
z&7I7h&0Wl0&E3r1%{|OL&ArUM%|>&IIn|tIHks4S8D_KDV(w$kG+WJCW}De=&Nk)d4zeSd6apyd5n3id7OE?
zd4hSOd6Idud5U?ed762;d4_qWd6s#$d5(Fmd7gQ`d4YMMd69Xsd5L+cd6{{+d4+kU
zd6jv!d5w9kd7XK^d4qYQxzN1HyxCl2E;g5#x0tt@x0$z_cbIpYcbRva_n7yZ_nG&b
z510>{519{}kC=~|kC{u&$IU0qC(WnKr_E=~XU*r#=gk+)7tNQl@)~eQO*6P+kYYl6VwWhU}wYD|bTE`k<4Yk&_*0a{PHn29dHnKLh
zHnE0Tn_4wi!3wR&imjqmYn80w)(C5)wV5@_+T7a0+R_?r)mde$-b$M|)>Lbn
z)nrY#W?0Qui?xq6(`vP5S#4IkHQSnFby%HNm(^{}wdPs#tp(P;)_&Ih)&bUm)+os);ZR>
z)_KYQk)-~3()^*nP)(zH;)t<__wb)u>
z-D2Hp-Dcfx-C^Bn-DTZv-DBNr-DllzJzza(J!Cy>Jz_m-J!UPn9=D#bp0u8_p0=K`
zp0%E{p0{4GUbJ4aUbbGbUbSAcUbo(`-n8Db-nQPc-nHJd-nTxmKD0ivKDIuwKD9ox
zKDWNGzO)1o=q4v7=diMJE2KI*bM)t<`CiXCUQ@h44*r6TSv0b!l?UFs*9$}BPH?v3C
zo7-F1TiT=TI=gJw+lk#^r}h|oD|@WHwY`l!&feA@Z%?qdv$wY=+LP=Z?8)|y_D=TB
z_Ad6W_HOp>_8#`0_FnehcB4JTo@!6Co9yZK47=HGvG=iO+O761yUlL5XWMh^4!hIt
zvb*iM_B?yOy};hr-p}6OKEOWEKFB`UKEyuMKFmJcKEgiIKFU7YKE^)QKF&VgKEXcG
zKFL1WKE*!OKFvPeKEpoKKFdDaKF2=SKF>bizQDfFzR14VzQn%NzRbSdzQVrJzRJGZ
zzQ(@RzRtehzQMlHUTEKB-)t|k7u!qhTkKoy+w9xzJM25{yX?E|d+dAd`|SJe2kZy!
zhwO*#N9;%K$Lyu{-HP=oAz7w
z+x9#5yY_qb`}PO+hxSMI$Mz@or}k&|=k^!&m-aIIEBkBv8~a=PJNtY42m43+C;Mmn
z7yDQHH~V+{5BpF1FZ*x%A4fQvBOTo_9MiEJ+i@J%@f_a?oL)|Er;pRu>F2EA^mhh0
zD>^GVD?6(=t2(PWt2+aoHJm}tn$B9z+Rk8S9cPF$)LGYA&spEuz}e8*$l2K0#2Myn
z>eM&|Cv+kwc8X4|Q*wqoBb<@WX3i*Qb7u=@OJ}rG=aij#Cvh5_)EVP!<&1T*~{76X>_JIQ=Mr}lQZ3!
z;WRrf&OXjer`4I|v^nk0Y-f(s;dDA(PPa4Hndi)R7C8Gl`#JkN2RH{h2RR2jhd75i
zhdGBkM>t11M>$73$2iA2$2rG4CpafMCpjlOr#PoNr#YuPXE7daO@mpGR?mpPX^S2$NXS2I+p6k1T+sp0k_Hp~V{oEDY{_X&GMRz54Wp@>KRd+Rab$6hZqcoEOYU%YggesR%pK)!?r!03
z>5g{m+_GEmCT@e9x?|j}+_CP~?l$f?cUyP7JHg$~-QJz(PI7l}C%ZekJGnc%ySTf$
zyScl&d$@bLd%1hNjqVh8syoeXa;Lj9+-A4M-N&8jwz{+2Hn-iK?apyK+)lU4?RMw7
z^W6FF0(W0`KX-rk0QW%mAopPR5cg2`F!ylx2=_?$DEDah824EBIQMw>1ouSuB==@IO{ac^~Rb8mO=aPM^Qa_@HUaqo5SbMJQ_a36FZavydd
zaUXRbbC*uZD_4fvND|#z=
zD|@SWt9q+>t9t{zHM~LIn%-L8+TLJq9dC#?)LYkE&s*Qyz}wK<$lKW4#2e;q>eYA!
zFZ3cW_KIGuSMr8?BfOE`X5J`ob8ic8OK-GS=as#BFYy|@)Enb%<&E{W_O|iHdE0v9
zy$RlS-uB)^Z<4ozH`&|K+sWJ6+r`_}+s)hE+r!(_+soVAYxJggQ@v?klQ-R);Wc|L
z-ag(;uhpC7wR!E{Y;TU&;dOdlUbi>bo9E5<7I^!5`+56&2Y3g12YCm3hj@p2hk1v4
zM|ekiM|nqk$9Ttj$9czlCwM1%CwV7(r+BA&r+KG)XLx6NXL)CP=XmFO=XvLQ7kC$X
z7kL+Zmw1+qb$_70hCj$((_hP9+aK(&;}7wN
z`s@1Z`Rn@|_#65g`5XJ2_{027{TjdEhkoS8e$lV>Oa5?wgg?^X%pc`%?r-65>5um7
z{IXx~Cw_yU`eXd9{IUMl{x<$Ne_MaNKf&M5-`=0-Px5#0C;L14JNY~NyZF2MyZO8O
zd-!|$d-;3&js6sWsz1$d@~8VV{ARz!-^ZWnxB9dEHox7U?a%Q${7%2i@Al{V^Zfb#
z0)JnBKYxG!0RKS$Apc2>(d`DF0~x82?!RIRAM61ph?;B>!ap6#rEJ
zH2-w}4F633EdOl(9RFPZJpX+E0{=q)BL8Cl68}>FGXHY_3ja#~D*tN#8vk1VI{$kA
z2LDEXp?{Nqv%kn+>@V?e@o)8S^KbX>@bC2R^6&QV@$dET^Y8Z`@E`Oa@*nme@gMac
z^OyRM`%m~!`cL^!`_K5#`p@~#`!Dz}`Y-t}`>*(~`mgz~`)~Mf`fvGf`|tSg`tSMg
z`ycop`XBip`=9uq`k(oq`(OB9`pf*U{IC6Q{BQm5{O|oA{2%?F{Ga__{9paw{NMdQ
z{6GD_{J;Hw0ug9|4D`SV%)kolzzN*I3;ZAmdIi0MK0)80U$8>ZKNt|K7_1bm9IO(o
z8mtzq9t;fD2nGdf25SXt2ZMukf+4}sVBKK7VEtf&V8dXeVB=tuU|6teP!kk_Fo=RU
zCF_;oe4WXY``vfzC
z)?il97PJSmgE>J*&>3_E-ND>oUNApc5bPW57wjJ#5F8jB6dW8J5*!*F791WN5gZvD
z6&xKL6C4{H7aSj)5S$pC6r3EK5}X>G7MvcO5u6#E6`UQM6Pz2I7n~nl5L_5s6kHr!
z5?mTw7F-@&5nQRy>MrOLnrGSFZ7pF~Q)@JIceK0hbDKIkr?z)AS+iQEO>6J6>ZWuw
z&26$8^Te)epV8jdG}CTWsg+D^>}YSZrl};E+R@(FWj8QW6Eiiat4%5y*EqGitI29r
z$vAbgHBXFj;ApgFY{#q1Z7LbBa<%12uL;fFZ8I7>x@WaEc6aq^ucoYt>V^)LOjP%E
zsAQ5l*_kK74pZA_&1!6%I<={-E9j~stQ}PLt~@a(ceJ$4FuSwAy(U-l>eXFMS-Yyz
z_stV;S2RME?d{uhXpU(FOLK?jrmjYPyXF?Nv2}KHqdBdqwX4x?n%&vb+TLb%w#=B-
zsCPAX>$96%dUdx=w&2H*Mac*NrNBg|irs-XF
ze$+kN%hQgQ8O>el;YhEVE#M8)+NN|idF>rt&Dpp$wgxS2UEtj`
zwX3DQ&2O61-7>eawW)1tliA$f-PzO&^P;tVM$6R3*0%O8FUvfmqp`JXcF*Ay_%WDU
z#hMzXA=7%57I?l8lOE2L*F&BUNk^n3(na21EU5d6EWa3$X8vN4bS={oQ}Qd0AYI3_
z%(TKMA>F_OCz+S=r{w9TE;joZ7jBcAJ=)q?reIJF5AV{Q+jcXqc~)0<{tY8crcvvW48
zVoYuAo?dQ;mBdjc!k
z&WcV@6>ZOxU}DuRK}QwgPx`l-e&@f(#tvDBbY&efS#?Oa>X6Cg(@j2;6`yX^A(Po5
z-RzK^{w>j;S9QEg)$xLVk4?zx8J%8TrWcgRZ|pg=>l*S?c4JeX`V%@^8?h)e#pk#G
zd+atsayGR#wKQ5gL3TpT&Qr-wc~)y)p13TKzB=T(lZT~x*edD3f6H_FNM
zG{p5Zx1$jwgrzv&Xl?0ebelT6FeSQh0jj$x(+AB#S2M;^9e4WETjo}dgH9CE#tVIO
zEWu5s3sX^nE*ZaKbN?%aZDmUENa
zwdfO@+s#S2UfrRw+a_ndzPUx;uCpb`%BXPc!;2N#%T=_hF*USm9x9L@xLJMkqXFHj
zMU`9glg1QeG-qUb-`F>+bVhb%27r;>XwJ;54yB$|y{%i$Z?W4|z4eafb}KgqAm>!c
z`c%{yhh}@$T|rhrg;}5FmACiAa{vr8?k|sO{~l{q~u#9UuCZ0Joy&M
zw@ALqT*GzpEs}4Me2e5)B)<`C?})s;VU3zsVWCj#SIM?udV6ll@di|?UveS7HIPfd0Iy;%`
zG92`&_BOH$igowY+&ZdJt1Yal$$K4X-U~?cUI=T{EJd347EqF_vezIC9%x|&-$rnz17;KSgc)6F|IzccUE
z>?o+*St+Kqsk5^sFUGB_Tyq;MM_ye|4ZOyl!@hO@4o+Tj-^S%nROQHPQJo_{F`z0(
zPr(DK%IP^-%`NYN>ay|^{j18V)VzOHQI&JP^4Rk#`^s%s$Lf4uFP_hj`>69hHR+@7
z>7iL(UI*TnANN-GRoM1cw^c|tvyJo7b2HO8Kk^!S3iX2>N#1>O|h@am7nNeRaT`P{i`xn&Us^d3iVog4&AYp>uyWW
z(S)9(_R5imrNK4eVSVth?}X)>-oE^asvN2>s&c5lsLIh(@PMjZJtwQVslKSnrTU_(
ztV+%MS7oZ4%UaW+A~#uUDu?;myi)3He%L!d+f#|&dHxVRNTbuD+PoOc&gj=Wv|EpS24p|wk1n6)5Ja)Yf+5~W}ZiBhnIL@D+{q7-Z)Q3|$@)c45@#;9gE
z5D%N$IJ=52EJxQbN7rPuGB`)j;21&0KZ1&W1Qq=VD)tdn>?3lOQWK9*?T+hse;x0y
zQ~eOvQQ?=V@XIuC%FJJ8{xS`TG7XqA`IXtu;i{alVrVole*^nvIQw}x`*}F~c{uxd
zIQw}x`*}F~c{uxdIQw~cr9AfY@Ctv`-okK>^Kgzc4Vi*6WNHfRzrqOe8$o{T&jS0i
zFoOI>kRSWE!2T_;e+%s2!iWk#&MWqJf&E>mBfmQGt7H4>*uFaQt0O-Zps6XS01Z;M
zua52G_!T%_1&&vN<5eh=Uzz;MSjUD&tuuzcTri*}gK{SI_aR=Xln0
zJnK20_2geq{`KTvPyY36Z#~;v&+)A1c-E7DLjDQ)Cn?uYsj{Bb`fgx-8d#qO)~A8>
zX<&UCSf2*gr-Ak1d@WSwYXj@k!1^?>J`Jo-1MAbk{z%C`CI6KCQ}R#AKPCT^{8REz
z*&nIu57?l2yI^@URpo_rG($R?AstQFmdvNh3+ZTvbTmUcnjsy{kd9`kOwO8+4rfS*
zGo-@_i(i#Xhcl$Z8Peel>2QX0IKx6Im;?*5XOjT?B0U64Qau~e^$h8HhIBncx}G6j
zPi(WO`{;6pbU8!1oFQG#kS=FPmoucx8Peqp>2ii)nKLN*&kPFbf`)WKL%N_LUC@v&
zXh;_{qzf9-1x3hS)swDTNLMYSs}|B#3+bwbbk#z-Y9U>(z-ii)U%Rx>YD5p~dm5-)GXm}@~37Ahm$`wOGwQURx}JRvntNX-*c
z^MuqqAvI4(%@b1dgw#ACHBU%OA*ALBsd++bo{*X+q~-~!c|vNQkeVl?<_W2JLTa9n
znkS^@38{HPYMzjqC#2>Hsd++bo{*X+q~-~!X+mn4kQyeWh6!mIhO`VrT81Gl!;qF?
zNXsy!Wf;;j3~3pLvr%?jRh6C5)n#XNb=etRU3NxSmtCEAIIdNfozc~0XY}&