From b0556633720131706925395a09d65cd5b3201c23 Mon Sep 17 00:00:00 2001 From: artheru Date: Tue, 9 Jun 2026 06:03:40 +0800 Subject: [PATCH] amerc suite: 2D pixel tavern + zero-dep auth/admin/docs/pm backend - Scene2D pixel tavern (replaces three.js 3D scene) - amerc-api: node:http+node:sqlite+node:crypto, auth/admin/docs/files/boards - docs.amerc.ai + pm.amerc.ai (whiteboard mindmap + netdisk) apps - agent API keys for fleet read/write Co-Authored-By: Claude Opus 4.8 (1M context) --- .gitignore | 10 + README.md | 49 + index.html | 21 + package-lock.json | 1696 ++++++++++++++++++++++ package.json | 20 + public/favicon.svg | 7 + public/scene2d/bg.png | Bin 0 -> 117752 bytes public/scene2d/dwarf.png | Bin 0 -> 35588 bytes public/scene2d/elf.png | Bin 0 -> 24994 bytes public/scene2d/orc.png | Bin 0 -> 43594 bytes server/amerc-api.mjs | 258 ++++ src/App.jsx | 3 + src/Auth.jsx | 200 +++ src/ConsoleShell.jsx | 64 + src/DocsApp.jsx | 86 ++ src/GemhallScene.jsx | 1500 +++++++++++++++++++ src/ModelScene.jsx | 2926 ++++++++++++++++++++++++++++++++++++++ src/Netdisk.jsx | 104 ++ src/PmApp.jsx | 83 ++ src/Scene2D.jsx | 308 ++++ src/SplashScene.jsx | 958 +++++++++++++ src/Whiteboard.jsx | 141 ++ src/api.js | 29 + src/main.jsx | 21 + src/styles.css | 907 ++++++++++++ vite.config.js | 20 + 26 files changed, 9411 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/favicon.svg create mode 100644 public/scene2d/bg.png create mode 100644 public/scene2d/dwarf.png create mode 100644 public/scene2d/elf.png create mode 100644 public/scene2d/orc.png create mode 100644 server/amerc-api.mjs create mode 100644 src/App.jsx create mode 100644 src/Auth.jsx create mode 100644 src/ConsoleShell.jsx create mode 100644 src/DocsApp.jsx create mode 100644 src/GemhallScene.jsx create mode 100644 src/ModelScene.jsx create mode 100644 src/Netdisk.jsx create mode 100644 src/PmApp.jsx create mode 100644 src/Scene2D.jsx create mode 100644 src/SplashScene.jsx create mode 100644 src/Whiteboard.jsx create mode 100644 src/api.js create mode 100644 src/main.jsx create mode 100644 src/styles.css create mode 100644 vite.config.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95758f8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +node_modules/ +dist/ +npm-debug.log* + +# Heavy non-source artifacts (kept out of the source repo) +ai-deck/ +public/models/ +assets/ +server/data/ +*.log diff --git a/README.md b/README.md new file mode 100644 index 0000000..e879f31 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# amerc + +**amerc** — the agent mercenary tavern. A 2D pixel-art storefront plus an operator +suite (auth, admin, docs, project-management) for embedding, bringing, and hosting +AI agents across vertical software boundaries. + +Live: + +## The suite (all on the amerc.ai server) + +| Site | What | +|------|------| +| `amerc.ai` | 2D Starbound-style pixel tavern (Vite + React, no 3D). Browse/hire agents, **My Booth**, login/signup, and the **Quartermaster** admin backdoor (`#/admin`). | +| `docs.amerc.ai` | Markdown documentation space for humans and agents. | +| `pm.amerc.ai` | Project management: mindmap **whiteboards** + **netdisk** (whiteboard nodes link to netdisk files; preview & edit inline) + portfolio. | +| `git.amerc.ai` | Source hosting (Gitea). | + +One amerc account (cookie `Domain=.amerc.ai`) signs you in across all four. + +## Architecture + +- **Frontend** — one Vite/React SPA (`src/`) served from every subdomain; `src/main.jsx` + picks the app by hostname (`Scene2D` / `DocsApp` / `PmApp`). Pixel sprites in + `public/scene2d/`. +- **Backend** — `server/amerc-api.mjs`: a **zero-dependency** Node service + (`node:http` + `node:sqlite` + `node:crypto`). scrypt password hashing, HMAC + HttpOnly session cookies. Endpoints under `/api`: + - `auth/{signup,login,logout,me,password}` + - `admin/{users,companies,products,keys}` (admin only; first signup bootstraps admin) + - `docs`, `files` (netdisk), `boards` (whiteboards) — any logged-in user **or** + agent (via `Authorization: Bearer `). + +### Agents +Admins mint **agent keys** in the Quartermaster console. Agents call the API with +`Authorization: Bearer ` to read/write docs, netdisk files, and whiteboards — +the same content humans see. + +## Develop + +```bash +npm install +npm run dev # vite dev server; /api proxies to AMERC_API (default 127.0.0.1:5180) +# backend: +node --experimental-sqlite server/amerc-api.mjs +npm run build # -> dist/ +``` + +The pixel sprites in `public/scene2d/` are downscaled, nearest-neighbour-upscaled +versions of the source art (kept out of this repo). diff --git a/index.html b/index.html new file mode 100644 index 0000000..bd69078 --- /dev/null +++ b/index.html @@ -0,0 +1,21 @@ + + + + + + + + + + + + amerc | 2D pixel mercenary tavern + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..504260e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1696 @@ +{ + "name": "amerc-site", + "version": "0.19.0-auth", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "amerc-site", + "version": "0.19.0-auth", + "dependencies": { + "@vitejs/plugin-react": "^5.0.0", + "lucide-react": "^0.468.0", + "marked": "^14.1.4", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "three": "^0.184.0", + "vite": "^7.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz", + "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz", + "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-compilation-targets": "^7.29.7", + "@babel/helper-module-transforms": "^7.29.7", + "@babel/helpers": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.7.tgz", + "integrity": "sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz", + "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.7", + "@babel/helper-validator-option": "^7.29.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz", + "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz", + "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz", + "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7", + "@babel/traverse": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz", + "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz", + "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz", + "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.29.7.tgz", + "integrity": "sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.29.7.tgz", + "integrity": "sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz", + "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/types": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.7.tgz", + "integrity": "sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.7", + "@babel/generator": "^7.29.7", + "@babel/helper-globals": "^7.29.7", + "@babel/parser": "^7.29.7", + "@babel/template": "^7.29.7", + "@babel/types": "^7.29.7", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.3.tgz", + "integrity": "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.61.1.tgz", + "integrity": "sha512-JnBB8MdXj45cajvTuO5FmPlvFVJRQgvrz1uSEl3NwqFnReAPGwb8EanbGi4z2nRaqLzjJSv5/JmycoTKlRZxHA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.61.1.tgz", + "integrity": "sha512-Jx2g7iSjw4AOT0HDPHM9RV3GNjRXwybWtSFZiZAYUTjUwjVrYIwq3kBf+LnhqJlzXFAqTAh2F7IGI+O568exPw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.61.1.tgz", + "integrity": "sha512-0F1L/Z3Eqv8mT2n3dCpeO8GcTvHvVqkP5/t6DMsn0KzhYVcg+s7Ncl5DS8qjKYEeio6Az0Gt6nyBORay5qIlCA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.61.1.tgz", + "integrity": "sha512-qLttcH871ujY4YcVfUSShhOw+CsoTatYz8gRbHO7Bb92QH059/P0y5do1KMs41fY0BpD2x4AJH/gID0zFiqVKQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.61.1.tgz", + "integrity": "sha512-fUI4RapGE0Oh3mb8mgfvC1O2nU1RpDZUKnDQm3xB1Ipg7C2wTs5Kstz7G2uWK99a8S2yTMq8/P4uycwNa0nJyw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.61.1.tgz", + "integrity": "sha512-H5YrdvJaDtI/U9/emrD4b++xkvp3y/JvOe4rizHbxvkyMfRS/CiRYdji+Pl8D0brEaNFWUh1drQxgAGIl6Xudw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.61.1.tgz", + "integrity": "sha512-Q8CBCCQtDFrYtXoeUXSrnFXKOnyUhx6bz+SkL6A0E7V8kAiCJ5pamq1WtbfpVGhR5TSpXY6ak3avmDc5fHTyJA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.61.1.tgz", + "integrity": "sha512-nwnhk1581l0FBVellGcVCAT0Oi06onEA3WB53sf01VO3I0UPBkMH9sXONYME2K0ovXcNayJfNtHfm6mpJElatQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.61.1.tgz", + "integrity": "sha512-x5Xr49hwt3hdW75UOZm3395YwwzPyauktslv29KpWL/T+vVAzoT3azLcTWv0eMciBNrx+DYjH4paehHoLpPvpg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.61.1.tgz", + "integrity": "sha512-unMS3H73DpaoPyyEVPjGKleM/s0mkmsauTENpw4INQY8y4+IuLNjkueQ5QCtC0D3N38Y38yhAU8OoZ20S2Tm6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.61.1.tgz", + "integrity": "sha512-zNZzGRnAhwjFEYmvphJRV5XaQGjs62cCmeYYHUT//NbvEnHauw+I85nGG+SiVg5ld4GX8D1IbKIX+ozITQnhMQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.61.1.tgz", + "integrity": "sha512-LdpWGL8X209B2SIvWjqlc8VZgM6PKfontSerGepuldQmHYrAOtnMCXeJkxXGbC+PPZVOuu5czJo7fNV6aeW8rQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.61.1.tgz", + "integrity": "sha512-EC5kTtNaNGOmbMGqar8dvJy6y/hg99GAwjfBz++pxZhQATXGcRjd6c5en5wcbru0vkRmiMGsQKdMJOOf6sza4g==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.61.1.tgz", + "integrity": "sha512-8hiwp6D4acEcNK78I4rP0/XtS1sknWIAMJBPdR4l6zUtyTm5KiTDr5bXmWt4foY7nAN7AThDHgkLIEZOWKbzWw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.61.1.tgz", + "integrity": "sha512-10dh/h/BqA7DuMPWSxkR8uks18FRwnwOEqr5zOTEl+NOwP/OMzKX8OFR/Of9xxDA7D5qef1Nzar5WDD2kCCr1g==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.61.1.tgz", + "integrity": "sha512-YKJ5lg35DP17gcAOggnihe+APw9HLyj1Xn7gsmGumBJAUDa6NGXNixJzmkWLhcK9TOuuyQjdamzvJefkO7qHZQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.61.1.tgz", + "integrity": "sha512-Mlil5G2Jj6a7B3LWGctg+XPL9vdXYuzCtNXfxOQ0nPjc2m6ueUktocPGH9bnAM0bNRKb/bAWTujUU7IJQdQA+g==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.61.1.tgz", + "integrity": "sha512-bVWIOIk6pV01p4CdUbPP7CJ/434z+OooYjDuFcR+44N35YvKUC66G8MGnvcWx5mWKW3g61J+t74l3Kj15Kwn2Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.61.1.tgz", + "integrity": "sha512-qy5pBvZbqNFheBz61R1rzsezjm0J7O2oNGoWtGoY89SZYLUfxAJTBAqDChqAIdB4rCiIbi9nF7yZ83GnNiLwSw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.61.1.tgz", + "integrity": "sha512-E83TXjI4zm0+5f2qO+UOudaCYIhYwpJ5jq6YCZNIZ+6CbfhKrkAGezeiASBL9ElxAxFsRS9ZhESv8mfnj6TKeg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.61.1.tgz", + "integrity": "sha512-fbWnKqVkjrJN38vNe3ahkbk6iejS/3b0Nt7EEtPpE6RBacZcGXNKbzfHN3GUUlXOPghUg0j6XUGrtjX9z1sIvA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.61.1.tgz", + "integrity": "sha512-ArMl38iVAbk0New1ogihQNY6iphLi4ZaRsa037gUzv5yeKPY8TD3Dmy4x2RNC1VztU/uqm+G+/RwFrSka3Oy2g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.61.1.tgz", + "integrity": "sha512-0mYtjHS9ucAbcATycCNK9IGBk/cCe/ma7EmSLGZdsxnOA8cjRIyU04wDpVAD9NiOfLUR9KTxdiO53uOkherqjQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.61.1.tgz", + "integrity": "sha512-gK1iCEPfpoSG9wfBihXxvBMi8ZfcWffYkEsC/Eih+iFENTaewvNcrEQ69lIOWYO5pePHKLHHO7nq5AILGO/HQQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.61.1.tgz", + "integrity": "sha512-X+zaP2x+j4RXGfbp/seSoRHWnPxzApilDszisZxbYH5C/jTxFhCtDNdPGZb9lJyYPs24wGxruPF7Y+sIXt9Gzw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-react": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.2.0.tgz", + "integrity": "sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.29.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-rc.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.18.0" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.34", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.34.tgz", + "integrity": "sha512-IMDedajPifLnHNY0X9n8hKxRTQ6/eTHwr5bDo04WnuqxyKw6LYtQywCuuqPZwhl3aBXMvQpJov42GLCwRRdQzw==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.368", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.368.tgz", + "integrity": "sha512-7RckJJK4uESJF9PxvfMWd3TGqIiieUTG4HxnKaKuIpGbcr+r2ZEB3g2gAhCP3Fqm42vJSzLfgab9eva/C4/XVw==", + "license": "ISC" + }, + "node_modules/esbuild": { + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.468.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.468.0.tgz", + "integrity": "sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" + } + }, + "node_modules/marked": { + "version": "14.1.4", + "resolved": "https://registry.npmjs.org/marked/-/marked-14.1.4.tgz", + "integrity": "sha512-vkVZ8ONmUdPnjCKc5uTRvmkRbx4EAi2OkTOXmfTDhZz3OFqMNBM1oTTWwTr4HY4uAEojhzPf+Fy8F1DWa3Sndg==", + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "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-releases": { + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.47.tgz", + "integrity": "sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "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.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz", + "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz", + "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.7" + } + }, + "node_modules/react-refresh": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz", + "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.61.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.61.1.tgz", + "integrity": "sha512-I4KW6iuRpuu2uHBLraZ1wNZe0DP7lnRha+VJ9tNaYVaVgKhW0aI3h4RYnoRPeql0flHm/Co55b7snEDcOfOJrA==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.61.1", + "@rollup/rollup-android-arm64": "4.61.1", + "@rollup/rollup-darwin-arm64": "4.61.1", + "@rollup/rollup-darwin-x64": "4.61.1", + "@rollup/rollup-freebsd-arm64": "4.61.1", + "@rollup/rollup-freebsd-x64": "4.61.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.61.1", + "@rollup/rollup-linux-arm-musleabihf": "4.61.1", + "@rollup/rollup-linux-arm64-gnu": "4.61.1", + "@rollup/rollup-linux-arm64-musl": "4.61.1", + "@rollup/rollup-linux-loong64-gnu": "4.61.1", + "@rollup/rollup-linux-loong64-musl": "4.61.1", + "@rollup/rollup-linux-ppc64-gnu": "4.61.1", + "@rollup/rollup-linux-ppc64-musl": "4.61.1", + "@rollup/rollup-linux-riscv64-gnu": "4.61.1", + "@rollup/rollup-linux-riscv64-musl": "4.61.1", + "@rollup/rollup-linux-s390x-gnu": "4.61.1", + "@rollup/rollup-linux-x64-gnu": "4.61.1", + "@rollup/rollup-linux-x64-musl": "4.61.1", + "@rollup/rollup-openbsd-x64": "4.61.1", + "@rollup/rollup-openharmony-arm64": "4.61.1", + "@rollup/rollup-win32-arm64-msvc": "4.61.1", + "@rollup/rollup-win32-ia32-msvc": "4.61.1", + "@rollup/rollup-win32-x64-gnu": "4.61.1", + "@rollup/rollup-win32-x64-msvc": "4.61.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/three": { + "version": "0.184.0", + "resolved": "https://registry.npmjs.org/three/-/three-0.184.0.tgz", + "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg==", + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.5.tgz", + "integrity": "sha512-KuOaNhcnGFN2zIPGA7wRmzF+lJA1sea7rHq17aiJ++9lzY1WWG6Jpwqwe1KNbRVPIqHmr8GLYx7jbrQcN/7/ww==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.27.0", + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..3f2ef0d --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "amerc-site", + "version": "0.20.0-suite", + "private": true, + "type": "module", + "scripts": { + "dev": "vite --host 0.0.0.0", + "build": "vite build", + "preview": "vite preview --host 0.0.0.0" + }, + "dependencies": { + "@vitejs/plugin-react": "^5.0.0", + "lucide-react": "^0.468.0", + "marked": "^14.1.4", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "three": "^0.184.0", + "vite": "^7.0.0" + } +} diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..aa5db24 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/public/scene2d/bg.png b/public/scene2d/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..ca31c01e4b358b83e031dd63fcb9a2488368a45c GIT binary patch literal 117752 zcmV(%K;plNP)#^;%QihT6r9YIHD(>^beEJ zWz^swC3s&ohri#p|0w7D`z6eMS}5dxFy=y+QlX6*VEFV6ORI=Z%y(TWbzv8x!Z0AMK zys9mc-DfG806wC>-%tOp>cf7Y{~$E?{oMOe64<5dzt4`1>FDFq)KzV~?6u#|7p=iZ zwevp&n2!6}@1yURh^~0;)8@x%Qs9MPdR0HK`fca?tM<$v#Tz62J0_BkOECM3dDY~q?gGG$I=at*L=pgt?B4UD ze!c*duVNf8di`N+wwJa)djD}5>dV^rSnK)`V|p2lU&XZlCxFYa`u>H0`UidO5OZ%-y#kzN=g)9?`B`2*_X?<7 zzJCYsMvwY_Ciz8@rEtZ@(IUYPa^+Rh`Iy`7NN6t@q3_Fr=S zRnJOmAeYA9uft2gr@u~z@4l}N%g1L(Wj(KC05ACdMXwjF(Z`X1zMt3kOUo~MUDdBY zEXMpYE%b$&;>Z5-qhH_GGyafXSB|+i_>X?Q%I4Wahp^)mDs2?o;;^}P0d?PYCZnBn zl`~`i`;Qvf`1NsAL%s6D3$B0RSfq#2tAONXeY!Niqi1{+ar|M~);`W0kNdO#{1>h5 zM>g~^`u6(;o|iF#@2Ab43Fz*4U$!>-PJdxAFZ~(Zu(=zy2Vv ztH$tA_SStG{n+z6djD}uUi*0Hb~`Df_kb#jU_=oei;_A5P{C;a4#|>1zJ4q@>L9b_ zEAym`AU8|0JK(wpMVB`4l`~K%Zul&D1yb7vH1^Lb4PTO+Uxb1(^tD`+-f0i2<9?~? z&fIGDDv$3H6nzmDWQMgv*n91zuf`}pI1pY2l#<)hJU3TSuAsY`#XbWaQTL!32;&AX zIW#^75?wN>Tm>YImg!@H%y^hDV-7pdxPrO8EQ&$;{*Kn+ivI0N99KO2ikDpR{t|N^ z&E1ur?Y&36@X>PR+y3<;A?m7TUN+}1W#m`fd}-cyN&m&PKI-?toOWsR(ydoa&I_SI zia>ScYNyR=3Pru3nX+wVr#mA6)_nVZZ$(kvzi&K%0?=dV8?9R3uX1+=w~RgsxJF31 z(>2|h%>C=iv?S?!G^3+M=;v!^>Mqaz(5#G@$ko?=oY!#I{<{I9U)J{J{rjS8Wwc2y zKd~^~{n)0obOR8V`}*H54dmtX@Z#R>Qsn;Te%Yql2b2A)%1Fj6b6|a!Msg)!><{k` z&5OMU)*om5J9AhV^nO2I{HUwPcLkIAIQ{PX|APDep!4+7wfKl#O=wXyBiPBW<7dzOP5_%1eDaA9>qYrrHP8M402oMnt^B z359(LZy3dBX?hUUozFW%9<$8;nWa6wyt<5fJsR@PR~Zn~<(C@ReeFn!>f%4G{zeB`(7fK%E$AyurHseeCDG4+SgW0!_zwo~N`iNQYuesFDzQi*M zx*zv^XIjdCvRUdfAnZZpSc14>950kuMtytHIL8b?M(@Y{-BB-J0=_SM?SSBw0Q~VF zWjwD}+5OAwqt^c8(sX~%M*;NST)&vL4ewvp&zJS>`vzYwuldezW(*NB0zd`@a(`%v zDEEf5Gtz``w`87tC1MAbOdK#_DCcy>DX#sJi$47}$4Ersn`VT^iWPzKwIB z*C{|e%L83DdfO4<4TrL2I#mVCM0ahv15ln*_V9$)>k zUCEfj=!Avw{V$u(9jDYTZjG0w ze=<80oqj8Hh?-SAytO z&wjD@Y@ii}@g;_vDOGn{-*L>1+m>?gUMKekU!bY~Y0N-%@9+NLMia5~b)o6e`kEp- z6oI6_?($TOs1){AW1k+cn(M20z<6wz?$OIMadp>*Z?2lsm%aLR*m=O!bS9%Wmzm)U zu6@Dh)XB>Nz{lCoS6yoopHf9XtKJE-v#tekZ6LD#@!=+dC=<>BMr-(64joTdK%f}*` zm-J&ypql@c`AuI-@4b9El)j+d@prQOxqrVCm2m|F?8T(rP1|o=El79S5jKG73;LX! z9o9L~T1>57w=Z_dK?$uPi3#B`A!7e~twPyN)?^Cxf z|1zG-OY{1YwyvVZ^o(JDo2<=>j_w)b!+!M96%YM>X#S%FigA1UjH7(+rTP8)405S5 z#CSo524wehzUpeJeAwoy`yCnu74$6nWy8FJ-(C_GWB`~QgelkTdA}t~(ptv4%TFbb zHI+uh&1R}%jfgWq>Zz3BQENkKa5>q}o(3})q%FNHKw8WI$uuD4no)=L7eD|h z_K|+YuDWXUkpTdQXKEJl$K-PrzrBL2$Isk(RBn5po$t-xC4Rl%-M!bY&~p_j$mrc3 z%H$;!2FY|#v-2wNJRnP1{XM&jIcCx??(gMaUI-3XzJ_O}b>1VYGN7K&cWGsxw_WaE zxo!Y$-Cz0)N;3MV{rV2(r2(u8LTLuOMALC+RAs(P#DM9kakqn4&BW!`i^9alVTF>{ zDwZv%^uopX*(S>%CjZ-QafBu1eZH=wA@8fpx=S`Y+hvSAW9GfjP`IL9x%A)NHIn^x zEPc7;@Rr^CM*Y~i5Q>C4@RXubm`q7l7)hAJAbP+ozwNN9JamE3rKDBT^aFFPHS zGN=)HT!mk|%d+$Au}n~Q{9s$l{pq_k9@U76NWpi#yovT+FG?avHaNL_-DsRz?%NRw z#`7>9L)l;!B~TbZMw3y8WN#k#^6T>W9dA#OBc-Y`n8(^$F zOm_PCB2&(8pLXfvMK~a%@fI^=nYUhJ8!h_I=e>1!@jUMRwsX_yCzng5){YVkS`?UAe!OWgW{SGbroTfYw{S_j7XhoF+XW=`dUS9`J#u zUA;;7F=%K0MzJI}rAh5CEa0Rg<}%nv$FD*jrhlIX=QVv>HkgpP8SHpN zcWo%8=X*WcTY&v{!-S4xU6s7y%l6)9al4b1`ly+JMg&Pw%U}#G`x4Mjmqs8vsOf_4 zti<^3c$~vd-f2DGGbkW%Dd|E-?G*yd_Y7Ej*~!tHWOOvEJ@YD($sUDCW)(fy>}}|> zxrAK=>er*cm;rhQlHGNL4bQ!_iai4vEx{;U>e98B`NHU@+?QQk8_nzJyZkw5@l+3E zFcg|D8GA!0Ud-S1Kqa6$N(g}L6ose}G-8e5W6TV5Bsd6t6iYvIqwlVmfgO6k>NVUk ztf7(JtVXZkB#lc&8C&yrA2W_;&p;{#Tz56xvB^V*28Qos_q&1_Jy>dHRwEJIj@ugb z>(Vo>o}%4|5gq2Y==J5d(oHuEWb95#pLYh_f4{dGis}W)UOMiZ7{(G~%=S3bw^vp* zPeKO7Au^yqT-ijW$jR>1?9azoTD$^2`@zUn@7d*o{S5XSYE%G)VZz62zYiBX?&cR@ z`Y?{+zFm3}#%7TIStDQ^+qufDjh!c&L9nT3bX`l-m^Vs(S^=gWtOueRB$D#G?9fdd ztx0cr9%1Ot82Vy6qi61b`8bEZ0JZG3u?uQ1oY=hScgFRCd-k8b(@dHE@>zG+r;Ojq z0LlZXQm_ehkkZCUBPCTjuhKxnBl@~TqA`(kknCo!xy8C+%KB+#{XRa%J*gNESdQf382hTF$G+*1Mf`N z5IN8j#b^-=qu3{c^hSriYZ-ICE*9CqL7Q-ow+PDJCZp2&!gr?-jH!!03~m{;*81TF3faX3}nB@GWup8fOeS5h&To> z{LZ%BX*1@I7u#Ghuk8B;R3VUp^lhG~F^z{}ZpojAQ4iOR;ij0ZoS1%Z>iB`9`+FeG zJ>QXjdyp;nrRP~>M9Ty5U8aC?uZ*|Oj_FO2K>_K_hMA^iY&J;yrSQ0fKZ@-O8VzPc zljndwQb_ua?E>B~ho{Vw84V_PK8MYeUm_zw zkO7eP9S=n^RTZKt+isf)Z&>f)o?VtbSo;R1HMVIESTuG}jX+Pvpju{N4E)0*%eE-q z=E0v<`d@w@t{&bElI0j{M23eHEoi_XMPdQpL95v>0b%+XNZ-fO_v{oa{VdX(iop|c z#e<)FWHXcSc{u}hatXLHPUOUs@Ob<12dK^3dlg;49^n(jDVy0^VhpLRe1nw%By@+vr@@Eu-Ym0ssjPc%2^%5Zcp1iEJIw#US$8MD zC$daTaqLmWUl6no_kH|eR+Fb3~SSlTag!SsH)d+^Nj-s^G0_dOHKdSy?r#nT%D zR?>2YdkZ|@#&+I;hPkB{W@ z(e(B!o_^UWGd5n=5jf^&maF>qt{6+{`_5jFY)dQs%-2LsP9&ct*$NOd*!F4>JW3n^ zT^W~%ByDep=;$R>V{8I+jSTYYF1+@0G}7~hB$4*2FM?>?~kf>!x&@t7wXiCX+6 z`%jh3sI%!$V$w1T!y(-lb$FhjgCkoC!${X?zlWr!88UuY5h{}XR)(>qM_z8V-w2H^60SFY=+GlOXn62u@G zToA<=lMM4{vhAUn>+JA~o~sAVs+g7$_H1(0-=bRVF1^Swq2sCP`>P3$Lb zI|9M6Eo{6=^VbGLHv-?N!?n4LL#8U}fl)HCqq|;W?KhAP#NTt^0RYOp?NZrzYmC^v zly8Qa?U{%Spgji4@!#G4mH8ilHfaLs_X2{&4q7y;us08*LD2#(f|J29=v0UTK}Sp{ z4_sj+BaG+|1r1oSfFWocLEU&(wC6^~nB zwFC1vdFWA->7yrE8Lg#Ajvh*F$NXqDLWsQ^x1WF>_#}a~&Als*J&;~N8>>5mFK0w# zJB)I~6lA;yhPfz_54|vODcoUT&V@c)-*?G&F(Cn+$>3E$pyW^3yo55^d;_qj{UDNs2NA-KbUkcNG%=0h0T+dU5)mrs8Hy9Z zW>bcT-sI9lq~y$-z8~o!nk8Us9IBC^fnwK9*BL|vYpV=&#blHFtA1xrdx>)N-Hu(o zH^L6IoS2IApp+sKhDK!XzaoRc6=evqGhUoW^J>|=af~dG3 zVc%MQH{!`MQm@QtK8js>cWKAOoF6o5s|Rx80O)zXC2vF+IT=U2+BKag!J%YiYd}+S?wB<8Gyc{$>yD(VHmYTvcyOA7%axr1nn?l^8SJl zl^6rgI1o+i8NtUu@2t#>)s9kWb#D@dfwA_CWfU0_p*O>gr%fq57N25LutF*JE{X!;8O{PRc+WY-lk|wFxY72l4 zySMazxZX+jvZZ?kjRjDL2~@@+bQ1l0FwM!Uk~vQ7?<)TTq>lz8lH=+|;(0NUv!f#C zX;DFP_*LP`eMEv38%X+VjY-@uDj_?w5(C_|5fzRkjHX-$peRXxX1quOtwNRimYBm3 zi7>F4%deDvn;}}XCy=BTbIA#Ul)9Na(AwJ=1%ojTjR9jE&em+UXQ)EdKrxkzF;r#I zbHj4^QDaRBMX)3S3u7=KX$r$e9H4Woek;3P+TI`7Yc#`i`(-X|=)k-Sy~(J(oqIDA z(w@n1$(C9A*^e{dH;%V9?9Rt{DF(aY-hAaJs*;)SnBj~~QM>n+_Pr*}sxf(NnFcCJ z0P2gN!N3S&rp>gmdzPAV-WS2TqnN z_Z)e~5M#(a%s{HyYp?rEc|=HM#&!v%Z`%#%FNHs5E;PDW1{JL|+N(JIv=wPch!hYU zztSg*MUfs@DFAD-WoHLe0aKx&8%;$_gd_$eEtU{_mBIjG1V=KSd(Bd7PdbBITgEk> zd`Ug(y>+4xWw0JcEh|WNGrY!Tvhn)tzbsjGWdIwMB)N{m z3;WHt_be4<9l?oG8|mjX(QtBF`F;$UVfE&>?A#gciKGSEY(hvg7B!;UrLm}?)B{K+ zvpAUHMx9JJto=OKX4o4+vzbE#la0vIPnz@+DM$w0K})K#+*X`%B?-t1y);_(QfgX; z{>UyZ^n!*A`(|L!WrO6aWn^y5WAqV>#=(|P5}L+w)#KNgP72T?yV+hvvvST>#2E3> zqdi!FGlmdiPl>&8yyqChqz46S=tc0@JApEJ3YR)*u&5X`c6n38O!ySV9QH zw27cn=cWTHju;c@8U{kKB3J_&V2owK&QS34ghNetD3;H*j`73vg=Sx z&ocs@Ds3DQP?7A%4uUK}#8KY|8cx?)2DQJJ+WIyNrx<~Gzpf+sBa_fB=*f<^eSa?d z=M|A#=+kM_qsPxFfUw)o@k>U?yZ_txwOiDL0kp@QQ-|-zK2i^OuT&;6@lr&j62U37 zjAAhR^~j!fF}*5}*_4e8fr$4YHD* zW0^oJBZL@xVpEEJtf+SBS;^U8hYcPhF{6ekv>`BYuAkVb%KmFC3l8yyHe* zqD46o2kU;cS%@bC+hnh3-ge;{{ZpGD0P$2d5Af)j);f6{gng zJa<^|G~dpQgt<$hda`5lPU9*jGwt_Y(hw!nxMU2-nQghrsPr0buO;PYYBsl(WP{R` z($%v5?%MnifDi*0n-#To%$#z2?l|2>Y@S6C&6) zL$pTOkURa%z|n(3zSfL-(o4Si*`?jgj)v!tOJ6A@*3;q5t z6LOigj@FOe-*@m=6Ht2+$k{AGMp2Ar54jBCNMpNqlz~a1gC-TD$B5|#g%Xk|2wgUg zL>*X3Z(EjemSTF&kZW0LIiC6W=RgzlLh2w+@?$@F88-g#3@9!8SwthYxp0B(_D^J8`-k61RLWV>npR}~E{ zuSv+jQ~=&)P^wIN-xYIHMyUcu!?xXhncO?gbRRXf6EwAz!jAfg($rT~njAac1?|&H zljNGgOihYYmhAP20Xtf=5Pp>SeFNB z1S(@#$H>M9YDq;zf+}8wgWBLm<)C6Lv@&wq<#i}RoC4b@bRlB2*pmg50eTzJ`CNm+$Z8|@2n2`;`ioxbw(#qrx8Cd$r z=WaK=`y}*+?ZzbIa$7u;2(^KkBu?oy(zPo(Q&Cx=aSkyxLCAJ6i!+8=x2(+^P0B!) zGBfv75L=A*iq)2R_W-1#uE623#*(ntq#$5xFve2Z1;%eU?K*t7W#(XN1T__%8W2kq zm$_(*m`E+)gA&E!qvBAQW=!Z5C(B;^rMZ0CBe4_MYJ6 zP6#pPc;AudRed7t>_Bjmz0Vm;OPzwE@{r)XxBHH3dKPK0Y+@vV%vd!Vu1lNOW#d!< zF(b)-?RuyZYAb!2yCke62`t1kh;2yP&%CzWs?%ocqQNV4Q3)gyQ0V)dfZ6WKiblu{#b;#zf5^z`~cqdSsvIa7QAE~kl9_JhcPvb0wLW^SyRn%lA7gOwNVz>s^ zn=!O!Dg{s)YdG6_yebFP076Dew2x%rB7sk_Z8tXUYeDfbP#a-VJ5Jl|L=$0Zgxc9Y zvIL-Vj8yB)R5h6@<_?x#=z>ta5bf2q9^o!yGGOEIvdk zlce}fOwXu|Fc}F?WsQeDBN*c_;&9g{HRszcosY!e5o=gf$+j`6QW1>{uN+ju%11tP z-SKo)Q@KbCn@mv2{sY2cEqo}ES!I}5VH*lZRU&~9h4ZZ^#uiYz5KxV5eZ;6Iu*7Q$ zOpj5svn;8^KBmkMheEf-gqCad6GH8fuFIg4WtQyquAIdXnL2}3N3M*eLs&6=+8zBwCm?HThi-jR7xHgKRVkaP zGDEmYF|!n4EE_QZSjizY(i2?SydsIa7i5k(xk97R=^znG-$m&+ZvkKOhzjVG{&rak ztxU3^O>EjwwJG5+g&|8H7UVU>K3Yjp8AZJenTQL~dleQAHa^8qKHo-K()ddfhsgsh z8^fz)r@>%;=uI415-pAr&9qt8u6Q*vZ^>yT+4N(QZLv#)oy-HF$iD?Nb#Q3tAccwM z>^c!#k;0?)YdFmA(1$z?Lv~S5J7(veajk(8zEs$A@|r7^2sQ>{p6l|oejP`W)ujjz zhS*}z9lmSs|^Rh7ybG)4l@I4~iyi3T)*)a3Dja3%)0|SL`Y*d4aQW7wqi#J8=M+LU0Fhm>7fF(1s{|B1K_;#D8dikg7?-9 zuN}aHbIUr}zO#MHViC3;=FTy31}lQk-utLRrzy~Aia|^PVasy6PEwt*XzY?lU!bWc z98IQ7tWptqy53S5!@ROAwV}q-t)7r`vk>*H+AY_o6<(%UQZ#Hr>2CA|YJviC5SEWP- zFoGQD-AjBW1~_Nu2w0o?*To$8uV8ZMk13Ln4&@pPvn`SYQq;p_53RG58%XxKgG#8( z5CSBm=!2l6P$-fZRZJS=vzvu}P%@r%7LnJkJrpC&_eND?WwS!FLE9qE}< zvKc~&!*qF0BMDTaLWlHqAd+LZ0D@$*Q;%_(#)_1cK)g>7A%nCgZ3hxl=p@mbHG+m5 zvC&JBY2wS8^pZM*wow@JV7`IMnO+;RW^n2lW0Mv$lKy8^62qe^U5re!q`B%840It0 z7cqE@v&5}3scm0CJBrCnG&!~nk@FUw`az@UrBG$(bMG|F-_-^hn>3(pAek!iyiY1X zEM16*5v;KoG5Dxd#^6*^meh!)DM^@{*a@@B;<2>8rSlg#`X)WoiNM5JHmxVd6oO$z z2-z+mS-SYdvEe~GCnB828n2!^*QPu=+fbQg2aO713@19{l^d@!@18ODPk6fQ(jr7K zYI*?iNQw?nWz%&S1CzR8v1nLSk#*aFwGcbn80qrniXv3BSdut?79C0?b{%4Bw(20Z zIFx8BDpN7B4jBY+fA=F8;V+~DYUBxrer!O2J=#Jt3)CcQ0hX-XD*yJ z-B+ASz1=hugyhXun_~YgC|Zb-p5v>?=-eRPiMNdkF(j}lQ67cZQRxeJ43cBA4;Qc~ z{kKN3`GXHhBWja-mfH)*statwC~h$W@L;A$8<{MPi6(j~>Rr^~+9C-TAc;bsRcE9) zV+JQ{o`q~Sk>R^i;3T&dNhqA*t`A@b==wPufR?gGS%@mnEdXhyNWKFDNSa+S&t&i) zOSgIb+Nf-!QdMczqkuEI6V{jN1`KPB6lrhBMiO#pP+=qtUUMsw=WK}VtZa!UP(p}^ z$zgj1Y$Z##fI4N>d3;nFCpZJkE^u56l}$pz)+-lnVC&lfmUXwr$DA}TX&h-n zBd+Z_EQ*gqD3q0i*a)n>@&m73=XBF>5tAtV)y*e3j2Em|&uL7@yh<^p$=2ssOy?}m z&pEY+)b0j1ZbjVs0YN(+ov+wNrPJgY_aP$2as6Py(Zo@^qyktG8t3sEu$5u!p|WPA zE-7jp7c@8%sDO5IK+|nGXlg?AY@#6AF<}eN5$z$H^$89TO(9mQ9kr>zf_D>Q^mrAl zcKGHF8Q!}m&wo*s%kxbp__M9jSi>tbq4f!l=Pog5D}xhE^V~&EPLEE9$c>Oq z4JCZK4~Nnng>3{Vy-=IFYw}@|gWQ&Zx|mN&6hWGMCxV*1(JAqugVbvC_z=1xU{4grE`Q zgdaVQ%tcuS$G4Zl#w%MQMm$p^7;CUO1ntyEF0yIU&1~Rwy`l4p#z12%lCzMysI0x= z{qsXs-q6&-qj;YW9z21Y_qas>w`C$5Hd!ohtDC4C)BSt@Te=V5q5jps&$GwBN9V6` zcJUDDI;K`q2$nc*UBAwOi_{j-FbZTBCRNR5+tP+);j$(AP2Q0d$U@R`Q zSm{`GaO5279JM$Um}^Vt4WU`E^-H40T3KkErjV8_6$PcYmz4@gNiEKfff1l5FZ(ENSO)1S zZN~vPiX;|ckZO@ce3HQD!&TWx%F+uLD%_e%E~cSq)L!~5heoOj&ZKMF2wjLh_#3mA z13n0J1v>liw4OgOFvR{?n0&8g2n#9`T2x<=B!#*BYss8S<{|C>yY|^rT<)WQPiCx; z)}L%Hu+qodT2mZR3HVkawb8}ouoIIu^E$xPfzuS`q-kN24cTO`x(<$>>}DXuAzLqM z()#Mg&={8(Y1Y7;7+j{i5F@n}#3d=M3xl>4vMMvln<3^&KG{U>9T=Xili)y9tSV2} zN|h%h+24y4UTn6S{WMt+DRZd8N{gnLO(U7nOl)2Y6|CkOw3!I3CrTys`|+xleOFchDGvn@$dCS#Z`qrOJ}l z#7f$nIPM%A@|~sOa9Z;ue2(`vKZO0+A7}lW{{?QgY9mAqSYw#lvO&@o37RB{sV#QFQ%o}_Zd*!`jk2MpE*D@SZ>9_e zC4LV{4l653!Z4DEL?k%}W>usy$zIw9%PfadZ914%X)|^qwNaOd0ffe8Q-c^PNg7IR zz}aM@-G*d?nwUtyu=K*ROPkJ_B8f^521UCmU|N7lwFISWwuz=qmOT6rFns1(`u+W- z^6H^uCV@^3HUnZxHBJ&s+H}&}^MVRKD(h&t)kL~T?+|e&MQY@|yO-jd`;qm!R$@WD#;XSo&zN+B{k}X$L94LIhwL|QmVT-Ny5X07uG@9 z_(WemLM0KSAu(7<(E&{c;HgWt_oJHL1W^uTOg7SpkAj%Qe1n2mWt-QcagyVcA!H4t zFe-t*c!)TgVz0GS%1X?|2}~u4$)X8_<~GtPY!SYBlGetX8e;_?JZ)?Vnrf$xi{f}9 zZB%?rfK}>CM9n565}1`Jq+&~tTB1fuj5J)Y6H_|(32eI%d9rDUYN##z;PsYg8^bp* zCPV@UjbYh(E<#`(lQgUX+Z>LzurRF*6DJsAmVmPc(O5%WEx?}v!o&*iu7o>BhrEAY zF?BVY=1V+S{t)t0e+m09yvoII{xl@AK2Q7Myo0YNH&O4PMTX<@?Mo?h*d( ze@-2qvI+sjF*|sbH;)}oHbhm{+by+CT-?Vv7~rF_4v}Zuju1PFS985hSx;gd5+ja4 zlnR$4(b9%D5Ix&Ym|NF-pHl#LgETi_`wWBUpcYO$N84_b-Ovc4o_cW|?;Upg3}uR# zhK>#m9TQTupe`z>t!Lvb7K5_}YqMHDneb@21tUxZ>PmSQ6pfL_4rYS$7K+0wZRR2o zCd#r!YRZyMsokCm%z&%~uQfrl$hB4)6O+!^CYh;tVT;YKI9+<_MG|lnkwr)h4OOOA z6LCsby)=O^ltBGK!YcI~l2npohbi{MTzQC6FCwedInYp5=>oiSK1D*C8BuAYfVU+b zWnB7R+O|XyKGm%<-OTNv4{i)5*Ql$`WI&*+av zru4Z;@9E`x=_+YhgXpaNSd4W997bvgIXc1!BB`!v68ciybn2!}5gfV&?NEtKUEpz8 zB$`qBBpFpt3@f|_%2CuME3V05K_O(JCHK2HTg$*D*W>lM(26rAmmy4*tU^?*g+--E z^n7p;coLJ{I;GKCVob5e(}P2-UC=#!3ss?UunodGB!5Yl!E=(s;{r)Am<|@OltmT` za1L73#3jwbkO2AlHkpqQ!#1z=d{XhrBSY<1ymbOImmt_=A#PSV6w5Y5&btmPaOmK$ zmc9~OiSBSV(S@^OFvNayZGv*4hQ;)d4_0%;RJ8Li^Jw`Ba{pgt_Lp8IP7JFz{{q{$ z{*T<8-s8hH;V0j!oMV$x>2nvppzzZz>bnDmarO$RZVpr;AEu5}`K^nz&}w!K|6)0@kHmpk-1w zsMqAc5})d-lB6hG3F~%E41#wJ!8Qm=s6GbWpW0dn)(}ZnKMYd>>fG8gS(A#ngaH=SkCP_Nv>w1UJNNP#ugE;C>mij1? zvt~DUkz|G5JtX~XQ6_He(CTMYg+8sh@ACkd1(>h0>!PXTo+1R<3=S=d38+dhMH zWev3%U`#}rIFrI3@w|H)sU&F(A%b&;HYl$i1RkEJ!Ef7uuHU7R2j2pVQdan8x?;Mb`3yUPTW^`ylkBA>+cH5VqPC*jZjv|G3eCb{T}1p0jWbrUqFX(nvX=Rx zN&Q#P)LDFhWe7APU{XDTN-VVjjS*YbL^Z_Ff}PO%WDKt>!?H_7VL}Y}m`n%sn=@@S zGuo&rkUdM1GI*bhC(`Xs(^`*weOu%Hm7w}vg?#k87RF&lcaN{=g|8I) zrJ74NYA;!{JCea{kbl|%MTU^0BE5>_kh-!E`8yfSelkgv`QHMAE!!HwV0Wtf50ba` z(xzACT4UKpSa%mB6}@nu)V4E*+FDHBdnp+tnNX~eR7fb>GLlE#pfPEM)(A#o<31 zYiMZE7&vbO8=u(h2Bnd~?2@XVDSzy~k`fWOX^MwE;9;Q-1jM>rCS*?>;@}aF!fQUNuWFDGTY{lQUEz6DQQxrOX;q*vQ1e?ZpJ=rnGTN zXBG%GE%3^5i|wB9{_`ccDKU7021*`rRB&urb;4285JW)(wQitth_l#@K`cn67?(c+gpw zR5Klbt`CFh)x+#P&vBNiYL@9GS1Y5y``*sDyP3JP&y+#WWz$J1ch*C$xZk|DRE>ibR+h&uC_f zv>C@>n8)2a*?Naw--A9fKy;Y@d~4rMDZ0^X7!1dE6bZBRv=lr^U_Qh#7pcePXQqn$ zz<5G@>k>Yf2@p zO)fSb0<|;LCIQT*Q=Yd;FR8Py+b!ws_nOs=^eK1 zGum#;X7LdF6Nwv zW1e;n^$}}p2m#RxoOEor9$Vew-mCXmoxa7Rbuwj;6?Zj)dn}XL-^J&P{pNK2O2trsASqV+c&@6d_?nczUtL z3T(uIvG}g#$fcb1C)?25fY2g&8Vn}c6njvU9t_KoGzG%?8nq+vBdfqxk`WzA_9aya z<@&P82UyCsG4i3RMHd|iR2Pcq-gTK4L zRB3fro@8X_984w10PMYlC=B&GORHMIeqXX4_(bup_w$3!_iyks|{^r25m3Nb{K~&u+mgQuy;%q zttYShjXL%*(uJwrnFZcCPXe1K$BK)v3=qBNmg%_JWQUsy^V-sOfi4DS6}+)f)*e2* zfNd@|BYDiu#(=e!u2arK#pjP^oIIbPGNqYaN5VIWt8XITQ$AdNfd`Y@oUGyDdx~3F z4nF%+EZ_gTd~P!1gH_9g-r(%wJJi)R?kp;9=tU|Eh*C?QcuijEcTSeX(53u-YnfIC zD@o*jW!~^;JLBO=18k`|!`d1XB6ZbZ#i3$p>W-)z&Ntu|U*e6~+k9|(iek|aD2@ha z9gkKkIA3wpSb`diC6&5UWnyZ&b)em>F?EaQf~vZQeeV~+EilGV$p)*E5(OrPE(Fe7 zPa7i}walbs6xk$Q)Kg*Raw=_nw124~~3}H$o zUNo(_Vd+y*6DK()SLmOa0`YTVhQiusdP1_@Ftyjl$ix|@wxLzWiHFz)h+RrC73ss6 zO2R-bFtJH6@-ev}z0x}#?;ItyIcQ|tMH<)e_PO%<%n`h&jhZXj0AE0$zYPJ@w`Yb2 zYo)`|ILoAh3ZLRgt#WJ(TOaUJv6UIC>MpT;ix^vOPjaCZ6>c3gJU-iSYp#6n+$C>- zB*_^OR_ZXu^O;45Mw?QbNqE#4;m$SXOGf$XGsAB^6&jO5J)P#L9IHHSE$&%pFt{8j zZTX$&6|XD~dH38yt6V?6$H{gu+;%T+?+O zt-D31kGON~H9mXeG25=gVu{hG@RJyMxbi$YTVo~Qj4*K)XA=}v)^b!ie(!XGQsqz# zhnN%|RJ)3x0=7oof)0;rNR@cHb1te+@yg-bJUTnYI0)UArkbF>W!BUvjt=nQEY&U$ zL*pu(s|j(#;dP;fiUJ^AzESg)22T!rINqah|4F^tG#u+D_#m5wTsWBu6mnP;IWA=ZnxA-g>8*5nl z66>M4-b1q6Mulff#fL4GDAi<2lT8rsuHexlK6 z*y;RycfZBO<|)&9%4&1QtG8a|UR?6)n=kU2 zd)MjKCqSDQHxba2b>PwYhRQ;WhIwtNT{1d1RmFKc1IhK=geH-qBV$B=Cc}ni!s7X1Hl-U z0oDCE;F zpOU<{$=P8+EYVCT0VXkaN%EBhW2UI6rL3DqOg^T#WC)3-(0o)=tY@#z$KIv~$&;S; zR2;?K4&c5-8jIBT;F?6K-znF@zXp04cq#_-@Kh-s-HRkXGE%j7;$Cvi8 zh@$|f^r=YK8MAXF5XIS6)bbv!`*Gx~CvkmIl}Iu(S@B2#9v!^oCQGJhi4G{$5sC#s zu-37tYou#wvss|^EitZ{xfwC$LPG!qL_2&4Oe%wqhNuzmBl9}YWfQ~1By&xXP$ST| zR9&hK$xJY-9gDibtK)fRIoYIW3a{yWs#HTk&=^>Cp6ToWi4idYXVZAsA!3cBg8@aT zo#Fb-@N6wq+2(vud7?9%wh3v^H`{dDhrl;m;d93p@g7Bco9sFmRzW#x;G|WSI$_(~ zz|8Lw&fg)3;9P~8DN;9xu~|_{p_N9J3YgOIy`||Hry#T>Ch)n#mK(Kjwso{VFt3!U zz#B)<7$SE-b%scFx+& z5dQ%G{C&0uKgSch;@aPO#>w#^>z{u_Sb9|NGqcaA-JEt)v-FN@Q7qBSXko?O{GsqaQ#u=q{ z4x-1{2~id2Citj$^_;6?K3{XVXfa`h#S+9Z!Q-$&WK5@^iowTJ`!#`r%{IRdG}oCefYX~1 z#x}4lV`!0wvZAYTh?kTcYg$CM9$bqhODHCQk=C7oIotHapr%RJ1P@+_zNL7rmBBtG z(v08-Mv0xhP8&@{m|Vw(4R-rH-@gm4FjTrKJ*GIBP>7{kSysz;=BJEDP%THLr*W9P zRxy^OhXnSBkj`_;2&Z{=Ogc8*n51ymR+;Mt8`hlTSalr+k2R6n2`6nxc4G~B9n!y4 zCUNAPGzowLk;WRjpg3!DK7K068Da|TdS&XExP~)1;$dr3xlBA>xA+k9sTqMy*Ag{w zYf^FEbr_S(Q@!~JlXLhTmgKy;IW?U71+FouUsFqm0a_0e0mGJ+t>}E9b`4R5-#t-& z^0wiF)0WyP+aR0=;rb-4{4yw171mbJ%&7Gio0Sqni7_N zMS8L(AP$f4rNcELR-Cp_i)UgLm4;8>-Ew{!`JK}gIX!nSN#Zu}w5xb;X|nc~oD@-F za)du^?;_?5F-xpz2<|5F#?R5N*7&=Bj`^FP#DDd-n4JAGC;ld%Sl;G0|JoU{0<*Zs zq4_ppQ*&Zo=d?4NpZq$1^7D@8PtT~E$kf$zam(ojo-Tc{CgD{%GO0A+%vqk8*Lbdn znA(9jjIC3h&$tG4s8orkYhW8Xj5JKFA!>&)6+sTE<2kW9rVA^~_5ml8PjG9|aG_74HJpc-ZLAg_9rZy#W2C!C^;AP;ku`YlF`-4wgvusQqEwbP)ZkNf zoYR%#`ZRJ_E9YILGBw{g541E`D;zjjtE3=&F^FwwCKJvsp5y&`N22rC6kjMHq*zuF zVbfmps`jFCs0v%(QO+2eR)H3mf~b4-R3LU3YYE$PtgG{;u6t>*q#KvQ7lYF#n+fuf z0|_j0JV@+hO0|5aTv&Hi{Dm#vZ4Vx*=o7(wkStZu0coQB8)O+tBP9F^(VdO!@@t^+pdD0LAg z*3dZH*J&**&*UOS+mOPNO1%e-r7lB?DL$M{iDt%gbIhjQq%njx#jO%k0rv>Yu1htB zGkvTARK+BfrS9TmOSMmPm9Wat#u`jTW#FKWoNg^!pry*Shg+tu%9?;9s^F~QmmfQR z_(*xa>4>C^ufq85PK8G?6=b2AQ-?KA=U*b8eU+NjjyCgTi`SG|U1#q2xEqWnK`dK^ zHxF9Q{4|woj7rdkN|X8X7rxgJHE`rQZZ(1PE`?>iwVtsK7Q`n9ng$|8&@ebFM;Nok zNIKu!$&@FLBH`wrCCEMW_y*Vh%+K=hS564_ly{#0CWkY}v**9YD?k1TPTu(v{`4u` z=C^2g#>{x0JiCMMlpEDK7v~$4z~g1d*{0>7PSVa%V{p#$O4IOU@}oSjUr&J5ZXhnx z#*Q7}AUj^7Sj4X}3R}M+R=1dwvXLT|P8Kw}LaR9%1k*idTffe+e2WkQ-nS_{$_Pgb z$AeX%sXSI3i^+u5wnN&65L@OhmHu;n!!k<%U3bBvZn!p8mYo3{*3?8vo8sC*l~VtF z$3Z15)ls{eTb1%~s~k$l)+@DBPPdWDRv_sF0x=dA*+(Ljt)JC}<*!-|Sl9b)UWJ2gp`DS186R1PGaAfOrOhO^*>9)*h}B}o!XJ10NH zxDh-gAWrQU$up_Lxr1rD7cacVbibP*^&z^rfks8DIkab(YJq4VY9Jlr=n1|BI@C>| zI>6d=f;}-6*7l~sT8B)JiFZFwJYOQGTZkKM>>%cxu3RD#v0y9Irr2SEM}tSAPXHJ(GOS6JltkqG}&dX~)E-#F8!p zL5S(pQXjfhh$KWb$B>GUoSjlm+pvi_=@v_1VFH_&nOio)98DYt&6LwH;Yo045MY^n z8zH1jxad>16A(?^OI?Y%ruTJKXQl`<6WH2B1vceCVM!^OoisS>s3Z_NC8)y(p)gNWHKu#U)F~4YqGU#-$~6lcBlzh}+AsY}@N54a*CsWt zQq~AwEN#{XTCdz$1b+RA8&rMcFs|lP%>^gj1TQu-9^v}La^9u{1d$Y(@XULj1=s{b z7k$D>Nycc^h|$z`2rU54m>Q(Ph(pA2KKnAur;ll8%By#ta-lLv8Al|*t`TUD4e)s=G=RMaZ!s%A1HFCP@c)r|lZECRs z2aR&rSk}?;g!{a=jL7M4L;DnW{6lc`1IYS&h+m@`=zXT4LyX0!#hMwd_n7G+x57i# z<~o>~j*6*1!P{w~rS3W2-s1ZFeV#8HDz`<%v-LG++YQ$wQs>Ph}i8Zzg9^yWX;>49-N(*TU_YQg^3#H{mo0n^?idQ%lEz zyCwVu`_{>Ip%yc8aYJh~bnjqyrUG#Wur*y+)|6Vf+$n1iwC` z#F~nBI8DX6g_c@Ip;y^n2T79A{5cC~gJ4FoNcMqEeVoxK{*-JxEDoQnI`>&Zs@dUW zP%}Y)`ww3Mev&>p;i;3n}VsSOh>#p%OIXIi|Vk!M2CNTf&0a`Qw*fG z5K$a!Tc0Y^w=I4PAGU+YzeSb^LZk zTODJLZZduPd%4h!a<*-m)vmX-iNE2%?#$~3G`e4PPwjsoI8n_XRI1XK4 zt2LA6Af=7Qr#xy62s9FyRt>JUDWokVLFBj*&buY8huQQxts34qnDJz}Oykau$S#L% zOqwandcqq&`hzrI{cF5^zTto+hp|QJ_%6w$F}EGxI<X93Qo7Y?ZvLm>lX9F|;^s2{^pp z;H*Jy&DtI^f8&Qa|L_AuHiUNBgM-nQDpwm4f#4P}xt64>Zj+)WAlq4!bXJNm$L<0V zi^iD4Uu=O*QfQH&QNd(MHUnZo84;V+ev?)24%A@W6jRTL-B~`u#i5}CTP25?TEx|< zt>BS(j@SwxHpG}sBa&hmjGN*^i#UgdHPJYAZ3snXKqkSGSP747XG zV)pcF_^@T-EC(f(K@6(XZ8NqnVh`^KG0k&+4vTSY<=LkPPD%Ci7To}Sa4`JtV5ILJp|^p z!y;U?Bsn{m*A!9&%}T*KmrN<$An}9kot?2~#NfK^Z=qe5I#ju(PuL#4LG({BmF2Bp z`ZoXbAO8XV+JAbAe{zicYZHF(y7JY(7C3l6aPaRO!A+=twPVtDgo7_qiDOay9xiTa z+a(vRGBE}p12<-dWoW3I8Bg^V2X#cGL8;TG4O{f$+c@#)?30-G1B|UvnG)R$Y0p#6 zeKiI3xUlA;g=%t>I;`+i*sx-0t}*2~mJE6?1;g%#0(}j%~N)M!n|4m81v)Q*kgg)VASvyXDbE z3TfI%L#xn`iwRqYh{f3C0c*Ps!KcD5COKS;5ik~O8`>^KA&4=AF2(jvstR1q+8p8z zZ?Js$Are+elFwddgU6W+kRpWXEeMJ(pY(uW&2UaoFL7n5&A2I|n!u`;+$_cXP^3M9rSX<>t0!c+g(8PQ~ zi*XIXZ_zH0vfZ!sf0*n)xGO_iBj@dN__9fOk(8Qutjx(6~lw=f`9(L=Nlh-4xQ3z;MHpmA5OUT^yg{*_TS-fqBLh0IFsT< zjVLpl?8R@LT2vxIYNEhVqim^CoNx#nPlVQc)*(e`q=Szl##n+F#8pfy zLXeuOp3}bmqdfh0|6@3~hrRW~)U%tgd>1EM;^cOcE=UG>su|cxazeNTm?=ht6Ry!p zjf8cQqQZt%oTA}^O*E`G8-DH4HEzro1Zt*LiUqwhw-_T_n^kD^tS%xF4O3SUjBtA4 zsIqDB(6vm=mWd5iCJ~ks%d@WLaIxlS)-tIKn^^PhbI1MZhJW$3z@L6S^64YtwL`}( zyXCl1Dw{ZeQm@hN?u7vveeFE>jwWrKTG&e|2E#;NnjY- zti21)87c`Fjf4;h*FKYMq}?hzpAuk`og^v$F+0q%nx5={S=F>QNq45$BBfV9MNCSM zHM?hPl^Uy>)unUvDBDx?=o8HTXa6DVKl2|_AKp(PNFmU6fvS>x`fe^*-W-7#YU`NP2TYq=tgAbm znQJU%##V(+JwZ3bxZ>%0l`7z8n|Mmgwlwt|#A53?m(b=n#wu08hLfH;%Dx!`OIPq-ICSnIevSJbu$iY zxIUdxi*m7EB`q*U-dRof#Jwbpc!iV4?^9iTmumfpsykt|*>K=;VzEhPkeL(C+mua} z3VADsbtGt#)>AH^Sw-8gPn-z#z3T`Ulc;;|!!P9WeY*I6+49ANJwr)^c zfw4H(P&-TQ=9soiac)WgZK?De!aFqK+i>kGXuQTdZ?)84`8)?l@XC>4ehke|8N!!5 zr~k!bL`6)j2r{>(gykVAW>|N~(jHS!Z*czF z5Ap0T{+p~n{b~Hc0U!R0|5N1fQ@H97efD*1HBFpR6g4$EyM@>WH5C|#R&%fu{N@=? z&z^Fk4Qs8~_$}M@2^($bqNT1Jv&oDb^BKpDqj82sZD}gU^_gY4+9ZRzSwJ-0nkn-t zU^Q}b9;qwkc`KZ5J8rlQ3)!YvSnHDf6ATkKp>}g(bDK|9C)}MxX446ctGH1Gni!}J z+@EZ4Ml%4(Q24~!BrQscDbxZoA{g6X>O%yWR!N0gfAJ@2|5yKe`{4>ErNzNKPn{te7m3 z8<$ndVQ)&dxyr~+NZ$NbEY>(ob`liew3!hUiMKp^uwWLzlcCLAp{YbPl=ms~Z0|Rd z3-jdh^kZZI*}_=T*F_cFeYS{T{EBXNmrk0bGE2n7bqeu8Kq`C?F8=8^@&C%7=g|-U zWr91RvI(dSl1xn^)b)hAveZUWSWz1|-JWy4e8_5Z!m0}dGr>%5GMOGy)t0JiFve!* z=b%;C`91395MoF47sU1iL2$0lXR0~+tR*39GT9tOsy=2!nA8)90W-S`^*t7wU*-8G z9UW2$5Iu)e!+V>CpZ|8?cb*%97`l*b<()bflNqzdaoAKiBY5Ak4uS7HsWEPW7{lQ- zMb}g&#YcNp*1o09Ng8!NK4=qC#VKo2m9w0U+23J0 ztI+v9R$qHec(mgBZ+L$A8hq-S@RJtWf3oJAzqR6b|Fhrb&R5QP_R1&t*0&7$=p7b~ zK(oLceu`P$V60=>R7|Q0o!zINUFYO0f0_sX_J4%=)_W<9@!%$_A9|A~Kk=8S=C7vk zjgxO9)9ac08v+g593}gjwfNZ5#SW>a=u!%X3E2L3Upq#Ym5qw zov~V59$Y>3kL_n)_`jwuisGCKJaYa@y4v>cv^F4Qt36aeG^GpD54N^ zWI~Lo{Gqx9)});1c7C7eufzZDKSLjU2f9_V{e>1Qkw!ddVCxn8#!sP-zk`G=1rmh< ze)Nu_1Q#PG4k>d>qy$T+NCDjgjx0tdNjJYYrb^&hOc-JZ2{r#SV)_iBWFIca@uto1 zObVGYISK+Pz?q(z>K|lJw{aPv2j@}($0Bv6v6VE)LHsQecF8_V;YSJdvvk@so-wG7 z+5v_nhf&;Z-v@(TK0xaQ-ZXSRWe7SVu9_x$YiQ|Co}>SV{~WnCVKcc)H9g98aV@?R znmQ2lf{X2Ap01W`VvdH;j%s#;>EWw1lVch;1+fH~vkfj)SF7h(m+DlAYcQ_C`BNNS zu4OR+ES0r1woY^F9C30p#Vp%8DTp?w{3@LLX9fwUSh_nrXF57JX`)@|Rc(3NWPt(a1J{Ajp zD!lDXPIjO6@ffyrQ%*hHk)HFEPfJ@OLjdfV5u=O!IeU+)( z@L{{aityp~kTzH%6~_lPt~mlTN5!EC?&<2Bu1hMHO62J(Fq_=KwkuX=e~a$^zt8r; zW2PtnkavInK41B1Wi}Ij;jb=P{Dfiiyy3I|-VgKEuh!^yAM?Y9{{-1S<;ZS%^5{3Y zZBjwo#-$?~>gj?fdI(j;^Pm1x$kgF~;zzjg-~T4Hwb;62vVO$H=YE3OH+})Xd<^G8 zR7>2v58VaPHAy0fid3_d78*TRrLzr2TTHj2G6r?mpnXUyb7rhCVasGX=Z5v1Z$nCd z6Xmr-!&@hwc^#=^RmIF6^OgxbBa zfz~>zxWRW@wq{09OY{-*!PgP@9uhi;8|r382pg(RQkhz{$gLkBKKL5sBHbW6ho8X? z4rMhyfoCdKWJctvXgTa7gB6*-4{4c#N)G7~(|be55*ryndrPGzyH&YAd5i&UmM*i| zKumU=W$-fP%&Jrw!;nI3ps3%y>pj~I2XHJo_t`pvUwMz_9N%bbOS*A8^pJip#C)N|6a_Bakh8fl-^G`jyK_wTQJo}KtI?b;Y zB}Pv*Z<4^!KEyW@-a0$r2ku^Qx=x4pi7JQrDEr@fP;>XFWx0+0i4r1k-We7yG1VZY z)Z}0as%yuyEr>?0PauZKwkuI7iP=@w;oS`DDyEeX#j*C5lkO(2TVhQrofw&btC9oX zw`}8tsoT=3rqc~VTG*-`8apJMqO0#Ps}Ar_e+hf`tC*ue_u%We_BlWQS3Ca7 zUtiJwy?;vg19Rqa#l!E+@sB*O9)5$_#V->4b6`muR;fx&K6cm#Ps9+(sV0QP`D%|_;EYs&=QjvnOnAu$v2i+Dfo*)+w zVEqJHKE|KEL$&z;OQ4MgJ^Unc`dvg*4FM?<-q=RiORGbuQ&NHHCC{YdWlN$M=vDfx zZjURCaO=kmTNxeUSuDs76P4*f~w(a#;C(@e+%#QRq zsO-JeO37}bpO=A|kPBQFNS2X#MEiaf3ALC7Off_Bb5!DUh2AXDEm1Kkz#YZq?DyY1U0bEp8Ap++|(16 zW=4mD?9&PM7;kT2M2Yr@uDXpjpMdHXRL6)tKyf@dQ$qbJYhSbW$!Y1ndy$SrHKHgj z+i*%38!ke}YJE!hz5j@M`U&cTyIgvf48{B>J zf2XcJu{-10@=;P7grt&Gf;A1#?R7TuPjK=le}bdG|2H`J`ZrkLyUX!!e}m1PyM$M7 z(%n7=6;6Nb$GQFC*YMl7@h5Ln9o!{!UGlb8laxK>Hw1S8vBmleR9m{)4P*XpbBony}4)WTaFvgyC;Tw3(MKMOQA|W^1%bc$*E{M1hgU;qCEe)x9F*{bH9XUcb% zHRoEh2_8?b_-zeAW2zoy0Oxv;MM1acq<{{S>T-rPCafWPCM28bDpbV!2)lZiAY&x0 zrFLQu6l&;ee-;mY!qo(HeW{ClMo`qOHmgvw(R&j>E@eh8)LT+BO%Y~eMEc_ak_v9j zP)s8UohAp9gUHCZATnH6U|+H{qNKvtIi$-<_M&SvSVh_iKEePat2XktIEPnX{w5?yN0w+ zh9DnLy|ZCE6+T%hzy7x8@uRosqVThypKx#Kc)l?_-vn@$ z`!mmz^NQ=!$aWo5dZ`gCf%}KT#X3?OVQP~Zq7CI7u;i;aw4U=#i9bmoT-7tqWr1pn zEQxl)dHp6@9TF~{Bh?Ib2ZZVdt55wIn)iR5?)i7H+xM|%g5RF-&Z7rNI8TuefSbye ziB&3VxjR>W=uYJ8j~}yT$)Y;u$p$XEQ`+;6C(8#+KlmMjI*e3In%Cfg;i&t2e6jv{ zOs#a@BjKEx^E}%Gp07G?&y!Qb+XYqhZ0b*NzW6lLAN&*C`3L`yu$c4o&;KN6pS;a$ zf8}p-{-sYsQ?YpZ9$~wos%L0-fmKg57OfTp4Ac#M^>!mw)lC)-36SV7+(FtZQ|+-u5YM}@*{6r{;PlJ`Qm+HiPFY% zo~|MfwhfQFYc&^} zPVu%Wlq*ZzIZ2@;5cG3oN+g3pvuUTI!?I!O8n%7|W|I04yL1?xwKNmOF9n$5YQtu| zq&90Df!Zlk{gBwEbkkZ=nZ4R5O2vc-1bkkDwq3K8=Tx&p>Tp7I6JmEk(>+G4AujF{ zFTO{_;F}xN-4>}VA((WIo1`MsF)Fonh$<5kh-z5Wj(O8EcW3{2KA%E$sGP3=VD6Q8N62W1=?%mhmjCL{@#^3IT_(?-5#RnM&wuvMapNEV3UdA~ zp*yEKc!N#1gz5m)Vr-4I4H`Vy8H6SA{C(uw-E@qJKLOp)F~QKXmN`>hvGxt2nR8=u z%Di?wya?P{)O`2DHK2U^>y8_0IhX`iF|uh}P>VB;i8aiu@W$+vV}UnrOgNkc+@#{2 z$A*9X-@MN+{9jJFcs}6=|AU`o`S3gZ!hiDXI2ZZeL&u-`k(S?h-*QlAhzWtpta*GE zX=U1n&Kpr`YYji^SQ>h6y1}_SmbYl*}HqO$DR~1yKdE}3q@@@3wdtfcbw}?zq?bCcLQDHf^rVj5tje%Msx26?0+=}-lH1`B;;}ph+j0w%e2jTue^4CjsB3(u9Sz8UrgDg7>IN8bOo^QD(#t!5GZs zCf)QNt2ea>yk0-YY`@Ft>4$V(OX${|ZC0$hE!)_!>NX(C z#@2YZzHOh&6i$f{=qZc`;WQ!_x~-<|MXAd zk3WNT3&d{`^_aLNm5l3%-HPa!5YChBF>bN-A#rno(KXZyOm%>>$@5&XL8(zJ7jeR^ zMa|cqMkdZOuMIb*6-N_?wi9Me&9kjAt1Z4u(&A>jV!1x2?Ut;AFsTf$xHX@etodVi z)>QKbYQyBtHP+t1(N8h^KwgQ~a%25UN{HEs)7|?ED_4K4g01 zHLic@3tU?Wx9?9daYi_;=tqJ+&Sdg zulxe5_rA;RH*PV1f5pRRf&2HSTt94yU1U)i))l<9oKd@V3N6S|TM_&U_*u#DWgJ=` z5Y``38(78~H4dwRqCHDi=fzmGWL=dFoeO#t#l2U|i;AA5t6nPARPWT7lr5$CWYl!) zUM2oM)Vt&jl}wtLfv#L!B)0)5$x3NHi>0?^jz!cIqg(0_WELQj5}P z1QmOy(r|!Z7F&87aGopUvZ28COfJ1lj*5}~+hV4%rkwjURDmk@^-^?UU>R_Y7-ED? z>zP)`j-Jjac1%o*GwD$J7}mtF!O`;FWtXc;36&@ln^HfIs??87j9hdrPi&PXeT&AH z$|az0Ogblt^;0HCcUfIT>iI2LJ;cTharrjQJ+eBJWuCp_n0 zcf4wpSB@jAFyVVA@adc9{O-e+2j|HdSz86KSd>E z@UPydzWye9{w^BMKsz+HXxw02y&xFN#3kpz(Zuojn-eNmao(kZ&~Kl${O02e-a0+y zbhG5FT@y4gcO8y3?e>iI_MAr-XFNVTW9}lAO~)u(ThTbjd30=Muh2gFDv$2I%Ehf4 zFt_My*I9k`OWgU*?{LsquKzc`N4#;3_x~q9$@2J!>7#QtpS?-A@mXv=NBssnyNPuT zI=cyzW316+ThtcY9Hir%tC~)l#8L6NqEb3vMr?zK;jF7!;n;)#22NYy@jAs`sus%uFG(R5ih2~f-`rA_h}3-d~IV_elUuo8n@&#q@POJ)F? zYJzGML{#Z4DF;qiIH9qQU}t=LW%$~K@P5~@lo`RNFeryGaa9UhH_FTk zm4U`8;rs&*rVZibyZG%zT1Sn{x(B#wP83I!I?+^hfM9b0b6B;3rJoa`rFK*1^^B<% zrUvd_gHL^GN_U}5W)r^kb<4ljxE|I;=RVg>4Kx-n4xEwB>i7 zcYL_)IBz{`-?DJZqBeBBDrc#jW9oz>+i|pfo9)FD{A7VP2AM%@l+EYvQvJ>c%-(;_ z{Ou>q|H2>Reh1yX32i0Jj1pgY9Xq{|P5^CY*s#LJme^cNqPjI0W3V<$Dw>O5jHCqB zkP4zI;nl-bPtur_@BI3KWz~T(LLi;sXpV34`MWj0^swRiHXX;{ zgX7xajJvm{IH~#WZ+w6VJo~MGLhT;%;a7i+^9PUcYWVQICEa?-t*K$#DesH zR1>ojoxrTPlDFG6E<0sR0WjmTO_gL=*DTp(=MlY%n}HHQGzANZWKbrhbuwgYl~Xy3 zDWFuEHzt>z)8V|*ENAvoZJ(x@!Ne9&&C+b2Hrj(tv5#g4kEG)=D(k4M!)4GDQ(|EY zP`O@G)qEO3>6Ae*N(RaTc0kVRF?oGcHdLxWG!E7mN%4f`Sif<3ltC&l09mq#Qk<)l zv|A~zzLDb%$#V+E)a6%77?RDgw5mB(mgJOb>M6!pW==4wJYSPM*uWOYb1yt>m1lCm znH;f+N@X04aj61fXtDVSl-g8OCPkB!=f()LS;Ok$Y04awRC%hT2nWAS|5S)E6}@)W zB2rgw;ve3{Kt>^%oh&v4_iL@Q$NGx-dFgcfBP>J^^n#X zzWnEYh{!6=4ZiS7F&Fh%=Z)4UcXtx4^>f(Jk za7Z=9>Xy)LuqMU#N$l{O=WMD4b(eF40aZ)bE~!!pW{jEhGoLx+AHKE1A6VKDQbluB z4jSQf8(BDmRYQkxT%Ys7h4N_KFf+u}ASw@)jg3O-bP>J#U5@1OAeS;yypR5+Tq z{J;LjhSRn3Z~S=Rum4g5I^jIjJP!@TfNob1Juz2o+O#PUKV}oanLET*6|y=>#86KY z-+;cBbCLLl2+Ki^>>W!cOKrUx*!2g#4RMyH2cuG4ST&{c#h8nPXS0B2BdhE`F-Ogd zj#PRvDfLmahOK}Wt82(oX*H4vlNrYJ5%@WN&{$#!=~wlLR6FJY&3W=Uc|JME7|aBc zCE}sinHlsaSoU!g$()eQ1eztuGFvLz&tpIOoZv8iPTIiP$t5K$%~0wZ#d7|Wlt8r9 zwlk@~2?A{wb4`mhHY4fuUDZek>uknJCt+Nh9?-?edb{DF@3?p1FnO-gbPah8g9Vul& z`$sIlv!wmbJMholz@L4G@a&Z5D>#38%B$Bb)nv-Sd=9qaI}Z(8GiA9|92MVvew|Oh za>j3cuw?U|aNrvL-JiS8^Ofbl{YK!tv#b?P+m>mU=s)DpJYy@IouFpIWMOGHMcBwm zA#Q?H3&btZ<~nwAhsph8-d|T-Jb|Ml_;eNc-T!AqZU}K+quZ9a>~ODr0{P$?63!B^ zir}^(W}|vO94jV^kw??9tw^eF79;8eC&EP+Fqycc!u7^7cktR#!{fH%yh|x#jZN7$ z6QhW$ST=`Lyp1eRu-E3yE4cTo?_s`tpZJaE+&+20^5$J?tGEUhC?^5dZywYA-UB9X zigh(1ZlOLx+cVteX(E8lbBwL=+f#z?aGQte%`)8B97#Uv&QhjS>!9n zj^l~tb2kjX{-Mu>5(JO(Be#V|-%DrnJPoN--O|^z0culW4({M)25&6k+I7|^r+oE0 z7tF-)sl@}n@n1jXom0cX!ttFGQn8HJhlcd}QS{g?AaBH(|&QogC=y zH(29Sy+#d)tMf^xF{g0GywOUad)i>8mm!O!p4PfZzePPC&~PXrs9LJB3rMjqLaMk_ zJl~^xNA}qMiTNmHiVB||k)7a4!i$DdgPQ|AYhqx)uRET<%QLp2qcYI>fRTX9b7TBDP86T##2L%^dc(Z7L_Z;_FqMd< zW9A|Ub;sR><;hb=Ty5BHJ(JJ9$$NkOKf$ifc>Sk;l;8Nqe@i%7@%G6%4H)e)sJSoB17-Q;Z4N2#d;MV`Sngy4Z2%!I{9y zdn|$FCY}9ca*bGH9MMkD`iLksVj3b-ZvDh{VgsMJru@l9`K$l8$i@3x%-aHAZjgr& zb6OGGIo$Xp_R$lfU!wjT=VRKyK0>FFW#?J7i3fjh(emo7Vp7?3hILHW6;d-IIHN41 z1~m^xlGS^8k18lvn=sH`)C9 z1=s)iLwrcpH#ZGjG;_MP!&Y_T$mS+K1PE=iM>R+2^cKdiFcBs-n9T=to2P`ZB!*K& zJ935~io-}??Hy+uLlnpNP9w`;dhn=>@Z=&SBYx#LbTy|Nm{k>i)nz+dWMNun;`q#s zXZ$zsMOG&Pqieob1!|kJ-%S&Fx(@t}-%gUfOb zhzek4RwK1V;{o9RKt=4YuCKuKw@DeNgrh{ld&HPeGiS^wP( zse+UVa7?b-*~`kkO|=*flT$~<;7Fe146oUaX!-&zB~3O-q=^xd!?x0oAv>K4Xog%g zTj`H;I0_Sz#3)emSxu$g44=mIXHyN_qdd!uz%m8M znJmddA8FesHb@5A+89tzh|1A)f_DqH+Z94!F`44ShHJL_|55c{O_!xvejoOG%y#FT z*Qd|&)dp?G0E3yH0YuCY0}KQK3?V`kBNPmQ5uy|!g`^K4eFZ5(ybz@eDHIfWK^cf7 zg2aHBfg#5B47#Unbys!y%B*y+e~;UHKW6D-J^N&JwyCPDlkahRuV=0Q`WucH4GXu% zNu)Kxa@6bLsD;a@5j-M#0NiRb*U@ljuec7Glm_~gm^T%^?vSt|#DFuF7?XPM8l6&t z$vD?gRUJ+382iW+{2B!+r%^ypzkf#e<_S-qZ*hwypM3v&+_pqm4jhnEVoRN$zosYp8M_V~YJneizYnOzW*cKjF(z~9y*Rxz~gILRf9ochm znkk0GMoG+NIbcOFsfUMeuvd-juX>KK*!v577M2GcnZ)e%8Jvzh48qo1Mk74?<4fG# zebx_NCw%Y`ISGUjclaiD@e0O!LRyllIsWETBn+5pMxAFQ0w(tbMDLZyXGRmBlwKC1sj#a@fc-g70bMdxdJxD;zOJD4FMD#tDO z_~evTChA?;mx3wpJXuZoNXqNA<_q|+na2Exn*>!xwg1zfv1HujzLkbub0LC`)`lGe zzz9r2w3p}QbP$z}x_mb23w^mk6t6QvRW%G-VO|;fT+FP~hNCJm_lBC0rWP=PamYN6 zniOk+s%mKKinHxN$cDq(u}rXN)MI$BX;`m>);I=d=}hE$v*hlcB^c->6LJRQ8ANf% z+88pCECbjYgNhG=$&5HQ;&{F>j5+d(Y*U?#~$Fh?vBek19?#fuAfrSIfxfR|Bgtvg{K_ zE$r2a^(3LG|;WE^91RL;=)#JWWKIMa~+gZ~NnAO9KWR~!EHJC-Jj1`Jk0 zII{G83zb3U1I8U7{eYaFlEa5sTM;FbGx)Y@*ydCmTc9!;2Wv$2`x{vG4BfH1OxDMh4TxexJ<*S{)2p>2qwvjXX4NS z@8#J0lJKqxmy=B&WaVt;iR4e|jHM);%2a~O^E!RK_N9h?BEl=J$d$uD-y5ay@8E*+ zn!gwlXG?peKVNXDcwp)dCo9D1oll_xw)~z!Gn~j#9seiHl)^dPA)%tegd!HVC0|Q+ z#a4EX@4I(Bb;&!ZWqM5$&YaccWVf`MFlWL0ijWM)m4zg{w(sdonm9tdVaFaS7)P{xEY^soqI?&G#S%%E5eP2TAdf1MPS#jR$ali<)O~){fFBuCZ zJQ37gNleE!K}e2;t>|OVbq13iSAE8RXW;MstyBKhR+w!!^zUqGR*|zC`1nHjU%sCC z?o#Ph%?vJM=4SbvVSG%V9BXk5Qj=*BXZg|Pk}u7A{^BPq9?mkqbU0_@_WAsBMdu=& zSBR^r49>(74-^^QEmDrH+WWTTx1s%sHA*X zZkmjBULT`(K8O@jzGqtISey>9&XKdG@l4&E+2NW~sW%gTtj7%`b zt{_jHZaE-wA{UQ=sml{4IVk$qGRk|bLK?;}eT)W815g>S$2m1v&Vc0dewm8uOP_%9 z(n~>hWQm0xp#@#-h7_JK_N6(@lo&hx08J%G3UN$nq7(*)nKtc)`tGm5szBjzT z>bPBx)QgJKZNOj|!bt5aaxwMJIWuc4LoO22S;zHwL7xJ9bwkX;CPc7_L_h?bKr>jr z^PX^f-}B)|iRGE)bZyuUFgnBk^#7EY)sQ6+!jet0^bvaTY_nse(d#*9HYxJ@iRXX* zjm#f@s`SQfcgQ=R+;Ch4TBlG(?X>oU97z~z?{riz2lI3^Rwe)u<1(}7r#L^d`Rbd* z{t4}?Z{hZZyk~j!4dL;LvM|hP1$SSCZNM#mg01FMzwz&}`B(oh;0EuF;laT^AcSm) zDYF>^H`{^hee>pKQh z;lBKJHox#H{_}GloXm(elAd00@y~ulMdJCtcvmlGXZhftR5W+?$kj37?jFvJdIEQc zNIggT8?u{G4bN$|FBs}Qya;Z%Adg$lw}HMsq>_!R9&H9&&Yc&MU_?kFP=**@_tn(0Z%6 z)7=P7>GDM5j*X<<)_jK{myTDP zs!8pouRZ7Vb0P=p{1@Ng^h%h_tiQ0o-*xn+eD=GQ(^T&ZE}Nye99UQWo!J#oTi&6n z;L?t&g@COVNZROaWGv1?Nuvb~S zx})hf(!hJ+)M z7{f?T!e&^LJ4?t(qt0C>uR#ieDy(2HZl5_43ubzFfQg_(^UHJ+OQUvT=adBR9D^7VmUZ^btB!tgi|#Mor@qzDKDf{FpPzE_TemQ;9dq{68>$yi zdFy}w_gS8;xq0^mSKof0e&~_k{~ip1b`-V(vOZNEZoHwY9unOF>GDIWF9tgqM#{PantJrK^H!`E&@ zm7u9>9(Ka(hg%+B!L^&Su@9N`KV)t8xe3arocRT>-G#WiKn6>)9k!d}>_D`_)w3n9 zpA05`eBV@ zitd=S{ga~-r9f+}Na;$8%E~g~gjzVJpK1y;q>ffvLK8w1l>1ts1Nh>?>1Ee8y)a{Z z8G%KM?iV6MD0r?&n$X5lKnp-omOfJ_;wA}b8Hp7SEl6d78gywGn_PUu2G2!$&Kn zI(61i8^i6|()L^a(tc*NhUXiLbB5zZ%SpH3Z~yHhe)I>A`Fw4N*;3CchO3d|xnm>n zmHvAi;CW%;^AH&YI^&4BC#J-#J0PY+Opz)@x>=`j+eW9CA@rOLdyv58Eu=&wle3VF zXjz~wuV!X$jvZNHKs}0T@)&s1w zA)1P+wX9cLI_GG;*+E!A48HKvr+vZk3=S)uR9|c}Sw>#p>sbveJ}|$|tKa#3+62Sp z>$tDoqB&jj;Q#W+9RDx=ZBFi1{F};PUrBWTb0G-G*w02cI@3b z;qZRTL7mxmu>Z{kJlb$v8*JO*TgUm+fE>2$&F9?y-~2ZG#@C4dyZ(G`?JbOJ@ZBLMtV^e+{903K{BU$FshX4gyzn-i(sXQ9GPe!uA#u4{ zvmPRk)|%gztA^2Npx?cD$A{|~|JA2+E>lMenYTFOckVppZ=F2lt=VImMMJik)sTqQ zoMc;W-QMTTw}hEnv0n?bwubeF`8F}DTHd_ZQaiy)psO9;D3(2QLRVaM_G-#lD5bN> zr63woSR;Nx0p^rWH5C_N(zH)-<<9?8dm&Xs74?)Vs;0$=Ze_G9^}EhZFHqHPVLTJv zNXIE%Hi^-Hm&;?F^*^V-p9=3z&BR2j(t=`(YDtT9r7(k?R94f$QoUSmO~t?bzmD(~ z&Nce_vBeDvO%o{izA5s>smYvVt=_uQO_wk`77e`dHefVT|LmwQzT47_*l4SN3#)=g55J$Z%*guN)|@ zpQPch{^c3J@%R2Z|Neh?hec(1c>T?=>_P5Y~8!kT!)kp;WD^>M(9j5JM8jkR3mHE<~{`<~8^BYSzK=cxiaDHauRz zO{nPF1rH96IGi02OiT6)vfl&S>i1`r4{MFb`3~=9ta@0DLKH{L!o?9%L9T`?716``gf^jz#o6iVU_vj@Bb-J-+e~)fB!D+ zS}^+-_iecUtz$O!KKUmexQa1&)(GzF0RSlF@EnzC30?tHJ<%+#X3YrJ6Zf0 za!zF1V$!N~4L%uiGTv=F2e*0Gr=;MaX{t@TbhJD}j{A}PyPvI=rERJSH^R3IBljWA%enz)naWZqnv7zr1 z9;FI-V>oCGHt0e@L>E)WXl71b?~zOmX}c>*@`a9SDy<3!lr@V?|4dmn6+;Q*6#pwq zDy1S9wa8_L6p2d<4l^JJBz~7855mNg*&94-!is zsSal9d8yr@v33VpP&(h2nL*%OO_KP9vda$BG$;yhNb%Y2Yw<;BKwTv;|zE$qJkJm8&hkk#~O8xu#3 zqnde)i4494->^xMs!~;5({>nBQFVt9*W~<^&6t>R!%Y&#obV}6p$o(`;pLW7bI9IF zMO_)5Jby-%ipAj(5zE>@ztyF-cCC6?DYWE^9zoS>Aq6%`6>m9P?zV}U1CtFy`To=# zT*`r{$J<`*xV@;@q&cl`ur6`X)@)WDV?Co0QvaOl{#SWJp7Fue74COGqq%&-7!%`n z9`nQh;!WJ%9ps14asR6m@;~|*fBio7yhnxuvV9xBa6v(5Kgs4SeYEsxN=Fp#*Ju2! zKOz~+k$gllnPqBlPH!af`y6!@r#Ckkt7Z}j|Xo5!ki!f z*N77RNN|O zX0l>57C%2mZW;tfl^vrr1X&P?IG{0+Z4jKd+}$_ajg|**toX@y_E-lUL26?-JQ-O& zX~9`SnLDosSTzew7EIj`a^`w7@`LZ(5OZdX7o3NRw_fuYBi!yP>OAAg`G$~mlWrw) zW#>HGWU8FGzZf~YO1Rpw-Hue&6#9-9h8#zAOIkg`ky+)6lrmOs^zh2c!_>MpEsiLX zPgh#j(gEgJYTy)iGU0g>sAzVP!-Y(R6v2RYj#DSBH_cQmb^GfvvMnNk>BgE0Ixjr} z%HxfjRyw7?8YRw~N!!jum$F4s6nBd@>zk5FFhLe+hXJdnY%1G$!Qzn|!P;V@rw&@v z>z*96jMW93x=vN>B)wCWE$S#S0!C$`FXg^w$1a$bd%I6mbP48m(}pg*3>j}7A%onU z5wnFfaI*~Hq05=Q%5b*HyfWACvaKKuJ+2YnyfyOer-t(@;mJz4f9(0^KT5p&*@mCJ zs2P3cbiL-4L!nwZl0Yyu7rkMOS#f1!l-H4z0wFO`xBCb%=87$i!hWYuvGIx!db+yB z`kIkIwiRPiYM{632`dRIV;Hlcq31Gnya=A7u3-~%v9`73sMAdngBXW8R}>1HsmgU> z86!Nps@NpU`C$1gwv!wdu6pT5uPcEiydr~Ks8d)W7W$idqW2$wJD zdq*?=DgNEl70&7=Y`?8IY-`0gQX*yL3GP>L$T>a-=3ZE4!*a;%b(xr9Oqo|+d7bAs z??AyVQrYb4awTJ2O+3AzPQt~%dB*+UdPq#Ldc5Z9W~4F(LLg$e9vm}ZBSLQsi#TvQ zW|qcaY>mwJ7^*|;utd5;{N@SUu%$YgVRC{rund;i-_XB!gl9w$RxuLjRh*C#HV0gj z8FJ>wcKeN z?sdY<7-nAZWPbWlWSfL#jAS13N~;*zDht@&gf7{)~H9ep+& zH&XJ8iq79!oNI`#gRtg{R(oPhS=tC6uVqxmqxYlFMqk0%a{@v zhcOs=xxJn;hbW!vj-+pFp>s_|=nJHFqmaS0lv0#ex6s+BiE{xRz-Wy4HhS;y3>ET!jeKmV)q)8yewtbYNBoyl>16yKYa21O-rar(mE}@N@trSXh(0|)IpRU zxKP(byL(NtEg#dwL@3XP0kuYVcw5LrhKMK&*gkn71>u{yI{MJLo57h#8WB7{Nrr+e|GhzI@xW8PyynW~KXO z$vcZZorb1sWhdH&90|#AzIDWG*lQe5mx;?BQqJU@NI4OLrLGiSa#m-6&h~5*q!b}L zQWXB`y{CNo>>-D9%jx!j%65GAbl{=6A@?J9(>W)zIoH=SKF$Yp&qjvNK4JgCoXx*n zlD1FCAyCDqnBfzUGyH?&JB%@q^2l-&uKN)%^dWJv>6ulQuChQwQ_YEt3|Tk)DLb+_ z#*q2w=^0hi5XMk+v<4@F$%zyPS#Z&z( ztW(pMzkJ{F(-+V<$N4sLH5!(|@aal#W>03X5*A*$yxtkIv0QF5A!U*Tvgii?OAE&^ zcC138&xRomI`U`Psk?j$KAU)ox=1NeAG|a+acEfE%WmomxZUoT-Gz@a6}@SkErs=^ z^~qG8l+L3KS`h&lkJxEh<-j$V9EaPpxn}z$|a0CLgmRc zxOC9Q)@7kqs7S^$2}oYzmtPpwOFuYm|1+YAs?*P&Xio+t>4NI#Z|X@wH;t2kb-IkQ zdcZ12czSAmKf8q=FAqFpz1lPuNMdJ)XoMUGoNbVt@KslSwr=;gDU%V-d&9i3^vQv9 z9JG$_o(V_C4cRt451!#PlCmD2d)JvtgfW+1-#0X~8TdJ-J!TsQ)*%veLQ+DuTaH|& zvH_8e+6m%ms)~@+V?c~rb6V^1PRe_U%Foo}SJjus;>6&^k%%N5IVjC96fXfo=9gc! zeE;->v{@o0tICKa88rd&-g9#Igo~$-_~6=d=eXupV|jX$IXSHP#=|*3d33`azhN0Y z%V=;|#+->3#q6!6t1ZVfLlnoy&pQ^2hNGFGvpvsOmd$!aI+^j84$pbi?{j*UnaMM% z5a_Ray8dVM7m=fSkM(#%et(OvYO3LsK3(BO65hkiWa_F_VATki1y`}<`uY<_nK4`J zQFnVhdHSL(o+^f5Fs7!eJlCrYw~uc#3{NluLmFu(x0=vkswKxKb3Xm{C&-JDSI~mnDfov907yN2_pf6@)5lRlBxOR$)K3=qUIn+e)X5()6Y8A z9|cZViSf*^2@sM{Wz7ZuOShE#|CQU8cb)|ux66GjA~aSV_lG3(QA+f!!I@kZc6zEd z)-Z@b$RsSEt+cy*<8TIaY(iv=nVX>QN=bw$HBKz9QNKzNvvZYq6Ah_wPR$nz)dbF#A@CRa zmE=e++xJ`yTx7yxOLsf<%Vug64Onq#I2I)-Ko1X@#12yjZVFREqIR*RI9sEF2FjvH z&0x}0{j@w7TRKgnpBE((rep~r?BEQ_=lBH(wiNy8JF#W^FC~KGCDv+$~)TH)7y%wR`t)70FoHTk*=y~Y-Z+#K6wroEt!hbIMWHm8nWmik%Qn( zk0)r*p3Mq=Rx@I9++H+1TYH=>%crWt=Hg1`Yg`PvFl39Qfs_Iwq7am|#KI#EK%Io1 zm-M|T%I(Mi+3?=;#BvxgQeZ1HU3fY{j3IKl>`Bq{cfLAsw&`%b<+kw{=Qv-(=@zyq zoyr;=^^Iw0ohFC)1fBJK_o-**9g;G>S`k-Ue*F#4j~)e9X~T9k<4!H))xd#CY{Ezr z9g>zDNLILHdkr}e(+IJGlp#gDm=R+jNd-k-rxL=%UQ^Lm9gB9x`ucOy$}?||RA*im z0E?!j^M-7NVY$-8&6Ej}sH9O`MiNdk^IHelrLbCF@WJo@gp;qo$?12V@c7R!u!o0) z<#TdtsVh&D4e~T|u#K3@o*X;I=g;&6t!Ko|1|x?0@{G;hyIj~kPWniD`aQBg#0h{$ z!bd7;+MRb{0xkhi0I=L~AltDXOhAC6Q4W#Bm*92$`5OD-kMd*z@3=E;*dhEb%Ci zL`}Y*ZX=!Vxp3+#p5Oc$`IC>S{62;ypx=qJ9+8QXly_U}m#djw3#HeqRdeIr*4d)! zCfIdXl5@ePDO+!)q8M8trdF`LumF$*#v&5IsK4t(88WUyYz0}nj;uqz9&nS21qx)K zi!CiYZg)r^6YQa6Z);5H3X7)d3z~R^I11K@W;{vSPOqjE>}f(bP%@}?<}Y@_d&>%I zT6UGKyi&V-X+~vN5cMH1A(}~Wp}*YAgROk-6UEAy4&QX@q%R{<9pT>kySQh61lt!J z&5GlfDEZ$=@w_Ed`WZy~LyouQ(}x(e|Nay2L029qLHf`B84 zP7|?YE}761*DIWB7^TCpE@2#`fD{``DEbZ=RKdDEjjRp=i8Q*SQ-=X;&Eay zF=0}KG~y+wt6hPLW_5$#+ukPCqF&q?r(jA=kHw6cekk4k1)nE zG?pbb1DVU@c=&@Y#7Onxl6Z2L`1D7lae$Fj(&<4d6xM^S%64CX zL2q1Jv*W>H5bFw+Xu`ZGN-x3Sku(-uFuyFgX(T6w0*pya#?r>sihmc3b<(rww>AAf z>}08BabzvUJ>TJq4?-E}*(t)9lulFOEFH8dd{U!AN~HKZrGd#vPbIv%;F7W^BL(f& zCGQR?Th1d&@tyWpxj0WbTOp_-ao6=)kE1Ndti#rGs-`1v2a=rA+RVa@A z5{pdOlhNj;bug$Rvn58$CT!S@nTy_%QjeqzF=8cQ zaze`eIyEjS2Yj1#^u%V;pyP&hx=6xgVhZ#_WUsb3Q!@&?%pS00sle8125f2~hU3HA z#O;#(X3HB7_W9uH7C-K@>|Vw6SBP!N#&hw`GfqE^oUJMj*DK~`;OOEr9__uw_`MCX z5+1!VXEv;OaMH2;Flc6wtFZlsWE+P48QiRxU7aH-5StTBRd7df1>;kkFkuk!I0+as zx!`8AR#^BELSopqeC?~2_ddw{*|~6Uk$L-$;hiV2-@rC`hA6Ct%xTi($1FlhFLmG3 z&6q6o3D(hYIl|+$!&}(*i94O))xC`0crFLSO|Xnf`J3CU3#@e*0Obgu%;&6fh2%B% z*{3v5->3FMUR`6#=WkHM7h7&@Te?+i>@My@o$MxRRl!P2hbdoJDyd&UsWzpgS_=4>CO`U`)ltQpkDG*W+jUxHPbfr7k~a z8s~RWEw&s&B0DR=NhT|)WRd1f9 zb=m}ezV-~#aC=+v_1l5V>ovFDzQyyQ}5M7QzfvKJh-ET@cd*gV7Se~V%K zl-c4oue9&;>g|0__7C{k^U(X@pQbSVPno=(x@jE zinC?o5J{vId9e&2iG#g?^JT*iKMd^86BjQWvWP!W)Nh9W$p}qba6kOTA5zF-4VeiqJSU{=SSgG7RKw zaRi*v!_b?T!_=g66U8u`o$vp(*3_eoG-zA6s@_}o5#A{ zvres<6X%+khK7RfsKAZm?Uf+D1;rh>M zn+4X^SQE9ECIDJT?Qe1{F#8QINoa?K_ProDx1Ua;-AR8?j#o>R?FXpi4w{p5$Z zTVF?>e~Oie&nv3&jDyf)Z!!|roj*wP8OCnTWN9)oG%C{wZhw)j!58JFeE2>we3Z54T*dM$Xm^8{^3&QdT@XNg|~{ zmPnRR7IFzcm=V_*NRhC0jH4yD4S_AzM`|BguMFPT%=d)2t(EF9-E_7lN~c=>1Y=Wi z$uGgppYbOzJRe?P@;AO@xYxGyZo}uR8xCa;aTOP#Bh^dtY=QJEmICj-aNHR$2<9%? zIJ&3LIcwj-R~?;mBwK+P^3fgA#TnK0BW9~pY!oUV5Z|(_Px$4d_j&TU)1`FG*gTT+ zh@@0p@uet~g_sPT@A%+J;MF%S8Mkvj{b-7B z6NR?&gpgiFc^I?%>x4D#>c$tw;FrH9#Z$o*nHE{>#&}Tm%uA@}C4@2^t^j7rrAI}a zWHosfs|W55do}2mzr;+dzj=9fYYI_bDSP_-d8b&)yVosc$y6{^rX`m^&REe!WXeft zP$^-oQEj@2Zs!GcAo@9s6HL`%Qo!z<|4W}-6jjEyyOM8=G8=T!rVpOFVN9)J1kfdy z2sw{>{8;@T*^-&AA*C8MO@~be%ZAD*@ZpRS*s^G{#+VJ8jWTj_S*Tg#N<4|#9iYy6 zBqh8n9N?^SsnF+iRhJp_}lS>npu<;D*9U&&t@;Oc2;%y5YuQ zA0F^@T|?e-hiBXq!#g2jyiS4dpKe%>i4QJ%LP&%$a#RcFy%18uVHlH2Zu^v3REEY0 zGoR^fWZ&x&_k#=1JOAtsK1DuTMUI<{6XDy>EbHhA4l+|7nP8oOIGnL0DvZ>`6v!sv z$7RQ@ds{3cCRc1WHLIH~5r>N_X1>EVneL=!wdzT^VUibuL)-$)9s$Am5p({B#2APO zk|XOLe*c|;qq~WlH}+^AeuZ({lWoOdXUOu3+*R1LB{0LLM5tPtVIca7m_4C~c)FsA zgO1lRql_E_F<{z5++IsQ`vCC^oH$0)@s0V%e0qJCoCm!bOjRO0gd`c~EbXiT>xc8vLAD2p)nFw`?-xFiRI_l*{m-9kji@ae{4YJ!Zx zmIxBwXGEgL>Zb!{RCJVHeG0+w?z)ymX_ocg?y1=Oz>Vq8yl}t{Y zRxMJKeASc!rSjUHp8)J!^vyJ8xk@`oJ6(@zer&DBBz+?(2PTtlrb5nSsvVX6n)N3O z3CYUO&4m_54qD*J+OZp5teHF($U%z`Rf~ih)ICaB52i2_O6dhjFBe?p7*Jfcz(lUW z8PAvkc#r8L#%MA1R!2%u9_{WhluSyAwrQ!WMhW^d75f5Hn3uteQwpweHR4_qpEtb-wmZ&kt|D#cKUWu)W~L)hRI;qP1j6OO|W$#Wi(vK-vy0DhoMrakFF_Tbv7oD6G>A zG0=4b%Mf^WJ>U>-Hx-A6H95iEZs5C5;8|}NL!$AS#v6{?z-Mc(VkM)X(ycmjHNub2 z)Td;Rf%70-4vw5M|IXI~a7_b3-&OT|Q;lR&4fPMPj5K18H0m z#w95Xn9T~8drWtWDsITvXQVPR?%QkT=`-GXkhvI+S&e~)fj%dd!6vmS3}awDj67{3 z+bGO^M+orn{*tH9J#wuCX}>b8ljAyQilVnlb%{B1_h`oFXX{-TDw0{$+8wNhTuyAo zaT>1)s=8UW9CkIgUwxgMpM6pap^73V?qte=o!N7>z{J8ol`Up|hqO6o);Q|QF-CUX zs2H`=n-(M1p!hMBl%h`#g(_5r(cSK9+Can3gxaVVE0V$1r6besd4djvVtptD zlPnTdjZIbvLJDnPL_Ji+D79aoCl|4RVG8I|&aD=ltSB%Lk`{Avzih zzy9XPc|YU3pC~5mTt(IGX*gZGz_t6FpP#X4YnrA*azczQmM+#heYMRIEWSx{x3KrV z#OrqkescL4E?$rqw=n%P_S-peD^Mp-La5`*oOXzwhmWY~tlqN=ET z&F%Yduzm3!5)*xn9JUoVL8$TyXDye}Fsuh&pJ)E^TZdfVYfT>C11?^UclCYxgzUSM+vW(1=ebsak_uG#0}W{GqUxq9_))17~SwTbK(*w|yP zuc+b*w>B(({QJ65GccPSvDiPsR1N8gAUEe=Ja%|8;V| z=EQu=nO@v}K~s5Z7x`OnUh`jnKeFu&#E$i5;N~WB zwjTNNiRHn*XGp@ct?+cCxX_paL(0Tqz?!_%o)0-wNf}p5k#(iJn7c$%8D4BH-Z>I* zb$Nw1MFnIHR$k`1+rk$WV9#t=xf#ZY>VT|aUTa6Yj5V!|yI7Mb8gVjlFpZh?^b^8r zOW{)tRZS(d`c4tgI)K_;XIoY_T3cv7$u)(qqL5heQ%g~jWU|P zuPma0e@+M~GA2XFh8N;kSL%9|V&rT)ay<8B5xOe#jfa_co*2g1v+9NYy@8)THwMyY2E!0XUHTY$UIh?f+dO|WgZ%k_p>jlTm^UNzxA4i-OyeU*61YhV*&KeXUoSb*eZo93yQC9QTi_4f`!Fndcj!9P!$_v#( ztF$Hxwn@?i1i=*?vn;D7`#MqUKZQCqhbWseW|!{L`dTr_f;XC-??BS_Iv3vnD6Uwh z_zvh}QjTR?UKChgER@DEsh%cG*BGO8nqp$D#}LJLvux}Q7>OXGV!v(y5){_Rf>0Go z&Y*|9t+k+vdMW75T$XPV*eTB@Q|Z#9V=BbY@!=8{_mIt*c8V#M*QCqenJeF;F}u&- z0KRH@ZBO{Y(=}J?hF^NC<)ar3pPUW+&f8nwx#}3gz$~9~Zag7FYa4JLbNidDnm5>g z@EcrQf1lMR(6k*f_S|VQhfTxK59~KRtyxotk7@4w7TwL7xEZko_GU-Kd`=LLcUgrB zP+*pd5vLuiv#i9h?2icc0NWXAbD@5;&QtYIaaD`8Ed*i6hCVoQwU1A0Jb^`JX{&~d zwb0zJ8IyVi^iim5g{{2P>rgO71S9y8Cq+sGW7x*TNtd}CDwa{m*|PA4U%c!1=t>uz z_YX%tdI5`Sz(j*Y!*=O#^&XNlii8JL7CkL|9o|aPt#=$SO-omGBn<2RQ|h+EP70ly zA5b?3I6H%Mh22>4H~$Xx`_FMFcS%vm;S?iFlC8nd@XpfIkYd6$dzkepwEJKn)(g7v zitKKaL>+JPuqCCyo=dD3Z_(OBat+aXM%mDP{6|Q?##}$a*N5c2`^3u?kg@e1c~sw4 z?;CEpQx@Hd|IfR3sH;p!79$>u*AAt47J*?KbTsHZ7?Y`nefF)ec8Qz}9RcIvbTGS{ z*;yU+F4u_=6Xb-5+8$O8sto7lMl}Tk%RnqQ@T`X0bI&TktOA|QTeisyI6|*%~iT%cEQQx^WnOci;j-_Z!?15AYX~AtL zT2xNt)U#WP74J*(Sj%g@$m(s~=XIZ8(>x#QTMq~sT3+1arSR>Xd zFVWP6vs*ge-Kujkp_bC87S2FB$HYz1^(T^@LAX|0TUlmF7G)4%n34j#ce=z%QOWdT z$ytbTBxPuu8QpBgpM4}4No=CUIgd3$T{pbg1Za;GcA4a?Ctu;=Km2u`|3@!aTzn2( zWBi<7JKVr1d}-hD$>soOJ-6=t0^3xv*nW(-ft%E^=WCpAS$M}`Thk{~{1ybuz?i`J zc{!gfNX6hD5@!!^t55J$I7vtz_4Bk9c{pbsb7{Z~n_*4NBRLzqv&+>{L*33f>k~0YYLjW2 z1`$u?kH9YUHBj$wU;^&P1@Mxrhi9D>Q2 z2kqy)>HeG_=hylA?N8Y(BhQ9ADuqi^rRB)JA*mkOwzS=C_HMmSwS153 z&M*SjHN+HgXhN%GQw*X@$K@JYN{2K~lt;3~4Ob zWy#qpGEh_8_+@gc0^JPDIQ^5BBIC5nDczY!-0>}So2<@M;*|cT*G&yYRbqUrotR9; zv=~1Z7-Eu}%7ojN;!H74kvx*qi1A%1Jg{@*3JPBsCrAhd`}jifH`79~fXt!>)Q+rE zLK@29QfNpca_s?q!9hff5f%Q?=A3(wT@hh zfX3Vu@72PGmDIn45~PSd99)l3SGuvk-1OXESPojpyH6cQT}7y7#1x739wrCIWT|E+ z){W1JYHhfE4sR;THkQ%t6yUM@#kF8V3_e_e89SSoiC*y@!7#KWA}II z&i^r0yH6w#-HOaoJ3%IoWo0o`-eYZ}fu1HZ>@AS`%T(7NQr~R1U%W!7_-M_0};e6FkuZQGhf`{UOnQMLyxysO%IwG zqiJ!KAma)vLgOulnNm+A=qX|xLRpF zw$afojbtN)FmQFYW^wB^j5wOgVbTp7f1f4=l2pW)>4tNLx%!%lSjL05@tYsuw>S84 zBs2$D1S?>y=jrw?manoNGs|s@51+9xb1udKCDs&kVp}VOQT#r^aC`2s&T}ztshrgf zrdTAYXY3{>Y~4}$j{PcfZ~U0YW8|c5c)A{_Dx>*U;ew-C&Bc1e8I{8|-tr3%9d&E@ z^vTFk6Zv!lb-RZ%8!8Jh;$5+a5JNJGL*A(a%TR%6Jc{N%3EmX@IbtaeiO3$tCTxz# zWK&nLOU&eHRF+f5Dc{&sWg|S1>gDCOxLD3j9;X7}yJCqqEuCs6hC!K^G1VM$S*p1P zD`~fI6Ui9or}|J3T-Z5BnW=E(!dP%6X1hFx2*%HTZh?j|MF(CAvH-TmNGPMdE!}Z> z%mnCCieZjmXShO-lAn{4ev!2>VcQXmUO&dD+Yz?X4SJ3Rt@$FicM>inQc--FJe2oe zFl#Yos+fca6uUyhPM|R1^UgDCXY_GRQ^Ci}Olvb%EP3eppoeZzvFKnJ4PpN_X}uz+ zOb$K$_djG)ea?#yet@$zGiPX%V`c9V$C_ol!;@>c-Hvp>^fy?ay~0Nqe}I4O*BC!L zrB59f*MXsK$yrD56xH8gor3B35GkFha zFQIp?bsWqZ?jChqt$Sij%sM!`9&y&N+!g^3D!Q3)@l~`uz0^kJ)y8r$G~AzMh8S2U z%O{sDA2DM!Mh<s=tmE%s#5@nC;W z+wKvIy1-dWQ#Bd^kz1ev*MhCcRH}-$6|#7RT;Ji&T)20qf z2&*V;vSrLho#%6;l?`vsd%8Ej#op1^X`RJ+&kzHqKf}eo;F{3Yjz!~nWzT{{K6(=9 zT2B;<^_Hu(+D7a(#RtD^=6zAZIAiGDA=xyLBi5C;WrJFj`37UO@B=s*R1M~8Edj=m z@#@`)0b3Q%NrexT6<~|Ovto2w3kvDqOdVud%(zC0_O=FB6g+ zkDsKot_43+`6znGNJ$;VX=hm=*mBGknQDPJrh{l&ngL`9P`n{b(YH^EFqJ^&GS+93 z>$LMOOStkwceExm2@)jX=En$=q*y6Upwy{bC%3RB^NojdZZ=z*x}t4s1`J<5s&G|@ z@8;~)8}8pR$km5*w~okT&#iey`&Yk0_3#$6c8>Qm3?0}xVW^QC=+m(Z0jd+s!`IoL zdp7^W-=S|T&B@!u`YQ}Q%$j4un6bsTv~d>aXE^6+tD5ZhaL(h5FQb0~5-APDG!$xE zNu`}wA;w~yW77eQ)e0n+Z-A7CQ@ej}VZ{E2i3A@;JP+?6no<0fd zkeN4*lX=Z&L&vjm#xm7hj#jZ)V_5}ZTOQjd_|duLI@m9OgF@F-#k5+R7iTSByM2Vg zP?9C7}ji2w8^wIWE$B%{Q6T!V=tDW7ofzTx$UmYb)UyKm0<{DXU# z<`oDTYnFKHn6YKAhR4r8f*}{`jze67Y;Q34-oTt)L)DTlA7i@{DAo#A9DREW_tAH# zNm%QMaYGtc?SaW%LPPcxBYxZ&D3h^V7d#v$P&J|-0$2Mf% zyIJw#W{XG*#;T@yh{R=29p_M-bNZyvf;X_&D4(*Qy+umT0Bt~$zcFMQBRFpmJ7ZCK z?$(agAdrR5>SuV{j9j>eg;O8dg@*>iHaW5}#2od4G+KU)wM0quv;-N5%`uWcBF98+ zohq^FifUAj>6ptIhS7xD!Wm^c`%A?VTkjG-@$;R>K`vbowqc50mZBueQ$nfrU@D~q zP0WE(z<_d)t_#L$fl)DLn5#PAFP@GDaZqy1H-@~Ln>SC_aMqTz~hJ@SRUN zTqF*gOfn74;R0i7~Y;Ga;;AyT1C>GDLqJ1gDX+Tx6#`_i4-sTS#Lu$7L@IYQ2w6;?Q-`k?f3 zsbjr%lTxTug`}@|C1{+8=jZ)iweV{325~d8t1-DOy~;Q*63c`2lQ)u!kHJKYmqO8c z2?0t_rFDNTUswj>^Yfv{_Zy#zB~_X zF0bjTVl1Bnb(J|CL9&ptgR}Rz`Q(&G&no`vzh$|#FMRmpf&H65V{h+>wwka9idG7?=$_Zd@I64N?QdG8H<{eYN+rx$CSHO%XZuRd7t z4}blbUwl}z8VAlp;w-^(2!t%eq=q!Lg|@13rMt``gp}EaNY0Ud7>Ic!<)~JhqD-EU zGhXZh(2FjB2&3(A#w=B$(Jf5@a1O9rm#9B*bRdSXkGsY#gZ*f&aN?ENYZH?GQ z%@D-UoP3q|sN?DTp8v=HdCT@`MZX+)<4p?Y)nUv4R3zJgz;?4_{q$3OGshZFN+V6x zV$+DVo~r9;_8(xzYqFqQwFryavQ0D0YK=h<-(s-1x`k}8H!m>blHR}0pMF&F#{4e% z{8QR`rkguOFw${D|oUp#InsrGL5(F*EQGKtMP8=F{WaZEqy>cB!H|pyT&8GWRL2N zt@I;nD~l-6hr0ldW8>Suf=X!IF-N4t_<#E%X33+YR1%W|e0cgHpV5#)<0MmzxdaU`Xu&wKcS> zpE9O|?FZgIj6A4T++13oUS#IJW=xrwMHg^+g`@^+4uJ$|L$msn@#2ubw&JZ{OVi#ym7lFjFJEAzdq;V^Bz+lV)B;T zhb@;cR+y}2+alV*_92iY5}fB~(Q!Sj*e2~zS0U2c;@z5ye7PL3ZyrT{@o>hoZAKV* zx>otGKRA8^BSM?kc&F7{F&{`IqVoh(Ggc=I(qR1^O!pRR`^&iFhaep{Rf}_(YQH9$ zEje9disf2170>KFZu^d8gAm2AFqy4@>W~~s z3~wG7Zbk@VNjWn{#R!e9*`~xQY-udqpVzFT0wO6V!ulhUSWdbMhhr4wa{l<-vS&5j z;IdcW$b*^V)62xYx#g#yB%WWYIN)NV+WuP$%keT3la9odwKyXLqn?Yiy?yq4i>yw| zNRsi+BRLaxU5+6+OJxl)dsGKrH2K8|sPzpojl?*-#2d@PN=JA-g^g8WyBMPwO^mfpJ_@FBa{16=@xT& z4Q^6vy)1eY7E5^_xjDqfrQ)Na9jc^>BkOmgCKESxf-p>lVRbA5nR`^5f+F)K}Kk|jH1i6L;a zy5Z7#UaVCTJ&u8AOT%`(FYx8OWy%M5nSvg@d;3JFVM zPJ{^a*3+kiSdV1OqDuU`zgTg79vR1h@16}i^LKBCD|LByo+!RJU3suJ#Fb?Oi_d0@8 zc>kPP7kPd;@_QddUb%I|xQ*1+$aWmH+w=`}-LUPi$iqGkTXKgqVtR#DSMQOdY>7N|M)QiWb3){tU6L{^>HmiYWwktK3WVmMzPx6o~T&`0Y6_ ze-#x`VIxSkx($b-m(`BJ*q2#CGIe%2ml3P{y)inb=Q65`l;2BQ04EZC`EJBDm=t!7 zS31f=nqo+-K#m1FRyTWPFGR#TL|*1oO;~g`hSc4L%~KuAF-q`v9qtPU47(0hF<|3# zF{rO^VwXhyzRIEJT&0Ui8HnO=Y0%i_a(MMIkhAb$&tM3gu6tJ9g4GbXz1K1Kk-Dx4 zW5ruXmc}iW&kcO*{xzGeCkr%lRSV7Xr(B99dq>^Ph_WDL$9Vn-LPY$Gtpw`jpOL#a zsQ>6WchXZ!`Z zXIG^QmeMFpvxNa;xfv5PZyB>NT<6^s6SAQn6Cpv2>fay&pWpO!zE-x5%lyxNt>*lN z@afX<wTKs zQ`v?U6$f?AdTZH?!n`&NsMAhJ12@A!$hBU}rsaCDTn0hXmda}WdF?7HG)(V!=IN>E zrNdN)kCtbcu;%ssitD{w{N`8o34XzKs`-!q=}$PWMjq}v_8PL*igQBbh)IJw7|u>nkwI^%GxXjWCWYnz|;ML#4Qpb*wT*9fL}tQfcbT z3(QDVBDtBQoKyU=7Px86rL2HS0H8#9>#7}QsJ*GBU_>t$ImT!~vlCIBo$_f%wJIK} z*q2zQnq3#@!A#~SqaFg&>n{`{DaDfzcZUV8-YrlyJ9Q%OqnNHOW4NFUilTNguGSku z1n~`7943#uA{nvR?ep@UwbM2jB#ke6J%a5y)7|I;agS%cJ`)UWk0 z$b#8k;r1UQ<5Ibal1XRp<4nb3en4+$$mRvr;ubjve4zjt>#%7c#Vt8h_^O2x>a}lQ zfGnxK=jLaBfloqhFSxfD`1C5Xxqg?nK4$;uh#L$!2cBQ`q_Jij;Hnn_5$8NX9Q*Bz z;U*ArCML}tnrz{MK#1DyeD%;`YtN(WH5+@x++6Ye?2`NY9d{OUoO68tqUD``6S*_H z;`7r}-dscuTE`|io~}Cn_QEk5A8X>{f$>R`O2?iZOc!;|5Kh{Z1^i*KIT9B z(-&;hfO8I4&#(xdR60B1&}}(0kaA0Qt&Y4B8FRo}Ulxt3yvoH0I8&r^!mfB3C|h|g z7CP=~hiQs+pKkxB7C>(nQ*bZ+ZCB);6E0f{qnSF(f{#vKq!Wdx6mxw|y3EK>OkAWa z)k?=$jHg8s5>|+-Fd<@Gr`vn!OBX$@Ii|H=)&i14QS+Fcs!C)sf-bnSMBVTjPqGyf zHYEgc%7(H!@)xz5DRomv#Gw@NLWRouStPi_MB1 zXRC)ph(gz@kir>Nf^B0W8iV*^yl_jqU>;=XewA;lgrew9)$H)`0htn@V#s9 z9ar4jb1Vm;tu;=?7)mmMUaNtnIbA^_OJ)9lYE1pAHwPx7t!)?FLTku{@xqZ{hI&v z*WTyR#lSaiFL-+0a-LsRjc;Bsw>@v&?bu#qo|=xsI&(EfW{vQoA2}N-+2^XZXo^{` zdU^=n3J>OvPdCE$W(m!0T-CAKTybYHXI6Q74CiT%uUfp%JiobM-;Kmj@e$6MU*1Y z_(pTPM3j?iYqbNkH6|)ONEcFm#}=5j*@D3oyTZvQVYdlm8jZmeYLoVUR#jLARL7rp zlrJM1-w|`dxE70=q==jEAc7b)?1=NXeR#h9HP*5t9Km zi4msozUc$hnNPFkO1DlC8n_nk!2j&KnDH84A1Ea!4dnnp&Bd#h6r6_Vm66pN%O<29 z9*c1#(_n2y=nmDvKM$m|A;ghBBtlMw9%o1raZZbvby*uG8!+|?!C{RfWgXRXRta?7 zRQUY`NfI%RnDxlLJ%g1@9}}}id;e}$W3PL}D%B{;BtzBj#aW$hFq)2Ptzj7|X3Zh% z)hQw)H|tCGKK?J+tb2x_FphN%IVUd1nx?L4ea$vR_UgcL9n@DNMUriK=Sk1mUd50C z%dKwkor{F*sVYzF$~9F87M<7GYSCEER*}jXtjX-x!orTk=oLDwEDK*#R|jk(%*}@N zxGL-?h|we<1ux z2mkF;SpT>}+I?p0_X(#j@b_<#tidCU399)q!_!Z|S)@8*yS$?AW;ko9D$g7z5Tg;`#=&z9#va)#;DvX1AFiH5}v>y*c7{{^2Y9 z_@6(as}Eqa;A(Y^2??7M&z6?W+A^}>S{%k_Mlm!^qGm?kUQ)YE<1^cs)s4s+tQZdF zGnOfFy1C|Xal$%#y77j&gM+Tc8X>w`V@>)kmEW*l-EezfV|2w>R_->=RP5J@i_3Ek zk2{|99WxLA?yugWK7Ehh{B6rGU(fmBpT6Ms!N6a=GvoJ8JuyP8?-2Uu7}ww(TsN;_ zT#p^sRK^j2&E|&u)xXXtM;v_gX9yXar}S4{GFfA2td4yH9_!5xvsCG$!{&^c--fW! zAg+mOhEI|xL29%eoa#f0*$b_xF zB-AHdF?2B^m}Z~6dRDge8OZ@k#K+_}V+#X88+4-(lC8*L!1%ec6hx;XWgh7BQ(p6A zVl5^X=PIv7U8Ho(Y3E0aRi3P gPrc6-k7?k9|4B>FYJI|9kvTR2u*xQd=Q4B%8U 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℞DdgZ1LTFkRln?0$PaakS2m8zx1*jIvhsY-z048CGt z)<7E!w-&DAeZuvisH~9=lfKhsvOPVlg(N*@+;VpUGmY4oF>%DFo<)xMw5Mf9CokC! z7i_{2_fA`eQAksycUm3m7~x$f&BnO z(#d7zGbmZa<&GXVYItPjt^cY#8`IG^0e0r*&D;MaU2C0qQW*=stJd>MN`m8 z#XD^a6sA+YcjK$em?#Uy8$*zZ%M>_kBAx8{r@#M{(?9xRkJ*m?Mk!g!k^=(zJ>cHC;p0!R+bP6(2l&OuO`a_GwZb=y3fToHS#*)cX;rkD-`QYWm)o$W1eeDjv_x=n1 z*6)4Fb{HtB>UlM&3Mmu5j5tYj?J*gP#1S`L5jPjO)$7RRkI9vX>5SJylP7Y?l$;37 z5k@lB;(-72jfBJ#;Z=a)!QW z=6!2n84N=#l`WuuPcFjBTS#!L(@k=)+CAyEQ|P0xn`)%4@f^2~%OTeVRW*>PBc4Hv zH)y2w^WDVRqS3-o&=J2D=Q*xIDBS9VoOPj6q|lFsAq0jY>)7Kh>vhB9&vtzA%+WT1 z>k*DRuUTRk9$rVzS1q@X^b%XOhDFfVw`vo{WW+jRDI`(O?rs`*@Ztf*eL^uujJd_N z$C&Ou1&{ToG`7LHj>+zs+JVy-zXkh3-cHD{!K8sSKEtv>>_9A6q-i27J8t?H#A%Nq zs%b}wG*+LhDJK>c$Lyo<;(AAD)y=AuSH$yD&w=X3D<8H9caH-7lzDPJasQ;z=d1`X z`ocxMJUeeWYpPg6gxf1i=L@ZK^l{>?d$Z`4EP2&x^Jr?YGrpPX#u)KI_3*Rx`D+%od^geO=!4q{Ya( zYq@*earbEA{xb5Tr-^4<_4{2oxUjm&OG!Dg*aLWNYbyXULh;W#DE={Ogad*(421b7ZEHFeTHP!lJdR7IL2C z=7H5}gl)XR4p;c)9TrV1ZLn9QO&l{>4Qqqi2Tj|#5R zoL+D0menfPH5Z37g~q8NMN=_RTYC^ODjhsCGyYtG{B}N+`Wc3~TcnzdpsxHeo7$nP z!S^N_ZZFkIe>W&j;0?4^d4f^qEn_W~MQ_Kq*DcN|QM$8LkyP0OrFO7cgqu+>uvKfA zrpU|DGg-&BpH$UV66V>&TPH316EsOIv$omJpd;U7o+~vh?EkbDy<5!sZ>W+{W`7CSGCEF{SnFV^2yGrg(L!vYLPylPdL&g5lQP6N1xi{-|1B z`l#LOqwA4h{l*u0^5nTLbCMRFqu{x{>=;Yt__zTh?59FZ>P@<8Jr~=7FKd$d+;)~_u&mdf+xHf{c2;oP8(u!T;q27WtoB^J zyyV4oWSj~MCmeN#y;bqWlWpSpKJst>+%cz}=d4qKMH203`vkxKlb&aTnk(DdxogL+ zlbExXA!d#{b*ailxEWHNhLqa0+3$F4CyH^1IJ|Fh*5aJ7y}3k8;rgcV8~^wpvHs@2 z_~6Bk2QT(qZU@$jz|9a@x2lXe^0On6#Ti>=g#|GxHqZl^$o(a5`x)X4 z6x9;PIu;40>cRy>!U_jTs<%ReE+^(Za%Y641#e$br%Z)A8fS2BCKcB%(&`4?npe0} za4=>|pX;q&JH?z0ji+|+SDwR*K5;3b|{cec*DvZ*k&O48>^K}LLsQkvRX1Ls0 zw~V>Uii;&DJ=EUo>vR>D11JP?c9h|Q_l_)`n<(7y&hZ-LhAat+;Jn4!1tDg-7aJy8 z7`LpY#rupc1{<#k@)9eTkhd7wVi=&t+*qq4uo{Wzh&Uxnar&Ibtdq)+HIdef3L&~+ zSvDSL;cOAuUSHD%oqQVaYEgxV&{Pt*ZsCQg7_8HT-^K?v)1)h1>v%p{F5;~I((QY& zmL9=n=z^m$3a9-Ah}9cO^pFB2l;mvEvCk(n$gygRq0ULAaqUOC>Ev|4=^B@Ll>Ev zyU6`Nk6+y>2kN*Fuy| z@#2i`CY-5iK7&}JsROxSC&5^y^f|Ho^6Qy*PlTsK;varr<>ubP(hIAgZv36sa}f*d zCxxjN-Vi3(Pr?v0pIjssexSHxp2cI*w5Mq^w@(~aGCz8`Wl9PUB?0R?nr6ktqzTQY zBz!^D292xv*hNi|=bY(W=^Il2{YoZS=@~KC`YUwy6#>`C#5%Zoprmde3ol;YsFj~L zeCe#=ql=8GZL|`kYXLI)g%uH9B9M{XLs(%XA^mgQV#PidAhCApI%BKJMyN8jV5trHerznInu&N(!IS06|%VDsV#nnr>BSaZ`w zUg4fnJJa0=lh^}(*GJ*WCUXDOaX(w_roBE;W1?=*mA~4jx}g`?P8vn*t%ZVEiQIT?wp-tJ(MyMqp4W6p)-y+en^U2N_dT696npx zVCjxf>@;2w(*{#^wDdT)#c_#ez?y_3;><{U8u`iN#Lb{;A5)!m~6HHBhDCmN)sd7bKP*v1SH0$+h zOuTd2@N%y(4^d-tZl-~M`v3kH{LIh)yQJ$4ZQSEhLaM#v!dv{8^|X8LTn9`t!ER|`pk$zH4`?yi8*@&f2nYT}2J-|oTI^mrJ;pgw_KH|;W z2H#owp>TDRx$HGXHNSx3#``opt}9@BgZx>v#E$d>;mfp zF>fiZ!^$3C$}2xj3-hL zdyNSxsW3O@!C8U}H72Bz=h2PlV2||a$rHp4Zn0!}_Z`a3Ly)>;s^dRK$8c`z|(#X)1UtxL{~Z zp&ui?!1ZJpb74quXX#lsmRu6E?mbZ0ZDH(T5ge_vte0vU)7S=Y8lGHUur!fTG9<_O zN+{`yJl){Zj>ayC<%pDz5WC@K_lU`yV~u4ue8Se>;o0^HZ@lvhkRAQdWBUtydM+K%P@!ik_Q6*hIq=3)e#g3g3I2c(E7$ z!~e#+{N&TfG)_vt6H{I7^=!Vh$3z*h6jC-kxti3K35^1gNpQB1P2%TYKjB*sM*3V> z1;cJqo5v)D=Y68diS)z2L-(a`aChOj9dGz#xMpKYy@M=O>n{xC5XiF7_tTuX5tubcZBF4cou3WpJ22k<$(Pjw6`)6$=lLk*r4 z1o{)oW#zE>_tr3_TJY)z*QZi7#!410sn9i=_Lz&%m>L_KC#IB;cA?|rc!~IqVOX(z z_g4tt{dFDj&77=S9j?$XY!jhv6z8z@@Ap-I-FQPW!aMgmzVzNL?j6BNW9XI(e(nGJ zJ^sDF`Y!LjbHe7q3m7xUw-)S{OV&r8?)WQAeI(sX#H&j%9hc7Y@%KJudvQa%biDU7 zxA^-%+A(cf{=L8WMZ(FN%isP9M8g|R;kBRr61l(RM?ZST@BTDltx%FVFac726*=uH zl`R*0;127AVd#Qm65*&d40-lQP#5#-ed3Mdj-$ruWs+e?HFL--$^XSp7cz~Xwahvp zymk^eY3%`;$i>iSXoBVWCh^H8^ZMFz9vU{$(^w)SK=2DN0b@PhI^H}9 z7zvD1!ypU&JwmHW4FOf1L?Skyq#3_+j(=?V6Z`h8J zs}#8F0x3pLJ5OmH=c3peu>p@dQ$7-n< zd?oJ}H4Q1EYNjEnp9QGyeihXBViR9YCs)y9M5mZHjx-|KTE|V)b9K=hE=Ks@{=F;y z>c{_xU-%1O<9b)vyzJ>Wk#(m<>T=N68KV{{Z{e3-xBOg$Z+_vW2uHg}hO##v$A3U`*m&8XDFB5?cX&#~|QEQDi_LO5O#`U~XQHOuCL z(@t478bt#uuaPPbuLhoPBN4;fw~r{bIrA1wR;JHMGqFpKAw!vN=&Y>;6&)E0ue!}S z`(0#?$Yo{;V=BQ{bAu}$SVvhiQ+h-@s<~sG-Ij_#YiH+nEgVx85S7TywqG)L#uclH zSzCFfu}tJ?hb?>3%LlY%)E-*sJfxV}Cv~^)g2UC$+FEcJmaXNhcUr!BzvD}H8}8q3 zzzHv|dY(SKp>G1sal>EvH{Rs`^tXS&|M;)J%X-oAaxgr4uw|m>>gA5jcB1i~AqoAE z>8C`>Y87|7v^;#d=kNUBnt$t8-r@A#9lrU^Prw+Cmx0@-fhJfkU%cd7-~Nz~Z{XSS zFSEY-UX8r2nr$%$YrL5CLYo%@DJxYA15fwyaMQ<1)E5!@m^fc}f}I_y42^>ToV3-I z2}8_|J}b;)jT*3o;Fz)=UT><+V&yrGL%}%D`9ck*MU)@eStX!($p-`MF-qliYL0yw zEyg*V&tP_lS!tAqYmvrc7q`_(iGoR%G+a|kJtY#c>0h?!63JSyPH99lKH4}nfli{);Q9&M8l5c+ zN#Txy;)JmXeXcU%$`p{gs?Z6-V$k%3UDVCFh%Q_%CX2V3fAz`4ul?`;kU#OI1^?lH z@FzLHc?A7H8Z%QrGDKmshnLrxt3KDbaTs=mmC0nAS+v5KA~$_uGYMmcfeE+EymS98 ze&y@$@=vFad3d$w#SoDq9JPg13i~l~vF%A&v&nW-=4!}9@pQ{GmWxx;_A?gN&<`U& z=?6Z3an0GWvR|~T5{76Hr?6M~9P~96z0_5s58F|BqQSz7%&;9u)%LOThGl06jj3Ue z`ukc3HxK`!nYsZ@P`jK+Fe(kY^d0IN!rY8qbe3xjmM`NJ)Dbf08`Ngh*Z_gOhRYw zMr*4(Q>)Z^t9C@1^Q&~KQp4s(p8ZfMSvk|X%m+6aZygJ-DxVl5rH*G`z0>fg-#y~p+bz~O_Cw~$%RL`H zx@6NwTBq3Hc2n4Ww&mWrr)xd`$G`gtfBL<1UhLtsmwQqytQx~n>j);Y851`{tjh~^ zfB(HFk-zx0+x(k<`VF=hH#~iLjq`@P=Sz;44Slx!;G?Jf=<$Z{KDc4a5m)!`@aH8$ zRij8X!BvX@g-ZIu!8}7ST#boRI0!CMQgOji7kF|rXt(WV+q}YcE-XBpG?rZSgl~qd znto^SHP|nT;#x&&5iI#o7>+u_el+yOf+S|M>wPXDhTw#8PQesdhD;j-V?AT>Or?61 zQn22rS8N`!ZHI9ekRsxinA5KjlgCUWrr#mf(=~;r?8s?LnQllaGUbV9SC{ySE}o8+{o=kow_Q1>W$&JG1yipmDrz)vMq!frBQU*uuD3!YNB&BfG*05 zG?lZe-V3T^+D$b$vOeD${-)EBubOy}>Y5gKdegIVmLXf(YRUL`ujgtP;V4Ir%L|sT zpVR;7V@%ZM!5f_@+h8$+u$j~;Y(G^8GUGV%g(IIi36|R(Y^TE0KJv2P^W^bMe)9N= zi#~C(XgOJ|=tAIp)$x3*sS>A03wC26PXa#T+{6?kQ@UpV;`^8~ayuBhMm+|$F%e@y zJhkD{iO8bT>=`0Nbh$n653F(AS+>}sE>*_r^3WKC<(9$H*g1?(X>Ug%bJ8k)ebo!E zpXl#fHNsH~%lF=d^=oL}T3xLACG?+QrioR6Wn=jHw+vsrW%#2%<}k4;*`a{RzcnD^{xZbc)zjpt~sMsq_x*Uc^YnHnj;>mvvo^INy<{ zt#bL$O}|?70hMr^>))piM~1OV@kHh#p${IlnCkL7Q^ev)h|fogU;0%@mOX zbdrnc=$wTR9Jx}~jvL|kAM7}3lrEM^;j{~M-Y`@bv0VfbYQbk6`(o**!pTbb@$-?+ zIo3hc>!25AA91BKZjSxe@mCQ6v#5xv(;cD-|SX%EmZVGu9>64=kjvIfMA3c1= z>nAJjo&pFH8HH5{cIzOWu?trGfgb`!g(9YsIQToRqAh9rlnXg6twQP((zsKqx`Yq{j~ zVw;Mvn=;!mbG{06&a#~{AHCS~$KL2zhETWpPBZ1v3#PL$WiUkxE-A4rnIk6*apdje zmY?j@I5~^q$zGk_zWGt&`Ty?w{15)xJ-+_S@3Hy*2b9gol!Ph5Zc>_ELGk!SYbdtx zbPGPHfaB9^;pJY>o;3!W2fp|5V^wYmxI8jW6EAj_>+SAvVFwaL4E=r}rKCL3ER3-b z)4pQBLDL*+CodH?Y3hWTMY+yXszXMpi{}ERM!e*3O8?fsgWo@)+x-z?dWn;fP|cn7 z(#o87!o^SyeEEG;*1#tl!|h{Ob;7zctUE*5kAV8{>eUvsTfO&XJYt-{l8OoH^o^);;r;^n~e4gaXjFHJJHH1#$v)yeu z6k2cP00RhxNi5Dcq%>$jM3*74IxNjUr;#W60#Xsi%2Ulnzlb^QQEEFs7t|?DSliIK zfyplD_s?0Z?%};>NQIj|vGkVCSURieled?SdrSD@otEuxz-JIhy9w|osjduuzSf>tKoV_!Et{P z*bl;3!|)I#{d;Q(*3?v4#gS67YJh8m=i7;QPg}fIoZD5pNSt8G<^bl$LiJCj#*pYG z5o}=9IIc!@rt(HJ!ZM13PeoZ7%f?lbGqheWu;2|d@?JzS#9b`xqITT7snE6;oP^As zRiNK(FfQV)!N%u|S0hd|X`oO@bvb$Dgy3Lm480F5Za&5qIQE%ngzN&=IK0*Iy>o@m zEpa4r&g^YNtldPjRylFZg;d~rRLWE=!lDiO+*!k|rNNp^F0;&6eN0!*@ZN39lg-F3 zL1!(E^W?MYa&H@EzaFL78A3v*H_|fwh@k7!`Z^>#g;8YHk@^a zF$<5jnP-FW@Fr{8FP7kvhVxm=)lPBeeoFKyYvC?JKsakGt#gc3w(Bjdf}^;?wScK- zfA)ACv$|Cw)vo}kmImxo#+3l!O%}%;cgkbR)sNWhugHoVG6vm?EIk}GhLzXPcc0+F z2DXFnm;adMx-Se79)0^EU;f%haO*9MRavYU3#)s$H{RuR`Gn(R!|Hy=Pd=QOvOdRU z(!zg#rA^>TfW{QoL9GdQ=tbAnW-(RhBFo&NG9Lond?MP39(aSFY7!C^q1n zAx^y#!E1reC`Bg~XoIV;fl62hYg|KI;SJ>V>ATg&Y=_iaTb-o~ESkJQl*LrSSpp0%H=6R|~xLc<1noV^&8ekhWYt z|CA3NKjP`lhWqC&V|$C7H8KZN>L{-^YEx20%ubXdws2}3+${kS4W`oCywe?luM^f)UkKLI+00b5*uHkQZaM26K!C4D$omg&lhDCs{-nNWM z4bHdG&_|84-cE&B4}BkXLdgOro#DJy!}TF&wv(`_o$pv+S9d55LuZ7eQ0381FWbf` zj;TSA`g}aknNYdUwm_~F$j^NuwT>v%h=H-+QXc***5~hWZ!s`kK4aTQ?lhKLtxCb2 zQR-mpltncEStl*58{uSWu)%`KT=ekC#}i-tz2C$BQpVhSS8;0tr$-H)EiAppQC#-IqG_+lPkXdb8qmi@BD<% zUS4y#kK9@YZXb1cYZ%OucCli0_k?b}V0GSe+GhUV@BW0_ouhLa-|~1D$;R@_Z=Eni z!*BiMhSScoXgrBRsQA!kNbIJGk|W=Ik(hGf!A8|t7^4vqC6VKf&KkBq`aQ;F(yL_MEI* zZmk+k_)PkHMRZ}1igE-SrycXc>vW;Qf?Ow^jJ1v|3R|SC1Z`bN2+O06$JYbz-C1+{ zs9~&(1_v~a$2WmCH2ChEp?jCyc>*`wUft&Q={djiN8hDb&me(3T(M}>QQaDC0%FQ+ zm0wnkZVIa)+*_y@ZmGd@&RWKpx!5I!tPnjI+*I}biXG~y@D4f`u?WY@C7b>BzyWVPTu(5q;Pn&3 zZ$B(NAK}0Lp67r1@4mtI#SIUh3Y$?${;gNj9ZjwktQS@djM1>2bdlLj>bNvdq#naM zz-dcW6LR=(MT98k0Ffk_U$=I2t`aLtDfAgOL%{@%&I!hFXYJXgLO;&iJb^j2RVx8G z7seMqplm+nqac*n)4IZote5lcrasH)BI%?R&KFt$R~}yOg~waRr=Kadec8jaEtJb1 z`{{?6lXLI^$)(E9g?E1O9CN;8e6i=@6|4f>ZiNT+yBQKZFTxLA!tI4ZUSm$`m*6a^ zE{+epd<(wRH<(M^(br9-pp+3E)wTLY<1oHs=>jE3cEhgvh}PxN;qLj|0!!vBcs-2F z-ECFtG}hAkz;dy`M$JCI>L(@vXVlH8h$D)_k~E{KWJG$pU^xjwYoK!)CU^hVIS+0M z&j;`&BKZa9-AFHMZidXe_mBDgAAiP=9^bHb@TIdAQ-P~NH6MMMKBC;VoH{ED76$6a9Xrm?`VQ9uLSkl6iiiR>Gzwm!+CY8 z8j=u;Wi$(%YuV>OSf2A_fd0DGDJR1u8C=VC25I5e-HvP%`^P`RO^-Qx^G~sPVY&9V zG24OA^t7hsCOh(^KD-?}avI4w604PDDZ+&j9$e;wy`49O2Ui38m^oUsj4=_5)Mrg- z{fx8bdU3%bSONvCFo{A&h!(KUDH(n{B#brer^IIR>|%9*FE!CLmBW(7TE*$6oVnab zzHxuW(`{lK;q3T~aZ-2uEGXZ!!1phzH>iLWnEK3M0{8#;*Lm`rKgK5IxX!7to!7EG zWrcbS6|O6=ZooS=${wQTyUmKKEb8OYIaLzo0=uNKFWwkdRwH4e*lO0JdyuC7`qw+d z`&)$`PFnE0gfoT?$i|@8M$knS1F3o;yw+J7w%Di*fUnEzT~d#YTaAi`){WsPz)^sc zMrecK{tEut!@@W2z`9jd(9K>D?=UGMPd-Ja3C0N)Ei8}V-FIMj#r9Fp8jz`AncN5-55^&oE%agno^*#GyTJ`i8`7T*Alt~3+tJt zJ;S(X$|}KYt&l3ts#GUa6-T-$7IbvSXckQCEqB))XN!ha+wfvHkf(`<7uR@aSO!ny z9qOxVEB&evoW+*RSOo9jwWVd{4cTh`dM<@26@K^OmPKf2T&2I*j^bO$hEHE!^Sw`> zU@hvpBbLog(l9Y6oHmx-ZbNdyTX$D{cG>g&2LlD6CGf*t;tRLeti9#^X9LUDa&O%t zMR;*DRb!Zmsp!RY(po;g9LTwFF&TzpF(!bSutrE?h%_|KF+w1V53Om{KMVR~Q?> zXy#EaTe?&r8O*1j5#Ib7vAx5^)pPjHKO+v;9K|hN+c8{!#y+R|*$Bp31_Ra>R>oz}q`~-m-FQkR^{cE`B zVd3F=gv;k!US5C3yI;D^AAbKi&o>iKHkmO|xwVRMhbk$>ING3&!^f3=bUg^WiR#}l zTWnV*k1=2szYbI?UX@r=)<^Ksr*N@Fti>F) zlqO)$&L9~so=#lug~kdugYI%L6&FSE@2RMD;i@VZhp})u>349la7;zmM8P}cUzGB8)k6yEBX_bAQzmr^JiC zaMCGB`srS{bAH0Y4LpB&i6AsS(8tV=Zw97RxJjydGS=g4K=Mc`g@M4LSrUg!<#!s$ zX1e3(dM|7mD z(1(td;6jBgGL*-kakKw1GVORdPOOe^(X~rLxnWF+RA$+7L2@-CcC+zJmgJaqd#8bi2$n zDN{XJEA(a11z$GUV#t*lQ;Pl?9~Rs?KIX~QwN5GpR>AO<6XCl_ZRXy;g8$1ue#wjd zbN<_Z@(vA-n?Wzjt}fx-Uc`<(P(hw~P^)~XMFe8KAYira6s z{NQ2c@gDyFO(1J@L-i>OXaFvYt74;V~+8+F9fSb@jrXuocR8#ibWyJ z@#(6_4XIVCz-}yPox@ja!Mh_Nv2aE}6B_hGgKu8+_}$kp@YAOgJ{(3oo-Wv@NZS#e z{McpQ>*pSK0hCxxu~IZZQL@el+Z%<+iB&}6u#d^qngqTS!}TbUHj(?YGQ0K;SOm|@ zBCs_}z)68qUUYGU0t6LfD)5e~LLVP9RM{sjykOmWtQrqd?lAvgmZKAKeK!_F8^%3r z1;4rTxKzRWi^ED3p=Jax*e8eNTP*q>+tJ~gIt;hJz_|U0`{RgXEI4Mx#e9uK0z^DY z$=t?~1|EWV-H}OA73v*IEr^BcKVk(!@PaWj@T*|9x_!4lK_GaHg7=pZP#fmy1lfoM zy^6t;Q0>e&sAW#VK0Yb-2gjZIMF_}B{4*5=(gc0gnG!cyWfWD~WfWUqb`;=XQ7vel zr(UG)j4rF5nA0CH`NJn+Xp%^RBGl{w&WgYLvc)&QXt6&h(_$sPr>ciIK~TU42QTE#_CX+85k#?%!1kipMYW_! zPq_->@$1In`5^e!4K31ZHER}S;S)_D-Db`xpsT|30Ni>&J2z`}z+OeH2o?`Wz^KIe zy>PxVdDNY=A~~`&PKBFhk5LhKg8zPSc(?+)r1@DVoYwhKGmKaJ%RNBkg8%jt4pjMX6Jrrjr%D=Ngamu;B`y zq!ZwjI5G1gIHZDQ8|Lk(WEE=b1Z(pL7ZEHy_wIv#0)ht*h$yz#gmbK%hC5c9WC-wb zQ6qphyS3KYX>kaGb1c}6#%%-F27k4o0ob38Y*|;WM>kEd0sMF>SadeXN(r|;O$Sp< z$T{NUwSxZg3?`I)sJPYw2@6P}N*07-E&@`Fx_*Jbx%2Zz6a$V80R;*A_D8I>bx^!J zoUv*sI5>G(O&XpPgcH1@(}4hkcldk}5G#zlKEXUsrem;+vk0U}6}1HBomFb2y^U6J zP>@*3;!xs@6W*IucuA(#TRfW3Fu9mNl8CqOPr+7aZDy?%Z~lVD(w*|*7_q;eQLTH5nM0KdUaaYR zI}q#iPLNe*u^*i&iNR~x+fcry20;KyymC088A zg2z#Dyi)k)m=wE_)n~PNbsHSk9q?k|aW_!>IQi7f z{Dpzjwj}W+Y|kW3%Wx-8?iLOetB~<>saOQXPX`9;vjsE{;HFc&S_!_}0^dEdP!K3` zW;Of8N^mzY0KZ(ZYl$j&y9c&cLJ}X(KvKcqzvL|D5IF>Vds6&(6l^1`6XP=y$D;0> znJCvSSvafKL)QIL8*d6S&STLAs9__j)yS)gQp?kXP753g1`gmbG@O3RTs;9}p*qhc z>nyI)IEP6i^peZ0Y_lH|R&6^|Y&yqFO>IU_@tSFM&EBgODk`1Wt719vAC=mPV*xJK z0x!(atlE#;c%X9?m#jF9Wp1Avr}*VMU=x5p?hCF}ux-79_v7z(#{i{7e|mic=|wH zB0bbsE$K0Hrk{p`#>k+lpc?C<;CM|~_oRJzGuRX17E6U7);f!Y*gK&0f@N@s20^4k z(PO|F-c1ZM7vivuqwA)cah!KBeH;FR1noj|>kt+`Q@E05UJuPI2Iqp^^-WZEu zvgv7q;L|DMlM3^&u20Dy{QdpGhca%S;1=<@aL-$zg%Wq3a}p;RQFMEe+AxO z6z9T4nAV%CNmVQYXC+A)h-EXZbW(}(63_>+wbG}(@L1T|*Ah`{Mej_GOo3A=Sa?SP z2G6X1N)?~=o&f{Ey5R%-cvTz|6}hiPZNHrBYC{O z6Aa$bTBH(y7cihgfJG2=PG&+jaV5bavbCR9Yg-4rSbD4)hfkM^`wNALmyPFzv+CM` z6=1g3+BrfL*Oc)%7E@Yh%4ht*kxxd*)iKoh5x}qUm|7G*jUKQ*8TeVzH#kV8yK_ zAY~fYiSxKw0B;^5zWa2>mn)Coe0_t5eZt|CIjpnDl1iNeL$pF-PE2B})*|yCZosMe zH4$f51x~qO(>9!(yMo3k9!?Q|`0xmiipQ}c1Gs6}o%Ei;%SOZadL#ILS8=W6i2nYo z7I%Y#*NVXcORR#!$X2>m#r;*Wi@@!|^;0<>r%ZGP4R$|n#un=;N6a2yR4lf$Ps;R8TeKBj6DL*KFK0Ey9J>d!m z7ECvT;uHm|R`7ZQ+zpDu$W`8lv*41*0j^5DhZ@!hdd8PS#HJ&QVl4a~W1(Qp+mqrx z^4?4k+9D8wsVX=mg{=CeHjWi)@Byoa4$L?a1n62y9=e z`UAu6_yIb@S~;;~5bZs1%w<-oFQ(!7V&QSyIc%fi;mX!|2#&NP_e9z)_V87J!SnmY zM7(o5Rt6t15d`mN&B#&bi{Nld z1z)MKXH%Lc>&bYyOi}2j`@)pdPG%N`^%H465o5@7saV-_G zR3uX#BUR6%ZyWTkAZ2T>wIYD}6spynX@Q*SM=!=1o8|!5T)3qp{M=JD8*|}?j#cjp z$~vA>#21?du8F>94C0e@kg1)Cm|r0ixlWZW%x2vhld7x~otvml3|_^8%&P6s`#SS% zKkZL=zuV*Sl95&MtaV6baw;}CL6GGB?o3GGx6cFq`5#_kkcxl(uRZS198{IUGaEAl zVjCC?x7UhY1YWHg{Mk)|?WN#&%~qMRO)pBG^AnZNmT)W?18muw*}#(bV$3xAoC4^% zP(!x!+|^$-4$H=bpB?`{nojaPop5h|u#UC$?51{C;N4NNi`*0=m5tolA#l*txu=Rb z7ScdtfoTf}3OpKL@Oj4=&>MxyyGc`7a88P!FTne&;=m(_O>kJXoDIY(_&+RR0TJ$? RwcP*!002ovPDHLkV1fx$uoM6Q literal 0 HcmV?d00001 diff --git a/public/scene2d/dwarf.png b/public/scene2d/dwarf.png new file mode 100644 index 0000000000000000000000000000000000000000..678ce671472e2bf00e431822c0b36303278e6988 GIT binary patch literal 35588 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 literal 0 HcmV?d00001 diff --git a/public/scene2d/elf.png b/public/scene2d/elf.png new file mode 100644 index 0000000000000000000000000000000000000000..8f5138a44305eb3eff09331e4385d23612b0d93b GIT binary patch literal 24994 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 SEu$*Y4O`^XE^-?f{dG=^rDV611J*BBQz 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 Buffer.from(buf).toString('base64url'); +function signToken(payload) { + const body = b64url(JSON.stringify({ ...payload, exp: Math.floor(Date.now() / 1000) + 30 * DAY })); + const sig = crypto.createHmac('sha256', SECRET).update(body).digest('base64url'); + return `${body}.${sig}`; +} +function verifyToken(token) { + if (!token || !token.includes('.')) return null; + const [body, sig] = token.split('.'); + const expect = crypto.createHmac('sha256', SECRET).update(body).digest('base64url'); + if (sig.length !== expect.length || !crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expect))) return null; + try { const d = JSON.parse(Buffer.from(body, 'base64url').toString()); return d.exp < Math.floor(Date.now() / 1000) ? null : d; } + catch { return null; } +} +const hashKey = (k) => crypto.createHash('sha256').update(k).digest('hex'); + +// ---- http helpers ----------------------------------------------------------- +function send(res, code, obj, extra = {}) { + const data = JSON.stringify(obj); + res.writeHead(code, { 'Content-Type': 'application/json', ...extra }); + res.end(data); +} +function readBody(req, limit = 1e6) { + return new Promise((resolve) => { + let raw = ''; let over = false; + req.on('data', (c) => { raw += c; if (raw.length > limit) { over = true; req.destroy(); } }); + req.on('end', () => { if (over) return resolve(null); try { resolve(raw ? JSON.parse(raw) : {}); } catch { resolve({}); } }); + req.on('error', () => resolve(null)); + }); +} +function parseCookies(req) { + const out = {}; + (req.headers.cookie || '').split(';').forEach((p) => { const i = p.indexOf('='); if (i > -1) out[p.slice(0, i).trim()] = decodeURIComponent(p.slice(i + 1).trim()); }); + return out; +} +const publicUser = (u) => u && { id: u.id, email: u.email, handle: u.handle, role: u.role, status: u.status }; +function sessionCookie(token) { + const dom = COOKIE_DOMAIN ? `; Domain=${COOKIE_DOMAIN}` : ''; + return `${COOKIE}=${token}; Path=/; HttpOnly; SameSite=Lax${dom}; Max-Age=${30 * DAY}`; +} +const clearCookie = `${COOKIE}=; Path=/; HttpOnly; SameSite=Lax${COOKIE_DOMAIN ? `; Domain=${COOKIE_DOMAIN}` : ''}; Max-Age=0`; + +// identity: returns { kind:'user', user } | { kind:'agent', name } | null +function identify(req) { + const auth = req.headers.authorization || ''; + if (auth.startsWith('Bearer ')) { + const key = auth.slice(7).trim(); + const row = db.prepare('SELECT * FROM api_keys WHERE key_hash=?').get(hashKey(key)); + if (row) { db.prepare('UPDATE api_keys SET last_used=? WHERE id=?').run(Date.now(), row.id); return { kind: 'agent', name: row.name }; } + } + const data = verifyToken(parseCookies(req)[COOKIE]); + if (data) { const u = db.prepare('SELECT id,email,handle,role,status FROM users WHERE id=?').get(data.uid); if (u) return { kind: 'user', user: u }; } + return null; +} +const who = (id) => (id.kind === 'agent' ? `agent:${id.name}` : id.user.handle); + +// ---- generic collection CRUD (documents / boards) --------------------------- +function listRows(table, extraOrder = 'updated_at DESC') { + return db.prepare(`SELECT * FROM ${table} ORDER BY ${extraOrder}`).all(); +} + +const server = http.createServer(async (req, res) => { + const url = new URL(req.url, 'http://x'); + const path = url.pathname.replace(/^\/api/, '') || '/'; + const method = req.method; + let m; + try { + if (path === '/health') return send(res, 200, { ok: true, service: 'amerc-api', version: 2 }); + + // ---------- AUTH ---------- + if (path === '/auth/signup' && method === 'POST') { + const b = await readBody(req); if (!b) return send(res, 400, { ok: false, error: 'bad body' }); + const { email, password, handle } = b; + if (!email || !password || password.length < 6) return send(res, 400, { ok: false, error: 'email and password (min 6) required' }); + if (db.prepare('SELECT id FROM users WHERE email=?').get(String(email).toLowerCase())) return send(res, 409, { ok: false, error: 'email already registered' }); + const role = db.prepare('SELECT COUNT(*) n FROM users').get().n === 0 ? 'admin' : 'member'; + const info = db.prepare('INSERT INTO users(email,handle,pass,role,status,created_at) VALUES(?,?,?,?,?,?)') + .run(String(email).toLowerCase(), handle || String(email).split('@')[0], hashPassword(password), role, 'active', Date.now()); + const u = db.prepare('SELECT id,email,handle,role,status FROM users WHERE id=?').get(Number(info.lastInsertRowid)); + return send(res, 200, { ok: true, user: publicUser(u) }, { 'Set-Cookie': sessionCookie(signToken({ uid: u.id })) }); + } + if (path === '/auth/login' && method === 'POST') { + const b = await readBody(req) || {}; + const u = db.prepare('SELECT * FROM users WHERE email=?').get(String(b.email || '').toLowerCase()); + if (!u || !verifyPassword(b.password || '', u.pass)) return send(res, 401, { ok: false, error: 'invalid credentials' }); + if (u.status !== 'active') return send(res, 403, { ok: false, error: 'account suspended' }); + return send(res, 200, { ok: true, user: publicUser(u) }, { 'Set-Cookie': sessionCookie(signToken({ uid: u.id })) }); + } + if (path === '/auth/logout' && method === 'POST') return send(res, 200, { ok: true }, { 'Set-Cookie': clearCookie }); + if (path === '/auth/me' && method === 'GET') { const id = identify(req); return send(res, 200, { ok: true, user: id?.kind === 'user' ? publicUser(id.user) : null, agent: id?.kind === 'agent' ? id.name : null }); } + if (path === '/auth/password' && method === 'POST') { + const id = identify(req); if (id?.kind !== 'user') return send(res, 401, { ok: false, error: 'login required' }); + const b = await readBody(req) || {}; + const u = db.prepare('SELECT * FROM users WHERE id=?').get(id.user.id); + if (!verifyPassword(b.currentPassword || '', u.pass)) return send(res, 401, { ok: false, error: 'current password incorrect' }); + if (!b.newPassword || b.newPassword.length < 6) return send(res, 400, { ok: false, error: 'new password min 6 chars' }); + db.prepare('UPDATE users SET pass=? WHERE id=?').run(hashPassword(b.newPassword), u.id); + return send(res, 200, { ok: true }); + } + + // ---------- ADMIN (user role=admin) ---------- + if (path.startsWith('/admin/')) { + const id = identify(req); + if (id?.kind !== 'user') return send(res, 401, { ok: false, error: 'login required' }); + if (id.user.role !== 'admin') return send(res, 403, { ok: false, error: 'admin only' }); + const me = id.user; + + if (path === '/admin/users' && method === 'GET') + return send(res, 200, { ok: true, users: db.prepare('SELECT id,email,handle,role,status,created_at FROM users ORDER BY id DESC').all() }); + if ((m = path.match(/^\/admin\/users\/(\d+)$/)) && method === 'PATCH') { + const b = await readBody(req) || {}; const u = db.prepare('SELECT * FROM users WHERE id=?').get(Number(m[1])); + if (!u) return send(res, 404, { ok: false, error: 'not found' }); + db.prepare('UPDATE users SET role=?,status=?,handle=? WHERE id=?').run(b.role || u.role, b.status || u.status, b.handle || u.handle, u.id); + return send(res, 200, { ok: true }); + } + if ((m = path.match(/^\/admin\/users\/(\d+)$/)) && method === 'DELETE') { + if (Number(m[1]) === me.id) return send(res, 400, { ok: false, error: 'cannot delete yourself' }); + db.prepare('DELETE FROM users WHERE id=?').run(Number(m[1])); return send(res, 200, { ok: true }); + } + // api keys (agent tokens) + if (path === '/admin/keys' && method === 'GET') + return send(res, 200, { ok: true, keys: db.prepare('SELECT id,name,prefix,created_at,last_used FROM api_keys ORDER BY id DESC').all() }); + if (path === '/admin/keys' && method === 'POST') { + const b = await readBody(req) || {}; const raw = `amk_${crypto.randomBytes(24).toString('base64url')}`; + const info = db.prepare('INSERT INTO api_keys(name,key_hash,prefix,created_at) VALUES(?,?,?,?)').run(b.name || 'agent', hashKey(raw), raw.slice(0, 12), Date.now()); + return send(res, 200, { ok: true, id: Number(info.lastInsertRowid), key: raw, note: 'store this key now; it is not shown again' }); + } + if ((m = path.match(/^\/admin\/keys\/(\d+)$/)) && method === 'DELETE') { db.prepare('DELETE FROM api_keys WHERE id=?').run(Number(m[1])); return send(res, 200, { ok: true }); } + // companies + products generic CRUD + for (const [coll, cols] of [['companies', ['name', 'tier', 'risk', 'notes']], ['products', ['name', 'company_id', 'status', 'price', 'notes']]]) { + if (path === `/admin/${coll}` && method === 'GET') return send(res, 200, { ok: true, [coll]: db.prepare(`SELECT * FROM ${coll} ORDER BY id DESC`).all() }); + if (path === `/admin/${coll}` && method === 'POST') { + const b = await readBody(req) || {}; const vals = cols.map((c) => b[c] ?? (c === 'company_id' ? null : '')); + const info = db.prepare(`INSERT INTO ${coll}(${cols.join(',')},created_at) VALUES(${cols.map(() => '?').join(',')},?)`).run(...vals, Date.now()); + return send(res, 200, { ok: true, id: Number(info.lastInsertRowid) }); + } + if ((m = path.match(new RegExp(`^/admin/${coll}/(\\d+)$`))) && method === 'PATCH') { + const b = await readBody(req) || {}; const row = db.prepare(`SELECT * FROM ${coll} WHERE id=?`).get(Number(m[1])); + if (!row) return send(res, 404, { ok: false, error: 'not found' }); + db.prepare(`UPDATE ${coll} SET ${cols.map((c) => `${c}=?`).join(',')} WHERE id=?`).run(...cols.map((c) => b[c] ?? row[c]), row.id); + return send(res, 200, { ok: true }); + } + if ((m = path.match(new RegExp(`^/admin/${coll}/(\\d+)$`))) && method === 'DELETE') { db.prepare(`DELETE FROM ${coll} WHERE id=?`).run(Number(m[1])); return send(res, 200, { ok: true }); } + } + return send(res, 404, { ok: false, error: 'not found' }); + } + + // ---------- CONTENT (docs / files / boards): any authenticated identity ---------- + const id = identify(req); + const needAuth = () => send(res, 401, { ok: false, error: 'login or api key required' }); + + // DOCUMENTS + if (path === '/docs' && method === 'GET') { if (!id) return needAuth(); return send(res, 200, { ok: true, docs: db.prepare('SELECT id,title,folder,updated_by,created_at,updated_at FROM documents ORDER BY folder,title').all() }); } + if (path === '/docs' && method === 'POST') { if (!id) return needAuth(); const b = await readBody(req) || {}; const now = Date.now(); + const info = db.prepare('INSERT INTO documents(title,folder,body,updated_by,created_at,updated_at) VALUES(?,?,?,?,?,?)').run(b.title || 'Untitled', b.folder || '', b.body || '', who(id), now, now); + return send(res, 200, { ok: true, id: Number(info.lastInsertRowid) }); } + if ((m = path.match(/^\/docs\/(\d+)$/)) && method === 'GET') { if (!id) return needAuth(); const d = db.prepare('SELECT * FROM documents WHERE id=?').get(Number(m[1])); return d ? send(res, 200, { ok: true, doc: d }) : send(res, 404, { ok: false, error: 'not found' }); } + if ((m = path.match(/^\/docs\/(\d+)$/)) && method === 'PATCH') { if (!id) return needAuth(); const d = db.prepare('SELECT * FROM documents WHERE id=?').get(Number(m[1])); if (!d) return send(res, 404, { ok: false, error: 'not found' }); const b = await readBody(req) || {}; + db.prepare('UPDATE documents SET title=?,folder=?,body=?,updated_by=?,updated_at=? WHERE id=?').run(b.title ?? d.title, b.folder ?? d.folder, b.body ?? d.body, who(id), Date.now(), d.id); return send(res, 200, { ok: true }); } + if ((m = path.match(/^\/docs\/(\d+)$/)) && method === 'DELETE') { if (id?.kind !== 'user') return send(res, 403, { ok: false, error: 'human login required to delete' }); db.prepare('DELETE FROM documents WHERE id=?').run(Number(m[1])); return send(res, 200, { ok: true }); } + + // FILES (netdisk) + if (path === '/files' && method === 'GET') { if (!id) return needAuth(); const folder = url.searchParams.get('folder'); const rows = folder != null ? db.prepare('SELECT id,name,folder,mime,size,kind,created_by,created_at,updated_at FROM files WHERE folder=? ORDER BY name').all(folder) : db.prepare('SELECT id,name,folder,mime,size,kind,created_by,created_at,updated_at FROM files ORDER BY folder,name').all(); return send(res, 200, { ok: true, files: rows }); } + if (path === '/files' && method === 'POST') { if (!id) return needAuth(); const b = await readBody(req, MAX_UPLOAD); if (!b) return send(res, 413, { ok: false, error: 'file too large (max 16MB)' }); + const now = Date.now(); const name = String(b.name || 'file').replace(/[/\\]/g, '_'); + if (b.kind === 'text' || (typeof b.text === 'string' && b.data == null)) { + const text = b.text || ''; const info = db.prepare('INSERT INTO files(name,folder,mime,size,store,kind,text_body,created_by,created_at,updated_at) VALUES(?,?,?,?,?,?,?,?,?,?)').run(name, b.folder || '', b.mime || 'text/plain', Buffer.byteLength(text), '', 'text', text, who(id), now, now); + return send(res, 200, { ok: true, id: Number(info.lastInsertRowid) }); + } + const buf = Buffer.from(String(b.data || ''), 'base64'); const store = `${now}-${crypto.randomBytes(4).toString('hex')}-${name}`; + fs.writeFileSync(join(FILES_DIR, store), buf); + const info = db.prepare('INSERT INTO files(name,folder,mime,size,store,kind,created_by,created_at,updated_at) VALUES(?,?,?,?,?,?,?,?,?)').run(name, b.folder || '', b.mime || 'application/octet-stream', buf.length, store, 'binary', who(id), now, now); + return send(res, 200, { ok: true, id: Number(info.lastInsertRowid) }); } + if ((m = path.match(/^\/files\/(\d+)\/raw$/)) && method === 'GET') { if (!id) return needAuth(); const f = db.prepare('SELECT * FROM files WHERE id=?').get(Number(m[1])); if (!f) return send(res, 404, { ok: false, error: 'not found' }); + if (f.kind === 'text') { res.writeHead(200, { 'Content-Type': f.mime || 'text/plain; charset=utf-8' }); return res.end(f.text_body || ''); } + const p = join(FILES_DIR, f.store); if (!existsSync(p)) return send(res, 410, { ok: false, error: 'blob missing' }); + res.writeHead(200, { 'Content-Type': f.mime, 'Content-Length': f.size, 'Content-Disposition': `inline; filename="${basename(f.name)}"` }); return createReadStream(p).pipe(res); } + if ((m = path.match(/^\/files\/(\d+)$/)) && method === 'GET') { if (!id) return needAuth(); const f = db.prepare('SELECT * FROM files WHERE id=?').get(Number(m[1])); return f ? send(res, 200, { ok: true, file: f }) : send(res, 404, { ok: false, error: 'not found' }); } + if ((m = path.match(/^\/files\/(\d+)$/)) && method === 'PATCH') { if (!id) return needAuth(); const f = db.prepare('SELECT * FROM files WHERE id=?').get(Number(m[1])); if (!f) return send(res, 404, { ok: false, error: 'not found' }); const b = await readBody(req, MAX_UPLOAD) || {}; + const text = b.text != null && f.kind === 'text' ? b.text : f.text_body; + db.prepare('UPDATE files SET name=?,folder=?,text_body=?,size=?,updated_at=? WHERE id=?').run(b.name ?? f.name, b.folder ?? f.folder, text, f.kind === 'text' ? Buffer.byteLength(text) : f.size, Date.now(), f.id); return send(res, 200, { ok: true }); } + if ((m = path.match(/^\/files\/(\d+)$/)) && method === 'DELETE') { if (!id) return needAuth(); const f = db.prepare('SELECT * FROM files WHERE id=?').get(Number(m[1])); if (f) { if (f.store) try { fs.unlinkSync(join(FILES_DIR, f.store)); } catch {} db.prepare('DELETE FROM files WHERE id=?').run(f.id); } return send(res, 200, { ok: true }); } + + // BOARDS (whiteboards) + if (path === '/boards' && method === 'GET') { if (!id) return needAuth(); return send(res, 200, { ok: true, boards: db.prepare('SELECT id,name,links,updated_by,created_at,updated_at FROM boards ORDER BY updated_at DESC').all() }); } + if (path === '/boards' && method === 'POST') { if (!id) return needAuth(); const b = await readBody(req, MAX_UPLOAD) || {}; const now = Date.now(); + const info = db.prepare('INSERT INTO boards(name,data,links,updated_by,created_at,updated_at) VALUES(?,?,?,?,?,?)').run(b.name || 'Untitled board', b.data || '', JSON.stringify(b.links || []), who(id), now, now); return send(res, 200, { ok: true, id: Number(info.lastInsertRowid) }); } + if ((m = path.match(/^\/boards\/(\d+)$/)) && method === 'GET') { if (!id) return needAuth(); const bd = db.prepare('SELECT * FROM boards WHERE id=?').get(Number(m[1])); return bd ? send(res, 200, { ok: true, board: bd }) : send(res, 404, { ok: false, error: 'not found' }); } + if ((m = path.match(/^\/boards\/(\d+)$/)) && method === 'PATCH') { if (!id) return needAuth(); const bd = db.prepare('SELECT * FROM boards WHERE id=?').get(Number(m[1])); if (!bd) return send(res, 404, { ok: false, error: 'not found' }); const b = await readBody(req, MAX_UPLOAD) || {}; + db.prepare('UPDATE boards SET name=?,data=?,links=?,updated_by=?,updated_at=? WHERE id=?').run(b.name ?? bd.name, b.data ?? bd.data, b.links != null ? JSON.stringify(b.links) : bd.links, who(id), Date.now(), bd.id); return send(res, 200, { ok: true }); } + if ((m = path.match(/^\/boards\/(\d+)$/)) && method === 'DELETE') { if (!id) return needAuth(); db.prepare('DELETE FROM boards WHERE id=?').run(Number(m[1])); return send(res, 200, { ok: true }); } + + return send(res, 404, { ok: false, error: 'not found' }); + } catch (err) { + return send(res, 500, { ok: false, error: 'server error', detail: String(err && err.message || err) }); + } +}); + +server.listen(PORT, '127.0.0.1', () => console.log(`amerc-api v2 listening on 127.0.0.1:${PORT}, db=${DB_PATH}, files=${FILES_DIR}`)); diff --git a/src/App.jsx b/src/App.jsx new file mode 100644 index 0000000..9cd53c1 --- /dev/null +++ b/src/App.jsx @@ -0,0 +1,3 @@ +import Scene2DApp from './Scene2D.jsx'; + +export default Scene2DApp; diff --git a/src/Auth.jsx b/src/Auth.jsx new file mode 100644 index 0000000..b5568a6 --- /dev/null +++ b/src/Auth.jsx @@ -0,0 +1,200 @@ +import React, { useCallback, useEffect, useState } from 'react'; +import { api } from './api.js'; + +// Session hook -------------------------------------------------------------- +export function useAuth() { + const [user, setUser] = useState(null); + const [ready, setReady] = useState(false); + const refresh = useCallback(async () => { + try { const d = await api('/auth/me'); setUser(d.user || null); } + catch { setUser(null); } + finally { setReady(true); } + }, []); + useEffect(() => { refresh(); }, [refresh]); + const logout = useCallback(async () => { try { await api('/auth/logout', { method: 'POST' }); } catch {} setUser(null); }, []); + return { user, ready, setUser, refresh, logout }; +} + +// Login / Signup ------------------------------------------------------------ +export function AuthPanel({ auth, onDone }) { + const [mode, setMode] = useState('login'); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [handle, setHandle] = useState(''); + const [err, setErr] = useState(''); + const [busy, setBusy] = useState(false); + + if (auth.user) return ; + + const submit = async (e) => { + e.preventDefault(); + setErr(''); setBusy(true); + try { + const path = mode === 'login' ? '/auth/login' : '/auth/signup'; + const d = await api(path, { method: 'POST', body: { email, password, handle } }); + auth.setUser(d.user); + onDone && onDone(d.user); + } catch (e2) { setErr(e2.message); } + finally { setBusy(false); } + }; + + return ( +
+
+ + +
+ + {mode === 'signup' && ( + + )} + + {err &&

{err}

} + +

{mode === 'login' ? 'New mercenary? Switch to Sign Up.' : 'The first account becomes Quartermaster (admin).'}

+
+ ); +} + +function SignedInPanel({ auth }) { + const [pw, setPw] = useState(false); + const [cur, setCur] = useState(''); + const [nw, setNw] = useState(''); + const [msg, setMsg] = useState(''); + const [err, setErr] = useState(''); + const change = async (e) => { + e.preventDefault(); setErr(''); setMsg(''); + try { await api('/auth/password', { method: 'POST', body: { currentPassword: cur, newPassword: nw } }); setMsg('Password updated.'); setCur(''); setNw(''); setPw(false); } + catch (e2) { setErr(e2.message); } + }; + return ( +
+

Signed in as {auth.user.handle} ({auth.user.role})

+ {msg &&

{msg}

} +
+ {auth.user.role === 'admin' && } + PM Site + Docs + + +
+ {pw && ( +
+ + + {err &&

{err}

} + +
+ )} +
+ ); +} + +// Admin console (Quartermaster backdoor) ------------------------------------ +const TABS = [ + { key: 'users', label: 'Users', cols: ['handle', 'email', 'role', 'status'] }, + { key: 'companies', label: 'Companies', cols: ['name', 'tier', 'risk', 'notes'] }, + { key: 'products', label: 'Products', cols: ['name', 'company_id', 'status', 'price', 'notes'] }, + { key: 'keys', label: 'Agent Keys', cols: ['name', 'prefix', 'last_used'] }, +]; + +export function AdminConsole({ auth }) { + const [tab, setTab] = useState('users'); + const [rows, setRows] = useState([]); + const [err, setErr] = useState(''); + const [draft, setDraft] = useState({}); + + const load = useCallback(async (key) => { + setErr(''); + try { const d = await api(`/admin/${key}`); setRows(d[key] || []); } + catch (e) { setErr(e.message); setRows([]); } + }, []); + useEffect(() => { if (auth.user?.role === 'admin') load(tab); }, [tab, auth.user, load]); + + if (!auth.ready) return

Loading…

; + if (!auth.user) { + return ( +
+

Backdoor sealed

+

Quartermaster credentials required.

+ +
+ ); + } + if (auth.user.role !== 'admin') { + return

Not authorised

{auth.user.handle} is a member, not Quartermaster.

; + } + + const meta = TABS.find((t) => t.key === tab); + const editable = meta.cols.filter((c) => tab !== 'users' || true); + + const create = async () => { + try { + const r = await api(`/admin/${tab}`, { method: 'POST', body: draft }); + if (tab === 'keys' && r.key) window.alert(`Agent key (copy now, shown once):\n\n${r.key}`); + setDraft({}); load(tab); + } catch (e) { setErr(e.message); } + }; + const patch = async (id, patchBody) => { + try { await api(`/admin/${tab}/${id}`, { method: 'PATCH', body: patchBody }); load(tab); } + catch (e) { setErr(e.message); } + }; + const del = async (id) => { + if (!window.confirm('Delete this record?')) return; + try { await api(`/admin/${tab}/${id}`, { method: 'DELETE' }); load(tab); } + catch (e) { setErr(e.message); } + }; + + return ( +
+
+ {TABS.map((t) => ( + + ))} + {auth.user.handle} · admin +
+ {err &&

{err}

} +
+
+ {meta.cols.map((c) => {c})} + actions +
+ {rows.map((r) => ( +
+ {meta.cols.map((c) => { + if (tab === 'users' && c === 'role') return ( + ); + if (tab === 'users' && c === 'status') return ( + ); + return {String(r[c] ?? '')}; + })} + +
+ ))} + {!rows.length &&
no records
} +
+ {tab !== 'users' && ( +
+ {(tab === 'keys' ? ['name'] : editable).map((c) => ( + setDraft((d) => ({ ...d, [c]: e.target.value }))} /> + ))} + +
+ )} +
+ ); +} diff --git a/src/ConsoleShell.jsx b/src/ConsoleShell.jsx new file mode 100644 index 0000000..799c814 --- /dev/null +++ b/src/ConsoleShell.jsx @@ -0,0 +1,64 @@ +import React, { useState } from 'react'; +import { useAuth } from './Auth.jsx'; + +const APPS = [ + { label: 'Tavern', href: 'https://amerc.ai/' }, + { label: 'Docs', href: 'https://docs.amerc.ai/' }, + { label: 'PM', href: 'https://pm.amerc.ai/' }, + { label: 'Git', href: 'https://git.amerc.ai/' }, +]; + +function ConsoleLogin({ auth }) { + const [mode, setMode] = useState('login'); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [handle, setHandle] = useState(''); + const [err, setErr] = useState(''); + const [busy, setBusy] = useState(false); + const submit = async (e) => { + e.preventDefault(); setErr(''); setBusy(true); + try { + const { api } = await import('./api.js'); + const d = await api(mode === 'login' ? '/auth/login' : '/auth/signup', { method: 'POST', body: { email, password, handle } }); + auth.setUser(d.user); + } catch (e2) { setErr(e2.message); } finally { setBusy(false); } + }; + return ( +
+
+
amerc
+
+ + +
+ setEmail(e.target.value)} required /> + {mode === 'signup' && setHandle(e.target.value)} />} + setPassword(e.target.value)} required minLength={6} /> + {err &&

{err}

} + +

One amerc account across tavern, docs, PM and git.

+
+
+ ); +} + +export default function ConsoleShell({ title, accent = '#27d8ff', current, children }) { + const auth = useAuth(); + if (!auth.ready) return
Loading…
; + if (!auth.user) return
; + return ( +
+
+
amerc{title}
+ +
+ {auth.user.handle}{auth.user.role === 'admin' ? ' · admin' : ''} + +
+
+
{typeof children === 'function' ? children(auth) : children}
+
+ ); +} diff --git a/src/DocsApp.jsx b/src/DocsApp.jsx new file mode 100644 index 0000000..9e5d4f8 --- /dev/null +++ b/src/DocsApp.jsx @@ -0,0 +1,86 @@ +import React, { useCallback, useEffect, useState } from 'react'; +import { marked } from 'marked'; +import ConsoleShell from './ConsoleShell.jsx'; +import { api } from './api.js'; + +marked.setOptions({ breaks: true }); + +function DocsWorkspace() { + const [docs, setDocs] = useState([]); + const [sel, setSel] = useState(null); + const [doc, setDoc] = useState(null); + const [editing, setEditing] = useState(false); + const [draft, setDraft] = useState({ title: '', folder: '', body: '' }); + const [err, setErr] = useState(''); + const [q, setQ] = useState(''); + + const loadList = useCallback(async () => { + try { const d = await api('/docs'); setDocs(d.docs || []); } catch (e) { setErr(e.message); } + }, []); + useEffect(() => { loadList(); }, [loadList]); + useEffect(() => { + if (sel == null) { setDoc(null); return; } + api(`/docs/${sel}`).then((d) => { setDoc(d.doc); setDraft({ title: d.doc.title, folder: d.doc.folder, body: d.doc.body }); setEditing(false); }).catch((e) => setErr(e.message)); + }, [sel]); + + const create = async () => { + const title = window.prompt('Document title', 'New document'); if (!title) return; + try { const r = await api('/docs', { method: 'POST', body: { title, folder: '', body: `# ${title}\n\n` } }); await loadList(); setSel(r.id); setEditing(true); } catch (e) { setErr(e.message); } + }; + const save = async () => { try { await api(`/docs/${sel}`, { method: 'PATCH', body: draft }); await loadList(); setDoc({ ...doc, ...draft }); setEditing(false); } catch (e) { setErr(e.message); } }; + const del = async () => { if (!window.confirm('Delete document?')) return; try { await api(`/docs/${sel}`, { method: 'DELETE' }); setSel(null); loadList(); } catch (e) { setErr(e.message); } }; + + const filtered = docs.filter((d) => (d.title + ' ' + (d.folder || '')).toLowerCase().includes(q.toLowerCase())); + const folders = {}; + filtered.forEach((d) => { (folders[d.folder || ''] = folders[d.folder || ''] || []).push(d); }); + + return ( +
+ +
+ {err &&

{err}

} + {!doc &&
Select or create a document.
} + {doc && ( + <> +
+ {editing + ? setDraft({ ...draft, title: e.target.value })} /> + :

{doc.title}

} +
+ {editing && setDraft({ ...draft, folder: e.target.value })} />} + {!editing && } + {editing && } + {editing && } + +
+
+

updated by {doc.updated_by || '—'}

+ {editing + ?