auramaxx 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +244 -227
- package/.next/app-path-routes-manifest.json +11 -10
- package/.next/build-manifest.json +14 -14
- package/.next/prerender-manifest.json +49 -25
- package/.next/react-loadable-manifest.json +41 -41
- package/.next/routes-manifest.json +6 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +12 -12
- package/.next/server/app/api/[...doc]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agent-requests/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/apps/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/apps/manifests/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/apps/static/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/docs/plain/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/events/route.js +1 -19
- package/.next/server/app/api/events/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/import-from-openclaw/[channel]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/import-from-openclaw/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/import-from-openclaw/validate/[channel]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/update/route.js +63 -1
- package/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/[id]/apps/[wid]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/[id]/apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/[id]/export/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/import/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/workspace/route_client-reference-manifest.js +1 -1
- package/.next/server/app/app-legacy-do-not-use/page.js +1 -1
- package/.next/server/app/app-legacy-do-not-use/page.js.nft.json +1 -1
- package/.next/server/app/app-legacy-do-not-use/page_client-reference-manifest.js +1 -1
- package/.next/server/app/app-legacy-do-not-use.html +1 -1
- package/.next/server/app/app-legacy-do-not-use.rsc +14 -14
- package/.next/server/app/approve/[actionId]/page.js +1 -1
- package/.next/server/app/approve/[actionId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs/[...doc]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/health/page_client-reference-manifest.js +1 -1
- package/.next/server/app/health.html +1 -1
- package/.next/server/app/health.rsc +13 -13
- package/.next/server/app/hello/page_client-reference-manifest.js +1 -1
- package/.next/server/app/hello.html +1 -1
- package/.next/server/app/hello.rsc +14 -14
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +18 -21
- package/.next/server/app/page.js +3 -3
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/.next/server/app/privacy.html +1 -1
- package/.next/server/app/privacy.rsc +13 -13
- package/.next/server/app/share/[token]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/.next/server/app/terms.html +1 -1
- package/.next/server/app/terms.rsc +13 -13
- package/.next/server/app/yo/page.js +2 -0
- package/.next/server/app/yo/page.js.nft.json +1 -0
- package/.next/server/app/yo/page_client-reference-manifest.js +1 -0
- package/.next/server/app/yo.html +1 -0
- package/.next/server/app/yo.meta +7 -0
- package/.next/server/app/yo.rsc +23 -0
- package/.next/server/app-paths-manifest.json +11 -10
- package/.next/server/chunks/2145.js +1 -1
- package/.next/server/chunks/2460.js +1 -1
- package/.next/server/chunks/5246.js +1 -1
- package/.next/server/chunks/5678.js +1 -1
- package/.next/server/chunks/5784.js +1 -1
- package/.next/server/chunks/6086.js +2 -20
- package/.next/server/chunks/{5553.js → 6415.js} +2 -2
- package/.next/server/chunks/7935.js +2 -2
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/WshFGr6RxGYP6AbWuT9OG/_buildManifest.js +1 -0
- package/.next/static/chunks/1168.aaac1edbb597fe5a.js +1 -0
- package/.next/static/chunks/1255-7999eac54f80a49f.js +1 -0
- package/.next/static/chunks/142-fa9752f53a551f63.js +1 -0
- package/.next/static/chunks/2505.d54ccadc42f4e3d1.js +1 -0
- package/.next/static/chunks/2619-04bc32f026a0d946.js +1 -0
- package/.next/static/chunks/2927.7e00cc878d9a3f52.js +1 -0
- package/.next/static/chunks/3573-1b41d7b8a000d015.js +1 -0
- package/.next/static/chunks/3609.ded5a5306e18af9c.js +1 -0
- package/.next/static/chunks/3667-1db7bd03948e60df.js +1 -0
- package/.next/static/chunks/3826.a73d4a88d8c09030.js +1 -0
- package/.next/static/chunks/{3a91511d-648a2ba3dad7df0c.js → 3a91511d-ba215c0b5dc21ba9.js} +1 -1
- package/.next/static/chunks/4256.48407d9abad5ea33.js +1 -0
- package/.next/static/chunks/4685-7f53bbfc4a9845eb.js +1 -0
- package/.next/static/chunks/4901-ba6a32818662e70a.js +1 -0
- package/.next/static/chunks/4919-7e7cdd5efc9f2110.js +1 -0
- package/.next/static/chunks/4bd1b696-100b9d70ed4e49c1.js +1 -0
- package/.next/static/chunks/5336-233ec7ab3807267c.js +1 -0
- package/.next/static/chunks/5442-b5bb869e832e8967.js +1 -0
- package/.next/static/chunks/6233-97a810aa272af547.js +1 -0
- package/.next/static/chunks/626.a5109d16f9eca1f6.js +1 -0
- package/.next/static/chunks/6872-faea0f088ab2d450.js +1 -0
- package/.next/static/chunks/7338-3ce17a93614f1d77.js +59 -0
- package/.next/static/chunks/7394-4bdb1feefad1a74a.js +1 -0
- package/.next/static/chunks/7616-1129bcb3eee8d315.js +1 -0
- package/.next/static/chunks/786-26deffb41572cbb3.js +1 -0
- package/.next/static/chunks/8273-8e92d34180669ca9.js +1 -0
- package/.next/static/chunks/8357.5dee1e0c4e5bb091.js +1 -0
- package/.next/static/chunks/9062-2bc2d089f9c9c6ba.js +1 -0
- package/.next/static/chunks/9380.f198afbf0c6b5369.js +1 -0
- package/.next/static/chunks/app/_not-found/page-5a8c6a29f762fa58.js +1 -0
- package/.next/static/chunks/app/api/[...doc]/page-f0852f35f0fd1d44.js +1 -0
- package/.next/static/chunks/app/api/agent-requests/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/apps/install/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/apps/manifests/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/apps/static/[...path]/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/docs/plain/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/events/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/import-from-openclaw/[channel]/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/import-from-openclaw/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/import-from-openclaw/validate/[channel]/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/page-cc59bebcc0d2c01d.js +1 -0
- package/.next/static/chunks/app/api/restart/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/update/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/version/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/workspace/[id]/apps/[wid]/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/workspace/[id]/apps/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/workspace/[id]/export/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/workspace/[id]/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/workspace/config/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/workspace/import/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/api/workspace/route-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/app-legacy-do-not-use/page-e5dc864e92d90ca7.js +1 -0
- package/.next/static/chunks/app/approve/[actionId]/page-2acca1f490424f21.js +1 -0
- package/.next/static/chunks/app/docs/[...doc]/page-8e2a2d036caab242.js +1 -0
- package/.next/static/chunks/app/docs/page-acf872a03ff79893.js +1 -0
- package/.next/static/chunks/app/error-66f983b7769dabfa.js +1 -0
- package/.next/static/chunks/app/health/page-c9185854ed9c86d0.js +1 -0
- package/.next/static/chunks/app/hello/page-74c9f4deaa4b03dd.js +1 -0
- package/.next/static/chunks/app/layout-af8d9969c7aeb758.js +1 -0
- package/.next/static/chunks/app/page-16dfcd1c7cc88bcc.js +1 -0
- package/.next/static/chunks/app/privacy/page-8e2d17079355c2cc.js +1 -0
- package/.next/static/chunks/app/share/[token]/page-5dd9b0418eee411f.js +1 -0
- package/.next/static/chunks/app/terms/page-8e2d17079355c2cc.js +1 -0
- package/.next/static/chunks/app/yo/layout-cf84f975aad4c719.js +1 -0
- package/.next/static/chunks/app/yo/page-719dc5f213fdfb30.js +1 -0
- package/.next/static/chunks/framework-a32a2a465584c0bc.js +1 -0
- package/.next/static/chunks/main-0f0f9142f74e7215.js +1 -0
- package/.next/static/chunks/main-app-24f0c92ba10af457.js +1 -0
- package/.next/static/chunks/pages/_app-4b3fb5e477a0267f.js +1 -0
- package/.next/static/chunks/pages/_error-c970d8b55ace1b48.js +1 -0
- package/.next/static/chunks/{webpack-768de8b7d6a7a27a.js → webpack-79ad58260e9b10b4.js} +1 -1
- package/.next/static/css/83cd401584ab787f.css +3 -0
- package/.next/trace +28 -28
- package/.next/types/app/yo/layout.ts +84 -0
- package/.next/types/app/yo/page.ts +84 -0
- package/.next/types/routes.d.ts +4 -2
- package/.next/types/validator.ts +18 -0
- package/bin/auramaxx.js +9 -24
- package/docs/ARCHITECTURE.md +1 -1
- package/docs/AUTH.md +6 -3
- package/docs/CLI.md +2 -0
- package/docs/MCP.md +2 -0
- package/docs/credentials.md +2 -0
- package/package.json +1 -1
- package/prisma/migrations/20260227214000_update_agent_action_ttl_defaults/migration.sql +19 -0
- package/public/0a167e5e-4f52-4715-ae23-bf63d259a6b1.png +0 -0
- package/public/141ec92c-6780-4b23-838f-9a7bf1e91bb8.png +0 -0
- package/public/3afc4935-92cb-42af-9624-0b1341c12a5e.png +0 -0
- package/public/43947df5-dbcf-4e49-ab8b-41b9162c0410.png +0 -0
- package/public/5aeae9ce-0d38-49ea-8fd1-167892a04a85.png +0 -0
- package/public/660e4ea3-a3a6-4be4-a8ca-2cb74c51dfb5.png +0 -0
- package/public/733f02d7-6b58-4ba6-a5c8-d062cd205e1d.png +0 -0
- package/public/a32d65cb-95b0-4977-be6b-cf69f515afbe.png +0 -0
- package/public/agent1.png +0 -0
- package/public/agent10.png +0 -0
- package/public/agent2.png +0 -0
- package/public/agent3.png +0 -0
- package/public/agent4.png +0 -0
- package/public/agent5.png +0 -0
- package/public/agent6.png +0 -0
- package/public/agent7.png +0 -0
- package/public/agent8.png +0 -0
- package/public/agent9.png +0 -0
- package/public/c4938305-b811-4ccc-91db-94d309734827.png +0 -0
- package/public/f2ca6825-a4f3-4107-815c-51ee740dfc09.png +0 -0
- package/public/llm.txt +2 -0
- package/public/llms.txt +39 -0
- package/public/ss-dark1.png +0 -0
- package/public/ss-dark1.webp +0 -0
- package/public/ss-dark2.png +0 -0
- package/public/ss-dark2.webp +0 -0
- package/public/ss-dark3.png +0 -0
- package/public/ss-dark3.webp +0 -0
- package/public/ss-light1.png +0 -0
- package/public/ss-light1.webp +0 -0
- package/public/ss-light2.png +0 -0
- package/public/ss-light2.webp +0 -0
- package/public/ss-light3.png +0 -0
- package/public/ss-light3.webp +0 -0
- package/shared/agent-profile-schema.ts +81 -0
- package/shared/credential-field-schema.ts +12 -0
- package/skills/auramaxx/SKILL.md +71 -691
- package/src/app/UnlockPageClient.tsx +1939 -0
- package/src/app/api/page.tsx +8 -9
- package/src/app/api/update/route.ts +105 -36
- package/src/app/approve/[actionId]/page.tsx +4 -1
- package/src/app/docs/DocsPageContent.tsx +3 -3
- package/src/app/globals.css +94 -0
- package/src/app/layout.tsx +1 -0
- package/src/app/page.tsx +25 -1935
- package/src/app/yo/layout.tsx +29 -0
- package/src/app/yo/page.tsx +528 -0
- package/src/components/HumanActionBar.tsx +34 -8
- package/src/components/agent/AgentSidebar.tsx +3 -1
- package/src/components/agent/CredentialAgent.tsx +5 -1
- package/src/components/agent/CredentialDetail.tsx +32 -1
- package/src/components/agent/CredentialForm.tsx +94 -7
- package/src/components/agent/CredentialRow.tsx +8 -1
- package/src/components/agent/credentialFormName.ts +22 -1
- package/src/components/agent/types.ts +2 -2
- package/src/components/design-system/Modal.tsx +14 -1
- package/src/hooks/useUpdateChecker.ts +17 -1
- package/src/lib/pino.ts +77 -8
- package/src/server/cli/commands/actions.ts +1 -1
- package/src/server/cli/commands/agent.ts +110 -65
- package/src/server/cli/commands/approve.ts +1 -1
- package/src/server/cli/commands/auth.ts +81 -20
- package/src/server/cli/commands/token.ts +2 -2
- package/src/server/cli/lib/escalation.ts +109 -24
- package/src/server/cli/lib/process.ts +2 -1
- package/src/server/cli/socket.ts +1 -1
- package/src/server/index.ts +2 -0
- package/src/server/lib/agent-profile-records.ts +72 -0
- package/src/server/lib/credential-transport.ts +27 -11
- package/src/server/lib/defaults.ts +3 -3
- package/src/server/lib/escalation-responder.ts +1 -1
- package/src/server/lib/resolve-action.ts +2 -2
- package/src/server/mcp/server.ts +6 -1
- package/src/server/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/src/server/routes/actions.ts +2 -2
- package/src/server/routes/agent-profiles.ts +82 -0
- package/src/server/routes/auth.ts +39 -4
- package/src/server/routes/credentials.ts +18 -0
- package/src/server/tests/cli/agent-auth.test.ts +20 -39
- package/src/server/tests/cli/agent.test.ts +18 -0
- package/src/server/tests/cli/auth-action-flag.test.ts +3 -2
- package/src/server/tests/cli/bin-entrypoint.test.ts +35 -11
- package/src/server/tests/cli/escalation.test.ts +7 -3
- package/src/server/tests/cli/process.test.ts +3 -3
- package/src/server/tests/cli/socket.test.ts +2 -2
- package/src/server/tests/endpoints/actions.test.ts +2 -2
- package/src/server/tests/endpoints/agent-profiles.test.ts +117 -0
- package/src/server/tests/endpoints/auth.test.ts +34 -0
- package/src/server/tests/lib/credential-transport.test.ts +68 -2
- package/src/server/tests/lib/defaults.test.ts +2 -2
- package/src/server/tests/lib/escalation-responder.test.ts +2 -2
- package/src/server/tests/setup.ts +7 -0
- package/src/server/tsconfig.tsbuildinfo +1 -1
- package/src/server/types.ts +1 -1
- package/.next/static/chunks/1168.63dbb444a33b1867.js +0 -1
- package/.next/static/chunks/1255-e8718b02724690dd.js +0 -1
- package/.next/static/chunks/142-aeaf7ffa9c53516d.js +0 -1
- package/.next/static/chunks/2505.22aaa333fd65908f.js +0 -1
- package/.next/static/chunks/2619-3c9e02e22d10480a.js +0 -1
- package/.next/static/chunks/2927.e7e9e2a1b8d2dc61.js +0 -1
- package/.next/static/chunks/3573-27e17f4ff2dd86ed.js +0 -1
- package/.next/static/chunks/3609.6f8e0ecd6de9566c.js +0 -1
- package/.next/static/chunks/3667-d6770121629db38b.js +0 -1
- package/.next/static/chunks/3826.7dfe96467cd74e45.js +0 -1
- package/.next/static/chunks/4256.50cb375c979ffd5a.js +0 -1
- package/.next/static/chunks/4685-3f8d92f574366fec.js +0 -1
- package/.next/static/chunks/4901-54c1ac380b7b43bb.js +0 -1
- package/.next/static/chunks/4919-fe6f1553abfc9420.js +0 -1
- package/.next/static/chunks/4bd1b696-f785427dddbba9fb.js +0 -1
- package/.next/static/chunks/5336-bd251f91235f7c11.js +0 -1
- package/.next/static/chunks/5442-be197c885bf12079.js +0 -1
- package/.next/static/chunks/5553-c8b86fe3513fce04.js +0 -59
- package/.next/static/chunks/6233-44e6fe57a552a816.js +0 -1
- package/.next/static/chunks/626.2583673a0386a81b.js +0 -1
- package/.next/static/chunks/6872-6442f2f5cce36ce5.js +0 -1
- package/.next/static/chunks/7411-3ca797c21b722ccd.js +0 -1
- package/.next/static/chunks/7616-b8bd37ce1f735d6f.js +0 -1
- package/.next/static/chunks/786-9ed39f96091b2be4.js +0 -1
- package/.next/static/chunks/8273-922091226ba84a94.js +0 -1
- package/.next/static/chunks/8357.6159472717ff7d11.js +0 -1
- package/.next/static/chunks/9062-3eb1607c96486f88.js +0 -1
- package/.next/static/chunks/9380.93f361baab2eefdf.js +0 -1
- package/.next/static/chunks/app/_not-found/page-c3b87025baf0a9c2.js +0 -1
- package/.next/static/chunks/app/api/[...doc]/page-790c4b33ba1fde4a.js +0 -1
- package/.next/static/chunks/app/api/agent-requests/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/apps/install/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/apps/manifests/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/apps/static/[...path]/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/docs/plain/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/events/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/import-from-openclaw/[channel]/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/import-from-openclaw/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/import-from-openclaw/validate/[channel]/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/page-b53f9aa17a4c5201.js +0 -1
- package/.next/static/chunks/app/api/restart/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/update/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/version/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/workspace/[id]/apps/[wid]/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/workspace/[id]/apps/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/workspace/[id]/export/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/workspace/[id]/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/workspace/config/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/workspace/import/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/api/workspace/route-e83b12cbab2e8707.js +0 -1
- package/.next/static/chunks/app/app-legacy-do-not-use/page-0052191daef60036.js +0 -1
- package/.next/static/chunks/app/approve/[actionId]/page-45cd3b8fa062d5e5.js +0 -1
- package/.next/static/chunks/app/docs/[...doc]/page-632ac406200b66fe.js +0 -1
- package/.next/static/chunks/app/docs/page-b7556394709b43df.js +0 -1
- package/.next/static/chunks/app/error-3d6057da512253d8.js +0 -1
- package/.next/static/chunks/app/health/page-80c985cd72328b74.js +0 -1
- package/.next/static/chunks/app/hello/page-fd71babcd192729b.js +0 -1
- package/.next/static/chunks/app/layout-285c6ef3f16bae63.js +0 -1
- package/.next/static/chunks/app/page-85017185df14c37b.js +0 -1
- package/.next/static/chunks/app/privacy/page-faf36cd0dde6dfa3.js +0 -1
- package/.next/static/chunks/app/share/[token]/page-22d51d6c5a47bb75.js +0 -1
- package/.next/static/chunks/app/terms/page-faf36cd0dde6dfa3.js +0 -1
- package/.next/static/chunks/framework-e60c938074ff7136.js +0 -1
- package/.next/static/chunks/main-447abf206d7ebd2f.js +0 -1
- package/.next/static/chunks/main-app-f63b86bdbf5b7b88.js +0 -1
- package/.next/static/chunks/pages/_app-6c8c2371b16a04b8.js +0 -1
- package/.next/static/chunks/pages/_error-94812ad32cad7365.js +0 -1
- package/.next/static/css/eb25c6452113486f.css +0 -3
- package/.next/static/zCR6u3S4dIjlCtV80nNsp/_buildManifest.js +0 -1
- /package/.next/static/{zCR6u3S4dIjlCtV80nNsp → WshFGr6RxGYP6AbWuT9OG}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[786],{8678:(t,e,r)=>{r.d(e,{NZ:()=>X});var n=r(73088),i=r(69413),s=r(34561),a=r(85392),o=r(36013),l=r(16405),u=r(26096),c=r(67270),h=r(99197),f=r(43197);class d{fragment;name;signature;topic;args;constructor(t,e,r){let n=t.name,i=t.format();(0,a.n)(this,{fragment:t,name:n,signature:i,topic:e,args:r})}}class p{fragment;name;args;signature;selector;value;constructor(t,e,r,n){let i=t.name,s=t.format();(0,a.n)(this,{fragment:t,name:i,args:r,signature:s,selector:e,value:n})}}class g{fragment;name;args;signature;selector;constructor(t,e,r){let n=t.name,i=t.format();(0,a.n)(this,{fragment:t,name:n,args:r,signature:i,selector:e})}}class m{hash;_isIndexed;static isIndexed(t){return!!(t&&t._isIndexed)}constructor(t){(0,a.n)(this,{hash:t,_isIndexed:!0})}}let y={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},A={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:t=>`reverted with reason string ${JSON.stringify(t)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:t=>{let e="unknown panic code";return t>=0&&t<=255&&y[t.toString()]&&(e=y[t.toString()]),`reverted with panic code 0x${t.toString(16)} (${e})`}}};class b{fragments;deploy;fallback;receive;#t;#e;#r;#n;constructor(t){let e=[];e="string"==typeof t?JSON.parse(t):t,this.#r=new Map,this.#t=new Map,this.#e=new Map;let r=[];for(let t of e)try{r.push(f.FK.from(t))}catch(e){console.log(`[Warning] Invalid Fragment ${JSON.stringify(t)}:`,e.message)}(0,a.n)(this,{fragments:Object.freeze(r)});let n=null,i=!1;this.#n=this.getAbiCoder(),this.fragments.forEach((t,e)=>{let r;switch(t.type){case"constructor":if(this.deploy)return void console.log("duplicate definition - constructor");(0,a.n)(this,{deploy:t});return;case"fallback":0===t.inputs.length?i=!0:((0,o.MR)(!n||t.payable!==n.payable,"conflicting fallback fragments",`fragments[${e}]`,t),i=(n=t).payable);return;case"function":r=this.#r;break;case"event":r=this.#e;break;case"error":r=this.#t;break;default:return}let s=t.format();r.has(s)||r.set(s,t)}),this.deploy||(0,a.n)(this,{deploy:f.Pw.from("constructor()")}),(0,a.n)(this,{fallback:n,receive:i})}format(t){let e=t?"minimal":"full";return this.fragments.map(t=>t.format(e))}formatJson(){return JSON.stringify(this.fragments.map(t=>t.format("json")).map(t=>JSON.parse(t)))}getAbiCoder(){return c.y.defaultAbiCoder()}#i(t,e,r){if((0,l.Lo)(t)){let e=t.toLowerCase();for(let t of this.#r.values())if(e===t.selector)return t;return null}if(-1===t.indexOf("(")){let i=[];for(let[e,r]of this.#r)e.split("(")[0]===t&&i.push(r);if(e){let t=e.length>0?e[e.length-1]:null,r=e.length,s=!0;n.V.isTyped(t)&&"overrides"===t.type&&(s=!1,r--);for(let t=i.length-1;t>=0;t--){let e=i[t].inputs.length;e===r||s&&e===r-1||i.splice(t,1)}for(let t=i.length-1;t>=0;t--){let r=i[t].inputs;for(let s=0;s<e.length;s++)if(n.V.isTyped(e[s])){if(s>=r.length){if("overrides"===e[s].type)continue;i.splice(t,1);break}if(e[s].type!==r[s].baseType){i.splice(t,1);break}}}}if(1===i.length&&e&&e.length!==i[0].inputs.length){let t=e[e.length-1];(null==t||Array.isArray(t)||"object"!=typeof t)&&i.splice(0,1)}if(0===i.length)return null;if(i.length>1&&r){let e=i.map(t=>JSON.stringify(t.format())).join(", ");(0,o.MR)(!1,`ambiguous function description (i.e. matches ${e})`,"key",t)}return i[0]}let i=this.#r.get(f.hc.from(t).format());return i||null}getFunctionName(t){let e=this.#i(t,null,!1);return(0,o.MR)(e,"no matching function","key",t),e.name}hasFunction(t){return!!this.#i(t,null,!1)}getFunction(t,e){return this.#i(t,e||null,!0)}forEachFunction(t){let e=Array.from(this.#r.keys());e.sort((t,e)=>t.localeCompare(e));for(let r=0;r<e.length;r++){let n=e[r];t(this.#r.get(n),r)}}#s(t,e,r){if((0,l.Lo)(t)){let e=t.toLowerCase();for(let t of this.#e.values())if(e===t.topicHash)return t;return null}if(-1===t.indexOf("(")){let i=[];for(let[e,r]of this.#e)e.split("(")[0]===t&&i.push(r);if(e){for(let t=i.length-1;t>=0;t--)i[t].inputs.length<e.length&&i.splice(t,1);for(let t=i.length-1;t>=0;t--){let r=i[t].inputs;for(let s=0;s<e.length;s++)if(n.V.isTyped(e[s])&&e[s].type!==r[s].baseType){i.splice(t,1);break}}}if(0===i.length)return null;if(i.length>1&&r){let e=i.map(t=>JSON.stringify(t.format())).join(", ");(0,o.MR)(!1,`ambiguous event description (i.e. matches ${e})`,"key",t)}return i[0]}let i=this.#e.get(f.Zp.from(t).format());return i||null}getEventName(t){let e=this.#s(t,null,!1);return(0,o.MR)(e,"no matching event","key",t),e.name}hasEvent(t){return!!this.#s(t,null,!1)}getEvent(t,e){return this.#s(t,e||null,!0)}forEachEvent(t){let e=Array.from(this.#e.keys());e.sort((t,e)=>t.localeCompare(e));for(let r=0;r<e.length;r++){let n=e[r];t(this.#e.get(n),r)}}getError(t,e){if((0,l.Lo)(t)){let e=t.toLowerCase();if(A[e])return f.bp.from(A[e].signature);for(let t of this.#t.values())if(e===t.selector)return t;return null}if(-1===t.indexOf("(")){let e=[];for(let[r,n]of this.#t)r.split("(")[0]===t&&e.push(n);if(0===e.length)return"Error"===t?f.bp.from("error Error(string)"):"Panic"===t?f.bp.from("error Panic(uint256)"):null;if(e.length>1){let r=e.map(t=>JSON.stringify(t.format())).join(", ");(0,o.MR)(!1,`ambiguous error description (i.e. ${r})`,"name",t)}return e[0]}if("Error(string)"===(t=f.bp.from(t).format()))return f.bp.from("error Error(string)");if("Panic(uint256)"===t)return f.bp.from("error Panic(uint256)");let r=this.#t.get(t);return r||null}forEachError(t){let e=Array.from(this.#t.keys());e.sort((t,e)=>t.localeCompare(e));for(let r=0;r<e.length;r++){let n=e[r];t(this.#t.get(n),r)}}_decodeParams(t,e){return this.#n.decode(t,e)}_encodeParams(t,e){return this.#n.encode(t,e)}encodeDeploy(t){return this._encodeParams(this.deploy.inputs,t||[])}decodeErrorResult(t,e){if("string"==typeof t){let e=this.getError(t);(0,o.MR)(e,"unknown error","fragment",t),t=e}return(0,o.MR)((0,l.ZG)(e,0,4)===t.selector,`data signature does not match error ${t.name}.`,"data",e),this._decodeParams(t.inputs,(0,l.ZG)(e,4))}encodeErrorResult(t,e){if("string"==typeof t){let e=this.getError(t);(0,o.MR)(e,"unknown error","fragment",t),t=e}return(0,l.xW)([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionData(t,e){if("string"==typeof t){let e=this.getFunction(t);(0,o.MR)(e,"unknown function","fragment",t),t=e}return(0,o.MR)((0,l.ZG)(e,0,4)===t.selector,`data signature does not match function ${t.name}.`,"data",e),this._decodeParams(t.inputs,(0,l.ZG)(e,4))}encodeFunctionData(t,e){if("string"==typeof t){let e=this.getFunction(t);(0,o.MR)(e,"unknown function","fragment",t),t=e}return(0,l.xW)([t.selector,this._encodeParams(t.inputs,e||[])])}decodeFunctionResult(t,e){if("string"==typeof t){let e=this.getFunction(t);(0,o.MR)(e,"unknown function","fragment",t),t=e}let r="invalid length for result data",n=(0,l.Lm)(e);if(n.length%32==0)try{return this.#n.decode(t.outputs,n)}catch(t){r="could not decode result data"}(0,o.vA)(!1,r,"BAD_DATA",{value:(0,l.c$)(n),info:{method:t.name,signature:t.format()}})}makeError(t,e){let r=(0,l.q5)(t,"data"),n=c.y.getBuiltinCallException("call",e,r);if(n.message.startsWith("execution reverted (unknown custom error)")){let t=(0,l.c$)(r.slice(0,4)),e=this.getError(t);if(e)try{let t=this.#n.decode(e.inputs,r.slice(4));n.revert={name:e.name,signature:e.format(),args:t},n.reason=n.revert.signature,n.message=`execution reverted: ${n.reason}`}catch(t){n.message="execution reverted (coult not decode custom error)"}}let i=this.parseTransaction(e);return i&&(n.invocation={method:i.name,signature:i.signature,args:i.args}),n}encodeFunctionResult(t,e){if("string"==typeof t){let e=this.getFunction(t);(0,o.MR)(e,"unknown function","fragment",t),t=e}return(0,l.c$)(this.#n.encode(t.outputs,e||[]))}encodeFilterTopics(t,e){if("string"==typeof t){let e=this.getEvent(t);(0,o.MR)(e,"unknown event","eventFragment",t),t=e}(0,o.vA)(e.length<=t.inputs.length,`too many arguments for ${t.format()}`,"UNEXPECTED_ARGUMENT",{count:e.length,expectedCount:t.inputs.length});let r=[];t.anonymous||r.push(t.topicHash);let n=(t,e)=>"string"===t.type?(0,s.id)(e):"bytes"===t.type?(0,i.S)((0,l.c$)(e)):("bool"===t.type&&"boolean"==typeof e?e=e?"0x01":"0x00":t.type.match(/^u?int/)?e=(0,u.up)(e):t.type.match(/^bytes/)?e=(0,l.X_)(e,32):"address"===t.type&&this.#n.encode(["address"],[e]),(0,l.nx)((0,l.c$)(e),32));for(e.forEach((e,i)=>{let s=t.inputs[i];if(!s.indexed)return void(0,o.MR)(null==e,"cannot filter non-indexed parameters; must be null","contract."+s.name,e);null==e?r.push(null):"array"===s.baseType||"tuple"===s.baseType?(0,o.MR)(!1,"filtering with tuples or arrays not supported","contract."+s.name,e):Array.isArray(e)?r.push(e.map(t=>n(s,t))):r.push(n(s,e))});r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(t,e){if("string"==typeof t){let e=this.getEvent(t);(0,o.MR)(e,"unknown event","eventFragment",t),t=e}let r=[],n=[],a=[];return t.anonymous||r.push(t.topicHash),(0,o.MR)(e.length===t.inputs.length,"event arguments/values mismatch","values",e),t.inputs.forEach((t,o)=>{let l=e[o];if(t.indexed)if("string"===t.type)r.push((0,s.id)(l));else if("bytes"===t.type)r.push((0,i.S)(l));else if("tuple"===t.baseType||"array"===t.baseType)throw Error("not implemented");else r.push(this.#n.encode([t.type],[l]));else n.push(t),a.push(l)}),{data:this.#n.encode(n,a),topics:r}}decodeEventLog(t,e,r){if("string"==typeof t){let e=this.getEvent(t);(0,o.MR)(e,"unknown event","eventFragment",t),t=e}if(null!=r&&!t.anonymous){let e=t.topicHash;(0,o.MR)((0,l.Lo)(r[0],32)&&r[0].toLowerCase()===e,"fragment/topic mismatch","topics[0]",r[0]),r=r.slice(1)}let n=[],i=[],s=[];t.inputs.forEach((t,e)=>{t.indexed?"string"===t.type||"bytes"===t.type||"tuple"===t.baseType||"array"===t.baseType?(n.push(f.aX.from({type:"bytes32",name:t.name})),s.push(!0)):(n.push(t),s.push(!1)):(i.push(t),s.push(!1))});let a=null!=r?this.#n.decode(n,(0,l.xW)(r)):null,u=this.#n.decode(i,e,!0),c=[],d=[],p=0,g=0;return t.inputs.forEach((t,e)=>{let r=null;if(t.indexed)if(null==a)r=new m(null);else if(s[e])r=new m(a[g++]);else try{r=a[g++]}catch(t){r=t}else try{r=u[p++]}catch(t){r=t}c.push(r),d.push(t.name||null)}),h.Q7.fromItems(c,d)}parseTransaction(t){let e=(0,l.q5)(t.data,"tx.data"),r=(0,u.Ab)(null!=t.value?t.value:0,"tx.value"),n=this.getFunction((0,l.c$)(e.slice(0,4)));if(!n)return null;let i=this.#n.decode(n.inputs,e.slice(4));return new p(n,n.selector,i,r)}parseCallResult(t){throw Error("@TODO")}parseLog(t){let e=this.getEvent(t.topics[0]);return!e||e.anonymous?null:new d(e,e.topicHash,this.decodeEventLog(e,t.data,t.topics))}parseError(t){let e=(0,l.c$)(t),r=this.getError((0,l.ZG)(e,0,4));if(!r)return null;let n=this.#n.decode(r.inputs,(0,l.ZG)(e,4));return new g(r,r.selector,n)}static from(t){return t instanceof b?t:new b("string"==typeof t?JSON.parse(t):"function"==typeof t.formatJson?t.formatJson():"function"==typeof t.format?t.format("json"):t)}}var w=r(54827),v=r(19477),E=r(42972);class x extends v.tG{interface;fragment;args;constructor(t,e,r){super(t,t.provider);let n=e.decodeEventLog(r,t.data,t.topics);(0,a.n)(this,{args:n,fragment:r,interface:e})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}class R extends v.tG{error;constructor(t,e){super(t,t.provider),(0,a.n)(this,{error:e})}}class P extends v.z5{#a;constructor(t,e,r){super(r,e),this.#a=t}get logs(){return super.logs.map(t=>{let e=t.topics.length?this.#a.getEvent(t.topics[0]):null;if(e)try{return new x(t,this.#a,e)}catch(e){return new R(t,e)}return t})}}class k extends v.uI{#a;constructor(t,e,r){super(r,e),this.#a=t}async wait(t,e){let r=await super.wait(t,e);return null==r?null:new P(this.#a,this.provider,r)}}class N extends E.z{log;constructor(t,e,r,n){super(t,e,r),(0,a.n)(this,{log:n})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}}class I extends N{constructor(t,e,r,n,i){super(t,e,r,new x(i,t.interface,n));let s=t.interface.decodeEventLog(n,this.log.data,this.log.topics);(0,a.n)(this,{args:s,fragment:n})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}}let B=BigInt(0);function C(t){return t&&"function"==typeof t.call}function O(t){return t&&"function"==typeof t.estimateGas}function T(t){return t&&"function"==typeof t.resolveName}function S(t){return t&&"function"==typeof t.sendTransaction}function M(t){if(null!=t){if(T(t))return t;if(t.provider)return t.provider}}class U{#o;fragment;constructor(t,e,r){if((0,a.n)(this,{fragment:e}),e.inputs.length<r.length)throw Error("too many arguments");let n=F(t.runner,"resolveName"),i=T(n)?n:null;this.#o=async function(){let n=await Promise.all(e.inputs.map((t,e)=>null==r[e]?null:t.walkAsync(r[e],(t,e)=>"address"===t?Array.isArray(e)?Promise.all(e.map(t=>(0,w.tG)(t,i))):(0,w.tG)(e,i):e)));return t.interface.encodeFilterTopics(e,n)}()}getTopicFilter(){return this.#o}}function F(t,e){return null==t?null:"function"==typeof t[e]?t:t.provider&&"function"==typeof t.provider[e]?t.provider:null}function L(t){return null==t?null:t.provider||null}async function D(t,e){let r=n.V.dereference(t,"overrides");(0,o.MR)("object"==typeof r,"invalid overrides parameter","overrides",t);let i=(0,v.VS)(r);return(0,o.MR)(null==i.to||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",i.to),(0,o.MR)(null==i.data||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",i.data),i.from&&(i.from=i.from),i}async function G(t,e,r){let i=F(t,"resolveName"),s=T(i)?i:null;return await Promise.all(e.map((t,e)=>t.walkAsync(r[e],(t,e)=>(e=n.V.dereference(e,t),"address"===t)?(0,w.tG)(e,s):e)))}let H=Symbol.for("_ethersInternal_contract"),Q=new WeakMap;function z(t){return Q.get(t[H])}async function V(t,e){let r,n=null;if(Array.isArray(e)){let n=function(e){if((0,l.Lo)(e,32))return e;let r=t.interface.getEvent(e);return(0,o.MR)(r,"unknown fragment","name",e),r.topicHash};r=e.map(t=>null==t?null:Array.isArray(t)?t.map(n):n(t))}else if("*"===e)r=[null];else if("string"==typeof e)(0,l.Lo)(e,32)?r=[e]:(n=t.interface.getEvent(e),(0,o.MR)(n,"unknown fragment","event",e),r=[n.topicHash]);else e&&"object"==typeof e&&"getTopicFilter"in e&&"function"==typeof e.getTopicFilter&&e.fragment?r=await e.getTopicFilter():"fragment"in e?r=[(n=e.fragment).topicHash]:(0,o.MR)(!1,"unknown event name","event",e);return{fragment:n,tag:(r=r.map(t=>{if(null==t)return null;if(Array.isArray(t)){let e=Array.from(new Set(t.map(t=>t.toLowerCase())).values());return 1===e.length?e[0]:(e.sort(),e)}return t.toLowerCase()})).map(t=>null==t?"null":Array.isArray(t)?t.join("|"):t).join("&"),topics:r}}async function J(t,e){let{subs:r}=z(t);return r.get((await V(t,e)).tag)||null}async function j(t,e,r){let n=L(t.runner);(0,o.vA)(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});let{fragment:i,tag:s,topics:a}=await V(t,r),{addr:l,subs:u}=z(t),c=u.get(s);if(!c){let e={address:l||t,topics:a},o=e=>{let n=i;if(null==n)try{n=t.interface.getEvent(e.topics[0])}catch(t){}if(n){let s=n,a=i?t.interface.decodeEventLog(i,e.data,e.topics):[];W(t,r,a,n=>new I(t,n,r,s,e))}else W(t,r,[],n=>new N(t,n,r,e))},h=[];c={tag:s,listeners:[],start:()=>{h.length||h.push(n.on(e,o))},stop:async()=>{if(0==h.length)return;let t=h;h=[],await Promise.all(t),n.off(e,o)}},u.set(s,c)}return c}let K=Promise.resolve();async function Z(t,e,r,n){await K;let i=await J(t,e);if(!i)return!1;let s=i.listeners.length;return i.listeners=i.listeners.filter(({listener:e,once:i})=>{let s=Array.from(r);n&&s.push(n(i?null:e));try{e.call(t,...s)}catch(t){}return!i}),0===i.listeners.length&&(i.stop(),z(t).subs.delete(i.tag)),s>0}async function W(t,e,r,n){try{await K}catch(t){}let i=Z(t,e,r,n);return K=i,await i}let q=["then"];class _{target;interface;runner;filters;[H];fallback;constructor(t,e,r,n){var i;let s;(0,o.MR)("string"==typeof t||(0,w.$C)(t),"invalid value for Contract target","target",t),null==r&&(r=null);let c=b.from(e);(0,a.n)(this,{target:t,runner:r,interface:c}),Object.defineProperty(this,H,{value:{}});let h=null,f=null;if(n){let t=L(r);f=new k(this.interface,t,n)}let d=new Map;if("string"==typeof t)if((0,l.Lo)(t))h=t,s=Promise.resolve(t);else{let e=F(r,"resolveName");if(!T(e))throw(0,o.xz)("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});s=e.resolveName(t).then(e=>{if(null==e)throw(0,o.xz)("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:t});return z(this).addr=e,e})}else s=t.getAddress().then(t=>{if(null==t)throw Error("TODO");return z(this).addr=t,t});i={addrPromise:s,addr:h,deployTx:f,subs:d},Q.set(this[H],i);let p=new Proxy({},{get:(t,e,r)=>{if("symbol"==typeof e||q.indexOf(e)>=0)return Reflect.get(t,e,r);try{return this.getEvent(e)}catch(t){if(!(0,o.bJ)(t,"INVALID_ARGUMENT")||"key"!==t.argument)throw t}},has:(t,e)=>q.indexOf(e)>=0?Reflect.has(t,e):Reflect.has(t,e)||this.interface.hasEvent(String(e))});return(0,a.n)(this,{filters:p}),(0,a.n)(this,{fallback:c.receive||c.fallback?function(t){let e=async function(e){let r=await D(e,["data"]);r.to=await t.getAddress(),r.from&&(r.from=await (0,w.tG)(r.from,M(t.runner)));let n=t.interface,i=(0,u.Ab)(r.value||B,"overrides.value")===B,s="0x"===(r.data||"0x");!n.fallback||n.fallback.payable||!n.receive||s||i||(0,o.MR)(!1,"cannot send data to receive or send value to non-payable fallback","overrides",e),(0,o.MR)(n.fallback||s,"cannot send data to receive-only contract","overrides.data",r.data);let a=n.receive||n.fallback&&n.fallback.payable;return(0,o.MR)(a||i,"cannot send value to non-payable fallback","overrides.value",r.value),(0,o.MR)(n.fallback||s,"cannot send data to receive-only contract","overrides.data",r.data),r},r=async function(r){let n=F(t.runner,"call");(0,o.vA)(C(n),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let i=await e(r);try{return await n.call(i)}catch(e){if((0,o.E)(e)&&e.data)throw t.interface.makeError(e.data,i);throw e}},n=async function(r){let n=t.runner;(0,o.vA)(S(n),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let i=await n.sendTransaction(await e(r)),s=L(t.runner);return new k(t.interface,s,i)},i=async function(r){let n=F(t.runner,"estimateGas");return(0,o.vA)(O(n),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await n.estimateGas(await e(r))},s=async t=>await n(t);return(0,a.n)(s,{_contract:t,estimateGas:i,populateTransaction:e,send:n,staticCall:r}),s}(this):null}),new Proxy(this,{get:(t,e,r)=>{if("symbol"==typeof e||e in t||q.indexOf(e)>=0)return Reflect.get(t,e,r);try{return t.getFunction(e)}catch(t){if(!(0,o.bJ)(t,"INVALID_ARGUMENT")||"key"!==t.argument)throw t}},has:(t,e)=>"symbol"==typeof e||e in t||q.indexOf(e)>=0?Reflect.has(t,e):t.interface.hasFunction(e)})}connect(t){return new _(this.target,this.interface,t)}attach(t){return new _(t,this.interface,this.runner)}async getAddress(){return await z(this).addrPromise}async getDeployedCode(){let t=L(this.runner);(0,o.vA)(t,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let e=await t.getCode(await this.getAddress());return"0x"===e?null:e}async waitForDeployment(){let t=this.deploymentTransaction();if(t)return await t.wait(),this;if(null!=await this.getDeployedCode())return this;let e=L(this.runner);return(0,o.vA)(null!=e,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((t,r)=>{let n=async()=>{try{let r=await this.getDeployedCode();if(null!=r)return t(this);e.once("block",n)}catch(t){r(t)}};n()})}deploymentTransaction(){return z(this).deployTx}getFunction(t){return"string"!=typeof t&&(t=t.format()),function(t,e){let r=function(...r){let n=t.interface.getFunction(e,r);return(0,o.vA)(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:r}}),n},n=async function(...e){let n=r(...e),i={};if(n.inputs.length+1===e.length&&(i=await D(e.pop())).from&&(i.from=await (0,w.tG)(i.from,M(t.runner))),n.inputs.length!==e.length)throw Error("internal error: fragment inputs doesn't match arguments; should not happen");let s=await G(t.runner,n.inputs,e);return Object.assign({},i,await (0,a.k)({to:t.getAddress(),data:t.interface.encodeFunctionData(n,s)}))},i=async function(...t){let e=await u(...t);return 1===e.length?e[0]:e},s=async function(...e){let r=t.runner;(0,o.vA)(S(r),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let i=await r.sendTransaction(await n(...e)),s=L(t.runner);return new k(t.interface,s,i)},l=async function(...e){let r=F(t.runner,"estimateGas");return(0,o.vA)(O(r),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await r.estimateGas(await n(...e))},u=async function(...e){let i=F(t.runner,"call");(0,o.vA)(C(i),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let s=await n(...e),a="0x";try{a=await i.call(s)}catch(e){if((0,o.E)(e)&&e.data)throw t.interface.makeError(e.data,s);throw e}let l=r(...e);return t.interface.decodeFunctionResult(l,a)},c=async(...t)=>r(...t).constant?await i(...t):await s(...t);return(0,a.n)(c,{name:t.interface.getFunctionName(e),_contract:t,_key:e,getFragment:r,estimateGas:l,populateTransaction:n,send:s,staticCall:i,staticCallResult:u}),Object.defineProperty(c,"fragment",{configurable:!1,enumerable:!0,get:()=>{let r=t.interface.getFunction(e);return(0,o.vA)(r,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),r}}),c}(this,t)}getEvent(t){"string"!=typeof t&&(t=t.format());var e=this,r=t;let n=function(...t){let n=e.interface.getEvent(r,t);return(0,o.vA)(n,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:r,args:t}}),n},i=function(...t){return new U(e,n(...t),t)};return(0,a.n)(i,{name:e.interface.getEventName(r),_contract:e,_key:r,getFragment:n}),Object.defineProperty(i,"fragment",{configurable:!1,enumerable:!0,get:()=>{let t=e.interface.getEvent(r);return(0,o.vA)(t,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:r}}),t}}),i}async queryTransaction(t){throw Error("@TODO")}async queryFilter(t,e,r){null==e&&(e=0),null==r&&(r="latest");let{addr:n,addrPromise:i}=z(this),s=n||await i,{fragment:a,topics:l}=await V(this,t),u={address:s,topics:l,fromBlock:e,toBlock:r},c=L(this.runner);return(0,o.vA)(c,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await c.getLogs(u)).map(t=>{let e=a;if(null==e)try{e=this.interface.getEvent(t.topics[0])}catch(t){}if(e)try{return new x(t,this.interface,e)}catch(e){return new R(t,e)}return new v.tG(t,c)})}async on(t,e){let r=await j(this,"on",t);return r.listeners.push({listener:e,once:!1}),r.start(),this}async once(t,e){let r=await j(this,"once",t);return r.listeners.push({listener:e,once:!0}),r.start(),this}async emit(t,...e){return await W(this,t,e,null)}async listenerCount(t){if(t){let e=await J(this,t);return e?e.listeners.length:0}let{subs:e}=z(this),r=0;for(let{listeners:t}of e.values())r+=t.length;return r}async listeners(t){if(t){let e=await J(this,t);return e?e.listeners.map(({listener:t})=>t):[]}let{subs:e}=z(this),r=[];for(let{listeners:t}of e.values())r=r.concat(t.map(({listener:t})=>t));return r}async off(t,e){let r=await J(this,t);if(!r)return this;if(e){let t=r.listeners.map(({listener:t})=>t).indexOf(e);t>=0&&r.listeners.splice(t,1)}return(null==e||0===r.listeners.length)&&(r.stop(),z(this).subs.delete(r.tag)),this}async removeAllListeners(t){if(t){let e=await J(this,t);if(!e)return this;e.stop(),z(this).subs.delete(e.tag)}else{let{subs:t}=z(this);for(let{tag:e,stop:r}of t.values())r(),t.delete(e)}return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return await this.off(t,e)}static buildClass(t){class e extends _{constructor(e,r=null){super(e,t,r)}}return e}static from(t,e,r){return null==r&&(r=null),new this(t,e,r)}}function Y(){return _}class X extends Y(){}},11372:(t,e,r)=>{r.d(e,{Vw:()=>u,Id:()=>l,O8:()=>s,po:()=>h,Ow:()=>a,ZJ:()=>o,DH:()=>i,ld:()=>c});let n="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,i=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),s=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),a=(t,e)=>t<<32-e|t>>>e;if(68!==new Uint8Array(new Uint32Array([0x11223344]).buffer)[0])throw Error("Non little-endian hardware is not supported");function o(t){if("string"==typeof t&&(t=function(t){if("string"!=typeof t)throw Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}(t)),!(t instanceof Uint8Array))throw Error(`expected Uint8Array, got ${typeof t}`);return t}function l(...t){let e=new Uint8Array(t.reduce((t,e)=>t+e.length,0)),r=0;return t.forEach(t=>{if(!(t instanceof Uint8Array))throw Error("Uint8Array expected");e.set(t,r),r+=t.length}),e}class u{clone(){return this._cloneInto()}}function c(t){let e=e=>t().update(o(e)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function h(t=32){if(n&&"function"==typeof n.getRandomValues)return n.getRandomValues(new Uint8Array(t));throw Error("crypto.getRandomValues must be defined")}},16280:(t,e,r)=>{r.d(e,{$:()=>o});var n=r(89550),i=r(36013),s=r(16405);function a(t,e){return{address:(0,n.b)(t),storageKeys:e.map((t,e)=>((0,i.MR)((0,s.Lo)(t,32),"invalid slot",`storageKeys[${e}]`,t),t.toLowerCase()))}}function o(t){if(Array.isArray(t))return t.map((e,r)=>Array.isArray(e)?((0,i.MR)(2===e.length,"invalid slot set",`value[${r}]`,e),a(e[0],e[1])):((0,i.MR)(null!=e&&"object"==typeof e,"invalid address-slot set","value",t),a(e.address,e.storageKeys)));(0,i.MR)(null!=t&&"object"==typeof t,"invalid access list","value",t);let e=Object.keys(t).map(e=>{let r=t[e].reduce((t,e)=>(t[e]=!0,t),{});return a(e,Object.keys(r).sort())});return e.sort((t,e)=>t.address.localeCompare(e.address)),e}},16405:(t,e,r)=>{r.d(e,{Lm:()=>a,Lo:()=>o,X_:()=>m,ZG:()=>d,c$:()=>c,f:()=>l,nx:()=>g,pO:()=>f,q5:()=>s,xW:()=>h});var n=r(36013);function i(t,e,r){if(t instanceof Uint8Array)return r?new Uint8Array(t):t;if("string"==typeof t&&t.length%2==0&&t.match(/^0x[0-9a-f]*$/i)){let e=new Uint8Array((t.length-2)/2),r=2;for(let n=0;n<e.length;n++)e[n]=parseInt(t.substring(r,r+2),16),r+=2;return e}(0,n.MR)(!1,"invalid BytesLike value",e||"value",t)}function s(t,e){return i(t,e,!1)}function a(t,e){return i(t,e,!0)}function o(t,e){return"string"==typeof t&&!!t.match(/^0x[0-9A-Fa-f]*$/)&&("number"!=typeof e||t.length===2+2*e)&&(!0!==e||t.length%2==0)}function l(t){return o(t,!0)||t instanceof Uint8Array}let u="0123456789abcdef";function c(t){let e=s(t),r="0x";for(let t=0;t<e.length;t++){let n=e[t];r+=u[(240&n)>>4]+u[15&n]}return r}function h(t){return"0x"+t.map(t=>c(t).substring(2)).join("")}function f(t){return o(t,!0)?(t.length-2)/2:s(t).length}function d(t,e,r){let i=s(t);return null!=r&&r>i.length&&(0,n.vA)(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:i,length:i.length,offset:r}),c(i.slice(null==e?0:e,null==r?i.length:r))}function p(t,e,r){let i=s(t);(0,n.vA)(e>=i.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(i),length:e,offset:e+1});let a=new Uint8Array(e);return a.fill(0),r?a.set(i,e-i.length):a.set(i,0),c(a)}function g(t,e){return p(t,e,!0)}function m(t,e){return p(t,e,!1)}},19477:(t,e,r)=>{r.d(e,{J9:()=>h,VS:()=>f,eB:()=>d,tG:()=>p,uI:()=>m,z5:()=>g});var n=r(85392),i=r(16405),s=r(26096),a=r(36013),o=r(16280);let l=BigInt(0);function u(t){return null==t?null:t}function c(t){return null==t?null:t.toString()}class h{gasPrice;maxFeePerGas;maxPriorityFeePerGas;constructor(t,e,r){(0,n.n)(this,{gasPrice:u(t),maxFeePerGas:u(e),maxPriorityFeePerGas:u(r)})}toJSON(){let{gasPrice:t,maxFeePerGas:e,maxPriorityFeePerGas:r}=this;return{_type:"FeeData",gasPrice:c(t),maxFeePerGas:c(e),maxPriorityFeePerGas:c(r)}}}function f(t){let e={};for(let r of(t.to&&(e.to=t.to),t.from&&(e.from=t.from),t.data&&(e.data=(0,i.c$)(t.data)),"chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/)))r in t&&null!=t[r]&&(e[r]=(0,s.Ab)(t[r],`request.${r}`));for(let r of"type,nonce".split(/,/))r in t&&null!=t[r]&&(e[r]=(0,s.WZ)(t[r],`request.${r}`));return t.accessList&&(e.accessList=(0,o.$)(t.accessList)),t.authorizationList&&(e.authorizationList=t.authorizationList.slice()),"blockTag"in t&&(e.blockTag=t.blockTag),"enableCcipRead"in t&&(e.enableCcipRead=!!t.enableCcipRead),"customData"in t&&(e.customData=t.customData),"blobVersionedHashes"in t&&t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.slice()),"kzg"in t&&(e.kzg=t.kzg),"blobWrapperVersion"in t&&(e.blobWrapperVersion=t.blobWrapperVersion),"blobs"in t&&t.blobs&&(e.blobs=t.blobs.map(t=>(0,i.f)(t)?(0,i.c$)(t):Object.assign({},t))),e}class d{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;gasLimit;gasUsed;stateRoot;receiptsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#l;constructor(t,e){this.#l=t.transactions.map(t=>"string"!=typeof t?new m(t,e):t),(0,n.n)(this,{provider:e,hash:u(t.hash),number:t.number,timestamp:t.timestamp,parentHash:t.parentHash,parentBeaconBlockRoot:t.parentBeaconBlockRoot,nonce:t.nonce,difficulty:t.difficulty,gasLimit:t.gasLimit,gasUsed:t.gasUsed,blobGasUsed:t.blobGasUsed,excessBlobGas:t.excessBlobGas,miner:t.miner,prevRandao:u(t.prevRandao),extraData:t.extraData,baseFeePerGas:u(t.baseFeePerGas),stateRoot:t.stateRoot,receiptsRoot:t.receiptsRoot})}get transactions(){return this.#l.map(t=>"string"==typeof t?t:t.hash)}get prefetchedTransactions(){let t=this.#l.slice();return 0===t.length?[]:((0,a.vA)("object"==typeof t[0],"transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),t)}toJSON(){let{baseFeePerGas:t,difficulty:e,extraData:r,gasLimit:n,gasUsed:i,hash:s,miner:a,prevRandao:o,nonce:l,number:u,parentHash:h,parentBeaconBlockRoot:f,stateRoot:d,receiptsRoot:p,timestamp:g,transactions:m}=this;return{_type:"Block",baseFeePerGas:c(t),difficulty:c(e),extraData:r,gasLimit:c(n),gasUsed:c(i),blobGasUsed:c(this.blobGasUsed),excessBlobGas:c(this.excessBlobGas),hash:s,miner:a,prevRandao:o,nonce:l,number:u,parentHash:h,timestamp:g,parentBeaconBlockRoot:f,stateRoot:d,receiptsRoot:p,transactions:m}}[Symbol.iterator](){let t=0,e=this.transactions;return{next:()=>t<this.length?{value:e[t++],done:!1}:{value:void 0,done:!0}}}get length(){return this.#l.length}get date(){return null==this.timestamp?null:new Date(1e3*this.timestamp)}async getTransaction(t){let e;if("number"==typeof t)e=this.#l[t];else{let r=t.toLowerCase();for(let t of this.#l)if("string"==typeof t){if(t!==r)continue;e=t;break}else{if(t.hash!==r)continue;e=t;break}}if(null==e)throw Error("no such tx");return"string"==typeof e?await this.provider.getTransaction(e):e}getPrefetchedTransaction(t){let e=this.prefetchedTransactions;if("number"==typeof t)return e[t];for(let r of(t=t.toLowerCase(),e))if(r.hash===t)return r;(0,a.MR)(!1,"no matching transaction","indexOrHash",t)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){var t;if(!this.isMined())throw Error("");return t=this,{orphan:"drop-block",hash:t.hash,number:t.number}}}class p{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor(t,e){this.provider=e;let r=Object.freeze(t.topics.slice());(0,n.n)(this,{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,removed:t.removed,address:t.address,data:t.data,topics:r,index:t.index,transactionIndex:t.transactionIndex})}toJSON(){let{address:t,blockHash:e,blockNumber:r,data:n,index:i,removed:s,topics:a,transactionHash:o,transactionIndex:l}=this;return{_type:"log",address:t,blockHash:e,blockNumber:r,data:n,index:i,removed:s,topics:a,transactionHash:o,transactionIndex:l}}async getBlock(){let t=await this.provider.getBlock(this.blockHash);return(0,a.vA)(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransaction(){let t=await this.provider.getTransaction(this.transactionHash);return(0,a.vA)(!!t,"failed to find transaction","UNKNOWN_ERROR",{}),t}async getTransactionReceipt(){let t=await this.provider.getTransactionReceipt(this.transactionHash);return(0,a.vA)(!!t,"failed to find transaction receipt","UNKNOWN_ERROR",{}),t}removedEvent(){var t;return t=this,{orphan:"drop-log",log:{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,address:t.address,data:t.data,topics:Object.freeze(t.topics.slice()),index:t.index}}}}class g{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#u;constructor(t,e){this.#u=Object.freeze(t.logs.map(t=>new p(t,e)));let r=l;null!=t.effectiveGasPrice?r=t.effectiveGasPrice:null!=t.gasPrice&&(r=t.gasPrice),(0,n.n)(this,{provider:e,to:t.to,from:t.from,contractAddress:t.contractAddress,hash:t.hash,index:t.index,blockHash:t.blockHash,blockNumber:t.blockNumber,logsBloom:t.logsBloom,gasUsed:t.gasUsed,cumulativeGasUsed:t.cumulativeGasUsed,blobGasUsed:t.blobGasUsed,gasPrice:r,blobGasPrice:t.blobGasPrice,type:t.type,status:t.status,root:t.root})}get logs(){return this.#u}toJSON(){let{to:t,from:e,contractAddress:r,hash:n,index:i,blockHash:s,blockNumber:a,logsBloom:o,logs:l,status:u,root:h}=this;return{_type:"TransactionReceipt",blockHash:s,blockNumber:a,contractAddress:r,cumulativeGasUsed:c(this.cumulativeGasUsed),from:e,gasPrice:c(this.gasPrice),blobGasUsed:c(this.blobGasUsed),blobGasPrice:c(this.blobGasPrice),gasUsed:c(this.gasUsed),hash:n,index:i,logs:l,logsBloom:o,root:h,status:u,to:t}}get length(){return this.logs.length}[Symbol.iterator](){let t=0;return{next:()=>t<this.length?{value:this.logs[t++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let t=await this.provider.getBlock(this.blockHash);if(null==t)throw Error("TODO");return t}async getTransaction(){let t=await this.provider.getTransaction(this.hash);if(null==t)throw Error("TODO");return t}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return A(this)}reorderedEvent(t){return(0,a.vA)(!t||t.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),y(this,t)}}class m{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;authorizationList;#c;constructor(t,e){this.provider=e,this.blockNumber=null!=t.blockNumber?t.blockNumber:null,this.blockHash=null!=t.blockHash?t.blockHash:null,this.hash=t.hash,this.index=t.index,this.type=t.type,this.from=t.from,this.to=t.to||null,this.gasLimit=t.gasLimit,this.nonce=t.nonce,this.data=t.data,this.value=t.value,this.gasPrice=t.gasPrice,this.maxPriorityFeePerGas=null!=t.maxPriorityFeePerGas?t.maxPriorityFeePerGas:null,this.maxFeePerGas=null!=t.maxFeePerGas?t.maxFeePerGas:null,this.maxFeePerBlobGas=null!=t.maxFeePerBlobGas?t.maxFeePerBlobGas:null,this.chainId=t.chainId,this.signature=t.signature,this.accessList=null!=t.accessList?t.accessList:null,this.blobVersionedHashes=null!=t.blobVersionedHashes?t.blobVersionedHashes:null,this.authorizationList=null!=t.authorizationList?t.authorizationList:null,this.#c=-1}toJSON(){let{blockNumber:t,blockHash:e,index:r,hash:n,type:i,to:s,from:a,nonce:o,data:l,signature:u,accessList:h,blobVersionedHashes:f}=this;return{_type:"TransactionResponse",accessList:h,blockNumber:t,blockHash:e,blobVersionedHashes:f,chainId:c(this.chainId),data:l,from:a,gasLimit:c(this.gasLimit),gasPrice:c(this.gasPrice),hash:n,maxFeePerGas:c(this.maxFeePerGas),maxPriorityFeePerGas:c(this.maxPriorityFeePerGas),maxFeePerBlobGas:c(this.maxFeePerBlobGas),nonce:o,signature:u,to:s,index:r,type:i,value:c(this.value)}}async getBlock(){let t=this.blockNumber;if(null==t){let e=await this.getTransaction();e&&(t=e.blockNumber)}if(null==t)return null;let e=this.provider.getBlock(t);if(null==e)throw Error("TODO");return e}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(null==this.blockNumber){let{tx:t,blockNumber:e}=await (0,n.k)({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return null==t||null==t.blockNumber?0:e-t.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(t,e){let r=null==t?1:t,i=null==e?0:e,s=this.#c,o=-1,u=-1===s,c=async()=>{if(u)return null;let{blockNumber:t,nonce:e}=await (0,n.k)({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(e<this.nonce){s=t;return}if(u)return null;let i=await this.getTransaction();if(!i||null==i.blockNumber)for(-1===o&&(o=s-3)<this.#c&&(o=this.#c);o<=t;){if(u)return null;let e=await this.provider.getBlock(o,!0);if(null==e)break;for(let t of e)if(t===this.hash)return;for(let n=0;n<e.length;n++){let i=await e.getTransaction(n);if(i.from===this.from&&i.nonce===this.nonce){if(u)return null;let e=await this.provider.getTransactionReceipt(i.hash);if(null==e||t-e.blockNumber+1<r)return;let n="replaced";i.data===this.data&&i.to===this.to&&i.value===this.value?n="repriced":"0x"===i.data&&i.from===i.to&&i.value===l&&(n="cancelled"),(0,a.vA)(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:"replaced"===n||"cancelled"===n,reason:n,replacement:i.replaceableTransaction(s),hash:i.hash,receipt:e})}}o++}},h=t=>{if(null==t||0!==t.status)return t;(0,a.vA)(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:t.to,from:t.from,data:""},receipt:t})},f=await this.provider.getTransactionReceipt(this.hash);if(0===r)return h(f);if(f){if(1===r||await f.confirmations()>=r)return h(f)}else if(await c(),0===r)return null;let d=new Promise((t,e)=>{let n=[],o=()=>{n.forEach(t=>t())};if(n.push(()=>{u=!0}),i>0){let t=setTimeout(()=>{o(),e((0,a.xz)("wait for transaction timeout","TIMEOUT"))},i);n.push(()=>{clearTimeout(t)})}let l=async n=>{if(await n.confirmations()>=r){o();try{t(h(n))}catch(t){e(t)}}};if(n.push(()=>{this.provider.off(this.hash,l)}),this.provider.on(this.hash,l),s>=0){let t=async()=>{try{await c()}catch(t){if((0,a.bJ)(t,"TRANSACTION_REPLACED")){o(),e(t);return}}u||this.provider.once("block",t)};n.push(()=>{this.provider.off("block",t)}),this.provider.once("block",t)}});return await d}isMined(){return null!=this.blockHash}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}removedEvent(){return(0,a.vA)(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),A(this)}reorderedEvent(t){return(0,a.vA)(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),(0,a.vA)(!t||t.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),y(this,t)}replaceableTransaction(t){(0,a.MR)(Number.isInteger(t)&&t>=0,"invalid startBlock","startBlock",t);let e=new m(this,this.provider);return e.#c=t,e}}function y(t,e){return{orphan:"reorder-transaction",tx:t,other:e}}function A(t){return{orphan:"drop-transaction",tx:t}}},26096:(t,e,r)=>{r.d(e,{Ab:()=>c,Dg:()=>d,JJ:()=>l,Ro:()=>g,ST:()=>o,WZ:()=>p,c4:()=>y,dK:()=>u,nD:()=>A,up:()=>m});var n=r(16405),i=r(36013);let s=BigInt(0),a=BigInt(1);function o(t,e){let r=h(t,"value"),n=BigInt(p(e,"width"));return((0,i.vA)(r>>n===s,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:t}),r>>n-a)?-((~r&(a<<n)-a)+a):r}function l(t,e){let r=c(t,"value"),n=BigInt(p(e,"width")),o=a<<n-a;return r<s?(r=-r,(0,i.vA)(r<=o,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t}),(~r&(a<<n)-a)+a):((0,i.vA)(r<o,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t}),r)}function u(t,e){return h(t,"value")&(a<<BigInt(p(e,"bits")))-a}function c(t,e){switch(typeof t){case"bigint":return t;case"number":return(0,i.MR)(Number.isInteger(t),"underflow",e||"value",t),(0,i.MR)(t>=-0x1fffffffffffff&&t<=0x1fffffffffffff,"overflow",e||"value",t),BigInt(t);case"string":try{if(""===t)throw Error("empty string");if("-"===t[0]&&"-"!==t[1])return-BigInt(t.substring(1));return BigInt(t)}catch(r){(0,i.MR)(!1,`invalid BigNumberish string: ${r.message}`,e||"value",t)}}(0,i.MR)(!1,"invalid BigNumberish value",e||"value",t)}function h(t,e){let r=c(t,e);return(0,i.vA)(r>=s,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:t}),r}let f="0123456789abcdef";function d(t){if(t instanceof Uint8Array){let e="0x0";for(let r of t)e+=f[r>>4],e+=f[15&r];return BigInt(e)}return c(t)}function p(t,e){switch(typeof t){case"bigint":return(0,i.MR)(t>=-0x1fffffffffffff&&t<=0x1fffffffffffff,"overflow",e||"value",t),Number(t);case"number":return(0,i.MR)(Number.isInteger(t),"underflow",e||"value",t),(0,i.MR)(t>=-0x1fffffffffffff&&t<=0x1fffffffffffff,"overflow",e||"value",t),t;case"string":try{if(""===t)throw Error("empty string");return p(BigInt(t),e)}catch(r){(0,i.MR)(!1,`invalid numeric string: ${r.message}`,e||"value",t)}}(0,i.MR)(!1,"invalid numeric value",e||"value",t)}function g(t){return p(d(t))}function m(t,e){let r=h(t,"value"),n=r.toString(16);if(null==e)n.length%2&&(n="0"+n);else{let a=p(e,"width");if(0===a&&r===s)return"0x";for((0,i.vA)(2*a>=n.length,`value exceeds width (${a} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:t});n.length<2*a;)n="0"+n}return"0x"+n}function y(t,e){let r=h(t,"value");if(r===s)return new Uint8Array(null!=e?p(e,"width"):0);let n=r.toString(16);if(n.length%2&&(n="0"+n),null!=e){let r=p(e,"width");for(;n.length<2*r;)n="00"+n;(0,i.vA)(2*r===n.length,`value exceeds width (${r} bytes)`,"NUMERIC_FAULT",{operation:"toBeArray",fault:"overflow",value:t})}let a=new Uint8Array(n.length/2);for(let t=0;t<a.length;t++){let e=2*t;a[t]=parseInt(n.substring(e,e+2),16)}return a}function A(t){let e=(0,n.c$)((0,n.f)(t)?t:y(t)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return""===e&&(e="0"),"0x"+e}},27060:(t,e,r)=>{function n(t){if(!Number.isSafeInteger(t)||t<0)throw Error(`Wrong positive integer: ${t}`)}function i(t,...e){if(!(t instanceof Uint8Array))throw Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function s(t){if("function"!=typeof t||"function"!=typeof t.create)throw Error("Hash should be wrapped by utils.wrapConstructor");n(t.outputLen),n(t.blockLen)}function a(t,e=!0){if(t.destroyed)throw Error("Hash instance has been destroyed");if(e&&t.finished)throw Error("Hash#digest() has already been called")}function o(t,e){i(t);let r=e.outputLen;if(t.length<r)throw Error(`digestInto() expects output buffer of length at least ${r}`)}r.d(e,{CG:()=>o,ai:()=>n,ee:()=>i,t2:()=>a,tW:()=>s})},34447:(t,e,r)=>{r.d(e,{Ay:()=>h,B4:()=>l,P5:()=>o,WM:()=>u,im:()=>c,lD:()=>a});let n=BigInt(0x100000000-1),i=BigInt(32);function s(t,e=!1){return e?{h:Number(t&n),l:Number(t>>i&n)}:{h:0|Number(t>>i&n),l:0|Number(t&n)}}function a(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:a,l:o}=s(t[i],e);[r[i],n[i]]=[a,o]}return[r,n]}let o=(t,e,r)=>t<<r|e>>>32-r,l=(t,e,r)=>e<<r|t>>>32-r,u=(t,e,r)=>e<<r-32|t>>>64-r,c=(t,e,r)=>t<<r-32|e>>>64-r,h={fromBig:s,split:a,toBig:(t,e)=>BigInt(t>>>0)<<i|BigInt(e>>>0),shrSH:(t,e,r)=>t>>>r,shrSL:(t,e,r)=>t<<32-r|e>>>r,rotrSH:(t,e,r)=>t>>>r|e<<32-r,rotrSL:(t,e,r)=>t<<32-r|e>>>r,rotrBH:(t,e,r)=>t<<64-r|e>>>r-32,rotrBL:(t,e,r)=>t>>>r-32|e<<64-r,rotr32H:(t,e)=>e,rotr32L:(t,e)=>t,rotlSH:o,rotlSL:l,rotlBH:u,rotlBL:c,add:function(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/0x100000000|0)|0,l:0|i}},add3L:(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),add3H:(t,e,r,n)=>e+r+n+(t/0x100000000|0)|0,add4L:(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),add4H:(t,e,r,n,i)=>e+r+n+i+(t/0x100000000|0)|0,add5H:(t,e,r,n,i,s)=>e+r+n+i+s+(t/0x100000000|0)|0,add5L:(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0)}},34561:(t,e,r)=>{r.d(e,{id:()=>s});var n=r(69413),i=r(68110);function s(t){return(0,n.S)((0,i.YW)(t))}},36013:(t,e,r)=>{r.d(e,{vA:()=>l,MR:()=>u,dd:()=>c,SP:()=>f,gk:()=>d,E:()=>a,bJ:()=>s,xz:()=>o});var n=r(85392);function i(t,e){if(null==t)return"null";if(null==e&&(e=new Set),"object"==typeof t){if(e.has(t))return"[Circular]";e.add(t)}if(Array.isArray(t))return"[ "+t.map(t=>i(t,e)).join(", ")+" ]";if(t instanceof Uint8Array){let e="0123456789abcdef",r="0x";for(let n=0;n<t.length;n++)r+=e[t[n]>>4],r+=e[15&t[n]];return r}if("object"==typeof t&&"function"==typeof t.toJSON)return i(t.toJSON(),e);switch(typeof t){case"boolean":case"number":case"symbol":return t.toString();case"bigint":return BigInt(t).toString();case"string":return JSON.stringify(t);case"object":{let r=Object.keys(t);return r.sort(),"{ "+r.map(r=>`${i(r,e)}: ${i(t[r],e)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function s(t,e){return t&&t.code===e}function a(t){return s(t,"CALL_EXCEPTION")}function o(t,e,r){let s,a=t;{let n=[];if(r){if("message"in r||"code"in r||"name"in r)throw Error(`value will overwrite populated values: ${i(r)}`);for(let t in r){if("shortMessage"===t)continue;let e=r[t];n.push(t+"="+i(e))}}n.push(`code=${e}`),n.push("version=6.16.0"),n.length&&(t+=" ("+n.join(", ")+")")}switch(e){case"INVALID_ARGUMENT":s=TypeError(t);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":s=RangeError(t);break;default:s=Error(t)}return(0,n.n)(s,{code:e}),r&&Object.assign(s,r),null==s.shortMessage&&(0,n.n)(s,{shortMessage:a}),s}function l(t,e,r,n){if(!t)throw o(e,r,n)}function u(t,e,r,n){l(t,e,"INVALID_ARGUMENT",{argument:r,value:n})}function c(t,e,r){null==r&&(r=""),r&&(r=": "+r),l(t>=e,"missing argument"+r,"MISSING_ARGUMENT",{count:t,expectedCount:e}),l(t<=e,"too many arguments"+r,"UNEXPECTED_ARGUMENT",{count:t,expectedCount:e})}let h=["NFD","NFC","NFKD","NFKC"].reduce((t,e)=>{try{if("test"!=="test".normalize(e))throw Error("bad");if("NFD"===e){let t=String.fromCharCode(233).normalize("NFD"),e=String.fromCharCode(101,769);if(t!==e)throw Error("broken")}t.push(e)}catch(t){}return t},[]);function f(t){l(h.indexOf(t)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:t}})}function d(t,e,r){if(null==r&&(r=""),t!==e){let t=r,e="new";r&&(t+=".",e+=" "+r),l(!1,`private constructor; use ${t}from* methods`,"UNSUPPORTED_OPERATION",{operation:e})}}},42972:(t,e,r)=>{r.d(e,{z:()=>i});var n=r(85392);class i{filter;emitter;#h;constructor(t,e,r){this.#h=e,(0,n.n)(this,{emitter:t,filter:r})}async removeListener(){null!=this.#h&&await this.emitter.off(this.filter,this.#h)}}},43197:(t,e,r)=>{r.d(e,{FK:()=>V,Pw:()=>W,Zp:()=>Z,aX:()=>z,bp:()=>K,hc:()=>_});var n=r(26096),i=r(36013),s=r(85392),a=r(34561);function o(t){let e=new Set;return t.forEach(t=>e.add(t)),Object.freeze(e)}let l=o("external public payable override".split(" ")),u="constant external internal payable private public pure view override",c=o(u.split(" ")),h="constructor error event fallback function receive struct",f=o(h.split(" ")),d="calldata memory storage payable indexed",p=o(d.split(" ")),g=o([h,d,"tuple returns",u].join(" ").split(" ")),m={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},y=RegExp("^(\\s*)"),A=RegExp("^([0-9]+)"),b=RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),w=RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),v=RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$");class E{#f;#d;get offset(){return this.#f}get length(){return this.#d.length-this.#f}constructor(t){this.#f=0,this.#d=t.slice()}clone(){return new E(this.#d)}reset(){this.#f=0}#p(t=0,e=0){return new E(this.#d.slice(t,e).map(e=>Object.freeze(Object.assign({},e,{match:e.match-t,linkBack:e.linkBack-t,linkNext:e.linkNext-t}))))}popKeyword(t){let e=this.peek();if("KEYWORD"!==e.type||!t.has(e.text))throw Error(`expected keyword ${e.text}`);return this.pop().text}popType(t){if(this.peek().type!==t){let e=this.peek();throw Error(`expected ${t}; got ${e.type} ${JSON.stringify(e.text)}`)}return this.pop().text}popParen(){let t=this.peek();if("OPEN_PAREN"!==t.type)throw Error("bad start");let e=this.#p(this.#f+1,t.match+1);return this.#f=t.match+1,e}popParams(){let t=this.peek();if("OPEN_PAREN"!==t.type)throw Error("bad start");let e=[];for(;this.#f<t.match-1;){let t=this.peek().linkNext;e.push(this.#p(this.#f+1,t)),this.#f=t}return this.#f=t.match+1,e}peek(){if(this.#f>=this.#d.length)throw Error("out-of-bounds");return this.#d[this.#f]}peekKeyword(t){let e=this.peekType("KEYWORD");return null!=e&&t.has(e)?e:null}peekType(t){if(0===this.length)return null;let e=this.peek();return e.type===t?e.text:null}pop(){let t=this.peek();return this.#f++,t}toString(){let t=[];for(let e=this.#f;e<this.#d.length;e++){let r=this.#d[e];t.push(`${r.type}:${r.text}`)}return`<TokenString ${t.join(" ")}>`}}function x(t){let e=[],r=e=>{let r=a<t.length?JSON.stringify(t[a]):"$EOI";throw Error(`invalid token ${r} at ${a}: ${e}`)},i=[],s=[],a=0;for(;a<t.length;){let o=t.substring(a),l=o.match(y);l&&(a+=l[1].length,o=t.substring(a));let u={depth:i.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:a,value:-1};e.push(u);let c=m[o[0]]||"";if(c){if(u.type=c,u.text=o[0],a++,"OPEN_PAREN"===c)i.push(e.length-1),s.push(e.length-1);else if("CLOSE_PAREN"==c)0===i.length&&r("no matching open bracket"),u.match=i.pop(),e[u.match].match=e.length-1,u.depth--,u.linkBack=s.pop(),e[u.linkBack].linkNext=e.length-1;else if("COMMA"===c)u.linkBack=s.pop(),e[u.linkBack].linkNext=e.length-1,s.push(e.length-1);else if("OPEN_BRACKET"===c)u.type="BRACKET";else if("CLOSE_BRACKET"===c){let t=e.pop().text;if(e.length>0&&"NUMBER"===e[e.length-1].type){let r=e.pop().text;t=r+t,e[e.length-1].value=(0,n.WZ)(r)}if(0===e.length||"BRACKET"!==e[e.length-1].type)throw Error("missing opening bracket");e[e.length-1].text+=t}continue}if(l=o.match(b)){if(u.text=l[1],a+=u.text.length,g.has(u.text)){u.type="KEYWORD";continue}if(u.text.match(v)){u.type="TYPE";continue}u.type="ID";continue}if(l=o.match(A)){u.text=l[1],u.type="NUMBER",a+=u.text.length;continue}throw Error(`unexpected token ${JSON.stringify(o[0])} at position ${a}`)}return new E(e.map(t=>Object.freeze(t)))}function R(t,e){let r=[];for(let n in e.keys())t.has(n)&&r.push(n);if(r.length>1)throw Error(`conflicting types: ${r.join(", ")}`)}function P(t,e){if(e.peekKeyword(f)){let r=e.pop().text;if(r!==t)throw Error(`expected ${t}, got ${r}`)}return e.popType("ID")}function k(t,e){let r=new Set;for(;;){let n=t.peekType("KEYWORD");if(null==n||e&&!e.has(n))break;if(t.pop(),r.has(n))throw Error(`duplicate keywords: ${JSON.stringify(n)}`);r.add(n)}return Object.freeze(r)}function N(t){let e=k(t,c);return(R(e,o("constant payable nonpayable".split(" "))),R(e,o("pure view payable nonpayable".split(" "))),e.has("view"))?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function I(t,e){return t.popParams().map(t=>z.from(t,e))}function B(t){if(t.peekType("AT")){if(t.pop(),t.peekType("NUMBER"))return(0,n.Ab)(t.pop().text);throw Error("invalid gas")}return null}function C(t){if(t.length)throw Error(`unexpected tokens at offset ${t.offset}: ${t.toString()}`)}let O=new RegExp(/^(.*)\[([0-9]*)\]$/);function T(t){let e=t.match(v);if((0,i.MR)(e,"invalid type","type",t),"uint"===t)return"uint256";if("int"===t)return"int256";if(e[2]){let r=parseInt(e[2]);(0,i.MR)(0!==r&&r<=32,"invalid bytes length","type",t)}else if(e[3]){let r=parseInt(e[3]);(0,i.MR)(0!==r&&r<=256&&r%8==0,"invalid numeric width","type",t)}return t}let S={},M=Symbol.for("_ethers_internal"),U="_ParamTypeInternal",F="_ErrorInternal",L="_EventInternal",D="_ConstructorInternal",G="_FallbackInternal",H="_FunctionInternal",Q="_StructInternal";class z{name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor(t,e,r,n,a,o,l,u){if((0,i.gk)(t,S,"ParamType"),Object.defineProperty(this,M,{value:U}),o&&(o=Object.freeze(o.slice())),"array"===n){if(null==l||null==u)throw Error("")}else if(null!=l||null!=u)throw Error("");if("tuple"===n){if(null==o)throw Error("")}else if(null!=o)throw Error("");(0,s.n)(this,{name:e,type:r,baseType:n,indexed:a,components:o,arrayLength:l,arrayChildren:u})}format(t){if(null==t&&(t="sighash"),"json"===t){let e=this.name||"";if(this.isArray()){let t=JSON.parse(this.arrayChildren.format("json"));return t.name=e,t.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(t)}let r={type:"tuple"===this.baseType?"tuple":this.type,name:e};return"boolean"==typeof this.indexed&&(r.indexed=this.indexed),this.isTuple()&&(r.components=this.components.map(e=>JSON.parse(e.format(t)))),JSON.stringify(r)}let e="";return this.isArray()?(e+=this.arrayChildren.format(t),e+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?e+="("+this.components.map(e=>e.format(t)).join("full"===t?", ":",")+")":e+=this.type,"sighash"!==t&&(!0===this.indexed&&(e+=" indexed"),"full"===t&&this.name&&(e+=" "+this.name)),e}isArray(){return"array"===this.baseType}isTuple(){return"tuple"===this.baseType}isIndexable(){return null!=this.indexed}walk(t,e){if(this.isArray()){if(!Array.isArray(t))throw Error("invalid array value");if(-1!==this.arrayLength&&t.length!==this.arrayLength)throw Error("array is wrong length");let r=this;return t.map(t=>r.arrayChildren.walk(t,e))}if(this.isTuple()){if(!Array.isArray(t))throw Error("invalid tuple value");if(t.length!==this.components.length)throw Error("array is wrong length");let r=this;return t.map((t,n)=>r.components[n].walk(t,e))}return e(this.type,t)}#g(t,e,r,n){if(this.isArray()){if(!Array.isArray(e))throw Error("invalid array value");if(-1!==this.arrayLength&&e.length!==this.arrayLength)throw Error("array is wrong length");let i=this.arrayChildren,s=e.slice();s.forEach((e,n)=>{i.#g(t,e,r,t=>{s[n]=t})}),n(s);return}if(this.isTuple()){let i,s=this.components;if(Array.isArray(e))i=e.slice();else{if(null==e||"object"!=typeof e)throw Error("invalid tuple value");i=s.map(t=>{if(!t.name)throw Error("cannot use object value with unnamed components");if(!(t.name in e))throw Error(`missing value for component ${t.name}`);return e[t.name]})}if(i.length!==this.components.length)throw Error("array is wrong length");i.forEach((e,n)=>{s[n].#g(t,e,r,t=>{i[n]=t})}),n(i);return}let i=r(this.type,e);i.then?t.push(async function(){n(await i)}()):n(i)}async walkAsync(t,e){let r=[],n=[t];return this.#g(r,t,e,t=>{n[0]=t}),r.length&&await Promise.all(r),n[0]}static from(t,e){if(z.isParamType(t))return t;if("string"==typeof t)try{return z.from(x(t),e)}catch(e){(0,i.MR)(!1,"invalid param type","obj",t)}else if(t instanceof E){let r="",n="",i=null;k(t,o(["tuple"])).has("tuple")||t.peekType("OPEN_PAREN")?(n="tuple",i=t.popParams().map(t=>z.from(t)),r=`tuple(${i.map(t=>t.format()).join(",")})`):n=r=T(t.popType("TYPE"));let s=null,a=null;for(;t.length&&t.peekType("BRACKET");){let e=t.pop();s=new z(S,"",r,n,null,i,a,s),a=e.value,r+=e.text,n="array",i=null}let l=null;if(k(t,p).has("indexed")){if(!e)throw Error("");l=!0}let u=t.peekType("ID")?t.pop().text:"";if(t.length)throw Error("leftover tokens");return new z(S,u,r,n,l,i,a,s)}let r=t.name;(0,i.MR)(!r||"string"==typeof r&&r.match(w),"invalid name","obj.name",r);let n=t.indexed;null!=n&&((0,i.MR)(e,"parameter cannot be indexed","obj.indexed",t.indexed),n=!!n);let s=t.type,a=s.match(O);if(a){let e=parseInt(a[2]||"-1"),i=z.from({type:a[1],components:t.components});return new z(S,r||"",s,"array",n,null,e,i)}if("tuple"===s||s.startsWith("tuple(")||s.startsWith("(")){let e=null!=t.components?t.components.map(t=>z.from(t)):null;return new z(S,r||"",s,"tuple",n,e,null,null)}return new z(S,r||"",s=T(t.type),s,n,null,null,null)}static isParamType(t){return t&&t[M]===U}}class V{type;inputs;constructor(t,e,r){(0,i.gk)(t,S,"Fragment"),r=Object.freeze(r.slice()),(0,s.n)(this,{type:e,inputs:r})}static from(t){if("string"==typeof t){try{V.from(JSON.parse(t))}catch(t){}return V.from(x(t))}if(t instanceof E)switch(t.peekKeyword(f)){case"constructor":return W.from(t);case"error":return K.from(t);case"event":return Z.from(t);case"fallback":case"receive":return q.from(t);case"function":return _.from(t);case"struct":return Y.from(t)}else if("object"==typeof t){switch(t.type){case"constructor":return W.from(t);case"error":return K.from(t);case"event":return Z.from(t);case"fallback":case"receive":return q.from(t);case"function":return _.from(t);case"struct":return Y.from(t)}(0,i.vA)(!1,`unsupported type: ${t.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}(0,i.MR)(!1,"unsupported frgament object","obj",t)}static isConstructor(t){return W.isFragment(t)}static isError(t){return K.isFragment(t)}static isEvent(t){return Z.isFragment(t)}static isFunction(t){return _.isFragment(t)}static isStruct(t){return Y.isFragment(t)}}class J extends V{name;constructor(t,e,r,n){super(t,e,n),(0,i.MR)("string"==typeof r&&r.match(w),"invalid identifier","name",r),n=Object.freeze(n.slice()),(0,s.n)(this,{name:r})}}function j(t,e){return"("+e.map(e=>e.format(t)).join("full"===t?", ":",")+")"}class K extends J{constructor(t,e,r){super(t,"error",e,r),Object.defineProperty(this,M,{value:F})}get selector(){return(0,a.id)(this.format("sighash")).substring(0,10)}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e=[];return"sighash"!==t&&e.push("error"),e.push(this.name+j(t,this.inputs)),e.join(" ")}static from(t){if(K.isFragment(t))return t;if("string"==typeof t)return K.from(x(t));if(t instanceof E){let e=P("error",t),r=I(t);return C(t),new K(S,e,r)}return new K(S,t.name,t.inputs?t.inputs.map(z.from):[])}static isFragment(t){return t&&t[M]===F}}class Z extends J{anonymous;constructor(t,e,r,n){super(t,"event",e,r),Object.defineProperty(this,M,{value:L}),(0,s.n)(this,{anonymous:n})}get topicHash(){return(0,a.id)(this.format("sighash"))}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e=[];return"sighash"!==t&&e.push("event"),e.push(this.name+j(t,this.inputs)),"sighash"!==t&&this.anonymous&&e.push("anonymous"),e.join(" ")}static getTopicHash(t,e){return new Z(S,t,e=(e||[]).map(t=>z.from(t)),!1).topicHash}static from(t){if(Z.isFragment(t))return t;if("string"==typeof t)try{return Z.from(x(t))}catch(e){(0,i.MR)(!1,"invalid event fragment","obj",t)}else if(t instanceof E){let e=P("event",t),r=I(t,!0),n=!!k(t,o(["anonymous"])).has("anonymous");return C(t),new Z(S,e,r,n)}return new Z(S,t.name,t.inputs?t.inputs.map(t=>z.from(t,!0)):[],!!t.anonymous)}static isFragment(t){return t&&t[M]===L}}class W extends V{payable;gas;constructor(t,e,r,n,i){super(t,e,r),Object.defineProperty(this,M,{value:D}),(0,s.n)(this,{payable:n,gas:i})}format(t){if((0,i.vA)(null!=t&&"sighash"!==t,"cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),"json"===t)return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t)))});let e=[`constructor${j(t,this.inputs)}`];return this.payable&&e.push("payable"),null!=this.gas&&e.push(`@${this.gas.toString()}`),e.join(" ")}static from(t){if(W.isFragment(t))return t;if("string"==typeof t)try{return W.from(x(t))}catch(e){(0,i.MR)(!1,"invalid constuctor fragment","obj",t)}else if(t instanceof E){k(t,o(["constructor"]));let e=I(t),r=!!k(t,l).has("payable"),n=B(t);return C(t),new W(S,"constructor",e,r,n)}return new W(S,"constructor",t.inputs?t.inputs.map(z.from):[],!!t.payable,null!=t.gas?t.gas:null)}static isFragment(t){return t&&t[M]===D}}class q extends V{payable;constructor(t,e,r){super(t,"fallback",e),Object.defineProperty(this,M,{value:G}),(0,s.n)(this,{payable:r})}format(t){let e=0===this.inputs.length?"receive":"fallback";return"json"===t?JSON.stringify({type:e,stateMutability:this.payable?"payable":"nonpayable"}):`${e}()${this.payable?" payable":""}`}static from(t){if(q.isFragment(t))return t;if("string"==typeof t)try{return q.from(x(t))}catch(e){(0,i.MR)(!1,"invalid fallback fragment","obj",t)}else if(t instanceof E){let e=t.toString(),r=t.peekKeyword(o(["fallback","receive"]));if((0,i.MR)(r,"type must be fallback or receive","obj",e),"receive"===t.popKeyword(o(["fallback","receive"]))){let e=I(t);return(0,i.MR)(0===e.length,"receive cannot have arguments","obj.inputs",e),k(t,o(["payable"])),C(t),new q(S,[],!0)}let n=I(t);n.length?(0,i.MR)(1===n.length&&"bytes"===n[0].type,"invalid fallback inputs","obj.inputs",n.map(t=>t.format("minimal")).join(", ")):n=[z.from("bytes")];let s=N(t);if((0,i.MR)("nonpayable"===s||"payable"===s,"fallback cannot be constants","obj.stateMutability",s),k(t,o(["returns"])).has("returns")){let e=I(t);(0,i.MR)(1===e.length&&"bytes"===e[0].type,"invalid fallback outputs","obj.outputs",e.map(t=>t.format("minimal")).join(", "))}return C(t),new q(S,n,"payable"===s)}return"receive"===t.type?new q(S,[],!0):"fallback"===t.type?new q(S,[z.from("bytes")],"payable"===t.stateMutability):void(0,i.MR)(!1,"invalid fallback description","obj",t)}static isFragment(t){return t&&t[M]===G}}class _ extends J{constant;outputs;stateMutability;payable;gas;constructor(t,e,r,n,i,a){super(t,"function",e,n),Object.defineProperty(this,M,{value:H}),i=Object.freeze(i.slice()),(0,s.n)(this,{constant:"view"===r||"pure"===r,gas:a,outputs:i,payable:"payable"===r,stateMutability:r})}get selector(){return(0,a.id)(this.format("sighash")).substring(0,10)}format(t){if(null==t&&(t="sighash"),"json"===t)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:null!=this.gas?this.gas:void 0,inputs:this.inputs.map(e=>JSON.parse(e.format(t))),outputs:this.outputs.map(e=>JSON.parse(e.format(t)))});let e=[];return"sighash"!==t&&e.push("function"),e.push(this.name+j(t,this.inputs)),"sighash"!==t&&("nonpayable"!==this.stateMutability&&e.push(this.stateMutability),this.outputs&&this.outputs.length&&(e.push("returns"),e.push(j(t,this.outputs))),null!=this.gas&&e.push(`@${this.gas.toString()}`)),e.join(" ")}static getSelector(t,e){return new _(S,t,"view",e=(e||[]).map(t=>z.from(t)),[],null).selector}static from(t){if(_.isFragment(t))return t;if("string"==typeof t)try{return _.from(x(t))}catch(e){(0,i.MR)(!1,"invalid function fragment","obj",t)}else if(t instanceof E){let e=P("function",t),r=I(t),n=N(t),i=[];k(t,o(["returns"])).has("returns")&&(i=I(t));let s=B(t);return C(t),new _(S,e,n,r,i,s)}let e=t.stateMutability;return null==e&&(e="payable","boolean"==typeof t.constant?(e="view",!t.constant&&(e="payable","boolean"!=typeof t.payable||t.payable||(e="nonpayable"))):"boolean"!=typeof t.payable||t.payable||(e="nonpayable")),new _(S,t.name,e,t.inputs?t.inputs.map(z.from):[],t.outputs?t.outputs.map(z.from):[],null!=t.gas?t.gas:null)}static isFragment(t){return t&&t[M]===H}}class Y extends J{constructor(t,e,r){super(t,"struct",e,r),Object.defineProperty(this,M,{value:Q})}format(){throw Error("@TODO")}static from(t){if("string"==typeof t)try{return Y.from(x(t))}catch(e){(0,i.MR)(!1,"invalid struct fragment","obj",t)}else if(t instanceof E){let e=P("struct",t),r=I(t);return C(t),new Y(S,e,r)}return new Y(S,t.name,t.inputs?t.inputs.map(z.from):[])}static isFragment(t){return t&&t[M]===Q}}},54827:(t,e,r)=>{r.d(e,{$C:()=>s,tG:()=>o});var n=r(36013),i=r(89550);function s(t){return t&&"function"==typeof t.getAddress}async function a(t,e){let r=await e;return(null==r||"0x0000000000000000000000000000000000000000"===r)&&((0,n.vA)("string"!=typeof t,"unconfigured name","UNCONFIGURED_NAME",{value:t}),(0,n.MR)(!1,"invalid AddressLike value; did not resolve to a value address","target",t)),(0,i.b)(r)}function o(t,e){return"string"==typeof t?t.match(/^0x[0-9a-f]{40}$/i)?(0,i.b)(t):((0,n.vA)(null!=e,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),a(t,e.resolveName(t))):s(t)?a(t,t.getAddress()):t&&"function"==typeof t.then?a(t,t):void(0,n.MR)(!1,"unsupported addressable value","target",t)}},67270:(t,e,r)=>{r.d(e,{y:()=>M});var n=r(36013),i=r(99197),s=r(89550),a=r(26096),o=r(73088);class l extends i.Ue{constructor(t){super("address","address",t,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(t,e){let r=o.V.dereference(e,"string");try{r=(0,s.b)(r)}catch(t){return this._throwError(t.message,e)}return t.writeValue(r)}decode(t){return(0,s.b)((0,a.up)(t.readValue(),20))}}var u=r(85392);class c extends i.Ue{coder;constructor(t){super(t.name,t.type,"_",t.dynamic),this.coder=t}defaultValue(){return this.coder.defaultValue()}encode(t,e){return this.coder.encode(t,e)}decode(t){return this.coder.decode(t)}}function h(t,e,r){let s=[];if(Array.isArray(r))s=r;else if(r&&"object"==typeof r){let t={};s=e.map(e=>{let i=e.localName;return(0,n.vA)(i,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:e},value:r}),(0,n.vA)(!t[i],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:e},value:r}),t[i]=!0,r[i]})}else(0,n.MR)(!1,"invalid tuple value","tuple",r);(0,n.MR)(e.length===s.length,"types/value length mismatch","tuple",r);let a=new i.AU,o=new i.AU,l=[];e.forEach((t,e)=>{let r=s[e];if(t.dynamic){let e=o.length;t.encode(o,r);let n=a.writeUpdatableValue();l.push(t=>{n(t+e)})}else t.encode(a,r)}),l.forEach(t=>{t(a.length)});let u=t.appendWriter(a);return u+t.appendWriter(o)}function f(t,e){let r=[],s=[],a=t.subReader(0);return e.forEach(e=>{let i=null;if(e.dynamic){let r=t.readIndex(),s=a.subReader(r);try{i=e.decode(s)}catch(t){if((0,n.bJ)(t,"BUFFER_OVERRUN"))throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}}else try{i=e.decode(t)}catch(t){if((0,n.bJ)(t,"BUFFER_OVERRUN"))throw t;(i=t).baseType=e.name,i.name=e.localName,i.type=e.type}if(void 0==i)throw Error("investigate");r.push(i),s.push(e.localName||null)}),i.Q7.fromItems(r,s)}class d extends i.Ue{coder;length;constructor(t,e,r){super("array",t.type+"["+(e>=0?e:"")+"]",r,-1===e||t.dynamic),(0,u.n)(this,{coder:t,length:e})}defaultValue(){let t=this.coder.defaultValue(),e=[];for(let r=0;r<this.length;r++)e.push(t);return e}encode(t,e){let r=o.V.dereference(e,"array");Array.isArray(r)||this._throwError("expected array value",r);let i=this.length;-1===i&&(i=r.length,t.writeValue(r.length)),(0,n.dd)(r.length,i,"coder array"+(this.localName?" "+this.localName:""));let s=[];for(let t=0;t<r.length;t++)s.push(this.coder);return h(t,s,r)}decode(t){let e=this.length;-1===e&&(e=t.readIndex(),(0,n.vA)(e*i.Yx<=t.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:t.bytes,offset:e*i.Yx,length:t.dataLength}));let r=[];for(let t=0;t<e;t++)r.push(new c(this.coder));return f(t,r)}}class p extends i.Ue{constructor(t){super("bool","bool",t,!1)}defaultValue(){return!1}encode(t,e){let r=o.V.dereference(e,"bool");return t.writeValue(+!!r)}decode(t){return!!t.readValue()}}var g=r(16405);class m extends i.Ue{constructor(t,e){super(t,t,e,!0)}defaultValue(){return"0x"}encode(t,e){e=(0,g.Lm)(e);let r=t.writeValue(e.length);return r+t.writeBytes(e)}decode(t){return t.readBytes(t.readIndex(),!0)}}class y extends m{constructor(t){super("bytes",t)}decode(t){return(0,g.c$)(super.decode(t))}}class A extends i.Ue{size;constructor(t,e){let r="bytes"+String(t);super(r,r,e,!1),(0,u.n)(this,{size:t},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(t,e){let r=(0,g.Lm)(o.V.dereference(e,this.type));return r.length!==this.size&&this._throwError("incorrect data length",e),t.writeBytes(r)}decode(t){return(0,g.c$)(t.readBytes(this.size))}}let b=new Uint8Array([]);class w extends i.Ue{constructor(t){super("null","",t,!1)}defaultValue(){return null}encode(t,e){return null!=e&&this._throwError("not null",e),t.writeBytes(b)}decode(t){return t.readBytes(0),null}}let v=BigInt(0),E=BigInt(1),x=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");class R extends i.Ue{size;signed;constructor(t,e,r){let n=(e?"int":"uint")+8*t;super(n,n,r,!1),(0,u.n)(this,{size:t,signed:e},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(t,e){let r=(0,a.Ab)(o.V.dereference(e,this.type)),n=(0,a.dK)(x,8*i.Yx);if(this.signed){let t=(0,a.dK)(n,8*this.size-1);(r>t||r<-(t+E))&&this._throwError("value out-of-bounds",e),r=(0,a.JJ)(r,8*i.Yx)}else(r<v||r>(0,a.dK)(n,8*this.size))&&this._throwError("value out-of-bounds",e);return t.writeValue(r)}decode(t){let e=(0,a.dK)(t.readValue(),8*this.size);return this.signed&&(e=(0,a.ST)(e,8*this.size)),e}}var P=r(68110);class k extends m{constructor(t){super("string",t)}defaultValue(){return""}encode(t,e){return super.encode(t,(0,P.YW)(o.V.dereference(e,"string")))}decode(t){return(0,P._v)(super.decode(t))}}class N extends i.Ue{coders;constructor(t,e){let r=!1,n=[];t.forEach(t=>{t.dynamic&&(r=!0),n.push(t.type)}),super("tuple","tuple("+n.join(",")+")",e,r),(0,u.n)(this,{coders:Object.freeze(t.slice())})}defaultValue(){let t=[];this.coders.forEach(e=>{t.push(e.defaultValue())});let e=this.coders.reduce((t,e)=>{let r=e.localName;return r&&(t[r]||(t[r]=0),t[r]++),t},{});return this.coders.forEach((r,n)=>{let i=r.localName;i&&1===e[i]&&("length"===i&&(i="_length"),null==t[i]&&(t[i]=t[n]))}),Object.freeze(t)}encode(t,e){let r=o.V.dereference(e,"tuple");return h(t,this.coders,r)}decode(t){return f(t,this.coders)}}var I=r(43197);let B=new Map;B.set(0,"GENERIC_PANIC"),B.set(1,"ASSERT_FALSE"),B.set(17,"OVERFLOW"),B.set(18,"DIVIDE_BY_ZERO"),B.set(33,"ENUM_RANGE_ERROR"),B.set(34,"BAD_STORAGE_DATA"),B.set(49,"STACK_UNDERFLOW"),B.set(50,"ARRAY_RANGE_ERROR"),B.set(65,"OUT_OF_MEMORY"),B.set(81,"UNINITIALIZED_FUNCTION_CALL");let C=new RegExp(/^bytes([0-9]*)$/),O=new RegExp(/^(u?int)([0-9]*)$/),T=null,S=1024;class M{#m(t){if(t.isArray())return new d(this.#m(t.arrayChildren),t.arrayLength,t.name);if(t.isTuple())return new N(t.components.map(t=>this.#m(t)),t.name);switch(t.baseType){case"address":return new l(t.name);case"bool":return new p(t.name);case"string":return new k(t.name);case"bytes":return new y(t.name);case"":return new w(t.name)}let e=t.type.match(O);if(e){let r=parseInt(e[2]||"256");return(0,n.MR)(0!==r&&r<=256&&r%8==0,"invalid "+e[1]+" bit length","param",t),new R(r/8,"int"===e[1],t.name)}if(e=t.type.match(C)){let r=parseInt(e[1]);return(0,n.MR)(0!==r&&r<=32,"invalid bytes length","param",t),new A(r,t.name)}(0,n.MR)(!1,"invalid type","type",t.type)}getDefaultValue(t){return new N(t.map(t=>this.#m(I.aX.from(t))),"_").defaultValue()}encode(t,e){(0,n.dd)(e.length,t.length,"types/values length mismatch");let r=new N(t.map(t=>this.#m(I.aX.from(t))),"_"),s=new i.AU;return r.encode(s,e),s.data}decode(t,e,r){return new N(t.map(t=>this.#m(I.aX.from(t))),"_").decode(new i.mP(e,r,S))}static _setDefaultMaxInflation(t){(0,n.MR)("number"==typeof t&&Number.isInteger(t),"invalid defaultMaxInflation factor","value",t),S=t}static defaultAbiCoder(){return null==T&&(T=new M),T}static getBuiltinCallException(t,e,r){return function(t,e,r,i){let a="missing revert data",o=null,l=null;if(r){a="execution reverted";let t=(0,g.q5)(r);if(r=(0,g.c$)(r),0===t.length)a+=" (no data present; likely require(false) occurred",o="require(false)";else if(t.length%32!=4)a+=" (could not decode reason; invalid data length)";else if("0x08c379a0"===(0,g.c$)(t.slice(0,4)))try{o=i.decode(["string"],t.slice(4))[0],l={signature:"Error(string)",name:"Error",args:[o]},a+=`: ${JSON.stringify(o)}`}catch(t){a+=" (could not decode reason; invalid string data)"}else if("0x4e487b71"===(0,g.c$)(t.slice(0,4)))try{let e=Number(i.decode(["uint256"],t.slice(4))[0]);l={signature:"Panic(uint256)",name:"Panic",args:[e]},o=`Panic due to ${B.get(e)||"UNKNOWN"}(${e})`,a+=`: ${o}`}catch(t){a+=" (could not decode panic code)"}else a+=" (unknown custom error)"}let u={to:e.to?(0,s.b)(e.to):null,data:e.data||"0x"};return e.from&&(u.from=(0,s.b)(e.from)),(0,n.xz)(a,"CALL_EXCEPTION",{action:t,data:r,reason:o,transaction:u,invocation:null,revert:l})}(t,e,r,M.defaultAbiCoder())}}},68110:(t,e,r)=>{r.d(e,{YW:()=>o,_v:()=>l});var n=r(16405),i=r(36013);function s(t,e,r,n,i){if("BAD_PREFIX"===t||"UNEXPECTED_CONTINUE"===t){let t=0;for(let n=e+1;n<r.length&&r[n]>>6==2;n++)t++;return t}return"OVERRUN"===t?r.length-e-1:0}let a=Object.freeze({error:function(t,e,r,n,s){(0,i.MR)(!1,`invalid codepoint at offset ${e}; ${t}`,"bytes",r)},ignore:s,replace:function(t,e,r,n,a){return"OVERLONG"===t?((0,i.MR)("number"==typeof a,"invalid bad code point for replacement","badCodepoint",a),n.push(a),0):(n.push(65533),s(t,e,r,n,a))}});function o(t,e){(0,i.MR)("string"==typeof t,"invalid string value","str",t),null!=e&&((0,i.SP)(e),t=t.normalize(e));let r=[];for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(n<128)r.push(n);else if(n<2048)r.push(n>>6|192),r.push(63&n|128);else if((64512&n)==55296){e++;let s=t.charCodeAt(e);(0,i.MR)(e<t.length&&(64512&s)==56320,"invalid surrogate pair","str",t);let a=65536+((1023&n)<<10)+(1023&s);r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)}return new Uint8Array(r)}function l(t,e){return(function(t,e){null==e&&(e=a.error);let r=(0,n.q5)(t,"bytes"),i=[],s=0;for(;s<r.length;){let t=r[s++];if(t>>7==0){i.push(t);continue}let n=null,a=null;if((224&t)==192)n=1,a=127;else if((240&t)==224)n=2,a=2047;else if((248&t)==240)n=3,a=65535;else{(192&t)==128?s+=e("UNEXPECTED_CONTINUE",s-1,r,i):s+=e("BAD_PREFIX",s-1,r,i);continue}if(s-1+n>=r.length){s+=e("OVERRUN",s-1,r,i);continue}let o=t&(1<<8-n-1)-1;for(let t=0;t<n;t++){let t=r[s];if((192&t)!=128){s+=e("MISSING_CONTINUE",s,r,i),o=null;break}o=o<<6|63&t,s++}if(null!==o){if(o>1114111){s+=e("OUT_OF_RANGE",s-1-n,r,i,o);continue}if(o>=55296&&o<=57343){s+=e("UTF16_SURROGATE",s-1-n,r,i,o);continue}if(o<=a){s+=e("OVERLONG",s-1-n,r,i,o);continue}i.push(o)}}return i})(t,e).map(t=>t<=65535?String.fromCharCode(t):String.fromCharCode(((t-=65536)>>10&1023)+55296,(1023&t)+56320)).join("")}},69413:(t,e,r)=>{r.d(e,{S:()=>P});var n=r(27060),i=r(34447),s=r(11372);let[a,o,l]=[[],[],[]],u=BigInt(0),c=BigInt(1),h=BigInt(2),f=BigInt(7),d=BigInt(256),p=BigInt(113);for(let t=0,e=c,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],a.push(2*(5*n+r)),o.push((t+1)*(t+2)/2%64);let i=u;for(let t=0;t<7;t++)(e=(e<<c^(e>>f)*p)%d)&h&&(i^=c<<(c<<BigInt(t))-c);l.push(i)}let[g,m]=(0,i.lD)(l,!0),y=(t,e,r)=>r>32?(0,i.WM)(t,e,r):(0,i.P5)(t,e,r),A=(t,e,r)=>r>32?(0,i.im)(t,e,r):(0,i.B4)(t,e,r);class b extends s.Vw{constructor(t,e,r,i=!1,a=24){if(super(),this.blockLen=t,this.suffix=e,this.outputLen=r,this.enableXOF=i,this.rounds=a,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,n.ai)(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,s.DH)(this.state)}keccak(){!function(t,e=24){let r=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let e=0;e<10;e++)r[e]=t[e]^t[e+10]^t[e+20]^t[e+30]^t[e+40];for(let e=0;e<10;e+=2){let n=(e+8)%10,i=(e+2)%10,s=r[i],a=r[i+1],o=y(s,a,1)^r[n],l=A(s,a,1)^r[n+1];for(let r=0;r<50;r+=10)t[e+r]^=o,t[e+r+1]^=l}let e=t[2],i=t[3];for(let r=0;r<24;r++){let n=o[r],s=y(e,i,n),l=A(e,i,n),u=a[r];e=t[u],i=t[u+1],t[u]=s,t[u+1]=l}for(let e=0;e<50;e+=10){for(let n=0;n<10;n++)r[n]=t[e+n];for(let n=0;n<10;n++)t[e+n]^=~r[(n+2)%10]&r[(n+4)%10]}t[0]^=g[n],t[1]^=m[n]}r.fill(0)}(this.state32,this.rounds),this.posOut=0,this.pos=0}update(t){(0,n.t2)(this);let{blockLen:e,state:r}=this,i=(t=(0,s.ZJ)(t)).length;for(let n=0;n<i;){let s=Math.min(e-this.pos,i-n);for(let e=0;e<s;e++)r[this.pos++]^=t[n++];this.pos===e&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:e,pos:r,blockLen:n}=this;t[r]^=e,(128&e)!=0&&r===n-1&&this.keccak(),t[n-1]^=128,this.keccak()}writeInto(t){(0,n.t2)(this,!1),(0,n.ee)(t),this.finish();let e=this.state,{blockLen:r}=this;for(let n=0,i=t.length;n<i;){this.posOut>=r&&this.keccak();let s=Math.min(r-this.posOut,i-n);t.set(e.subarray(this.posOut,this.posOut+s),n),this.posOut+=s,n+=s}return t}xofInto(t){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,n.ai)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,n.CG)(t,this),this.finished)throw Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:e,suffix:r,outputLen:n,rounds:i,enableXOF:s}=this;return t||(t=new b(e,r,n,s,i)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=i,t.suffix=r,t.outputLen=n,t.enableXOF=s,t.destroyed=this.destroyed,t}}let w=(0,s.ld)(()=>new b(136,1,32));var v=r(16405);let E=!1,x=function(t){return w(t)},R=x;function P(t){let e=(0,v.q5)(t,"data");return(0,v.c$)(R(e))}P._=x,P.lock=function(){E=!0},P.register=function(t){if(E)throw TypeError("keccak256 is locked");R=t},Object.freeze(P)},73088:(t,e,r)=>{r.d(e,{V:()=>u});var n=r(36013),i=r(85392);let s={};function a(t,e){let r=!1;return e<0&&(r=!0,e*=-1),new u(s,`${r?"":"u"}int${e}`,t,{signed:r,width:e})}function o(t,e){return new u(s,`bytes${e||""}`,t,{size:e})}let l=Symbol.for("_ethers_typed");class u{type;value;#y;_typedSymbol;constructor(t,e,r,a){null==a&&(a=null),(0,n.gk)(s,t,"Typed"),(0,i.n)(this,{_typedSymbol:l,type:e,value:r}),this.#y=a,this.format()}format(){if("array"===this.type||"dynamicArray"===this.type)throw Error("");return"tuple"===this.type?`tuple(${this.value.map(t=>t.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return"string"===this.type}get tupleName(){if("tuple"!==this.type)throw TypeError("not a tuple");return this.#y}get arrayLength(){if("array"!==this.type)throw TypeError("not an array");return!0===this.#y?-1:!1===this.#y?this.value.length:null}static from(t,e){return new u(s,t,e)}static uint8(t){return a(t,8)}static uint16(t){return a(t,16)}static uint24(t){return a(t,24)}static uint32(t){return a(t,32)}static uint40(t){return a(t,40)}static uint48(t){return a(t,48)}static uint56(t){return a(t,56)}static uint64(t){return a(t,64)}static uint72(t){return a(t,72)}static uint80(t){return a(t,80)}static uint88(t){return a(t,88)}static uint96(t){return a(t,96)}static uint104(t){return a(t,104)}static uint112(t){return a(t,112)}static uint120(t){return a(t,120)}static uint128(t){return a(t,128)}static uint136(t){return a(t,136)}static uint144(t){return a(t,144)}static uint152(t){return a(t,152)}static uint160(t){return a(t,160)}static uint168(t){return a(t,168)}static uint176(t){return a(t,176)}static uint184(t){return a(t,184)}static uint192(t){return a(t,192)}static uint200(t){return a(t,200)}static uint208(t){return a(t,208)}static uint216(t){return a(t,216)}static uint224(t){return a(t,224)}static uint232(t){return a(t,232)}static uint240(t){return a(t,240)}static uint248(t){return a(t,248)}static uint256(t){return a(t,256)}static uint(t){return a(t,256)}static int8(t){return a(t,-8)}static int16(t){return a(t,-16)}static int24(t){return a(t,-24)}static int32(t){return a(t,-32)}static int40(t){return a(t,-40)}static int48(t){return a(t,-48)}static int56(t){return a(t,-56)}static int64(t){return a(t,-64)}static int72(t){return a(t,-72)}static int80(t){return a(t,-80)}static int88(t){return a(t,-88)}static int96(t){return a(t,-96)}static int104(t){return a(t,-104)}static int112(t){return a(t,-112)}static int120(t){return a(t,-120)}static int128(t){return a(t,-128)}static int136(t){return a(t,-136)}static int144(t){return a(t,-144)}static int152(t){return a(t,-152)}static int160(t){return a(t,-160)}static int168(t){return a(t,-168)}static int176(t){return a(t,-176)}static int184(t){return a(t,-184)}static int192(t){return a(t,-192)}static int200(t){return a(t,-200)}static int208(t){return a(t,-208)}static int216(t){return a(t,-216)}static int224(t){return a(t,-224)}static int232(t){return a(t,-232)}static int240(t){return a(t,-240)}static int248(t){return a(t,-248)}static int256(t){return a(t,-256)}static int(t){return a(t,-256)}static bytes1(t){return o(t,1)}static bytes2(t){return o(t,2)}static bytes3(t){return o(t,3)}static bytes4(t){return o(t,4)}static bytes5(t){return o(t,5)}static bytes6(t){return o(t,6)}static bytes7(t){return o(t,7)}static bytes8(t){return o(t,8)}static bytes9(t){return o(t,9)}static bytes10(t){return o(t,10)}static bytes11(t){return o(t,11)}static bytes12(t){return o(t,12)}static bytes13(t){return o(t,13)}static bytes14(t){return o(t,14)}static bytes15(t){return o(t,15)}static bytes16(t){return o(t,16)}static bytes17(t){return o(t,17)}static bytes18(t){return o(t,18)}static bytes19(t){return o(t,19)}static bytes20(t){return o(t,20)}static bytes21(t){return o(t,21)}static bytes22(t){return o(t,22)}static bytes23(t){return o(t,23)}static bytes24(t){return o(t,24)}static bytes25(t){return o(t,25)}static bytes26(t){return o(t,26)}static bytes27(t){return o(t,27)}static bytes28(t){return o(t,28)}static bytes29(t){return o(t,29)}static bytes30(t){return o(t,30)}static bytes31(t){return o(t,31)}static bytes32(t){return o(t,32)}static address(t){return new u(s,"address",t)}static bool(t){return new u(s,"bool",!!t)}static bytes(t){return new u(s,"bytes",t)}static string(t){return new u(s,"string",t)}static array(t,e){throw Error("not implemented yet")}static tuple(t,e){throw Error("not implemented yet")}static overrides(t){return new u(s,"overrides",Object.assign({},t))}static isTyped(t){return t&&"object"==typeof t&&"_typedSymbol"in t&&t._typedSymbol===l}static dereference(t,e){if(u.isTyped(t)){if(t.type!==e)throw Error(`invalid type: expecetd ${e}, got ${t.type}`);return t.value}return t}}},78561:(t,e,r)=>{let n,i,s,a,o,l,u,c,h,f,d,p,g,m,y;r.d(e,{FR:()=>nP});var A={};r.r(A),r.d(A,{OG:()=>eI,My:()=>eb,Ph:()=>eE,lX:()=>ex,Id:()=>eN,fg:()=>eO,qj:()=>ek,aT:()=>ev,lq:()=>eR,z:()=>eP,Q5:()=>eS});var b=r(67270),w=r(89550),v=r(54827),E=r(69413),x=r(16405),R=r(26096),P=r(36013),k=r(85392),N=r(34561);let I=new Uint8Array(32);I.fill(0);let B=BigInt(-1),C=BigInt(0),O=BigInt(1),T=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),S=(0,R.up)(O,32),M=(0,R.up)(C,32),U={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},F=["name","version","chainId","verifyingContract","salt"];function L(t){return function(e){return(0,P.MR)("string"==typeof e,`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}let D={name:L("name"),version:L("version"),chainId:function(t){let e=(0,R.Ab)(t,"domain.chainId");return((0,P.MR)(e>=0,"invalid chain ID","domain.chainId",t),Number.isSafeInteger(e))?Number(e):(0,R.nD)(e)},verifyingContract:function(t){try{return(0,w.b)(t).toLowerCase()}catch(t){}(0,P.MR)(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){let e=(0,x.q5)(t,"domain.salt");return(0,P.MR)(32===e.length,'invalid domain value "salt"',"domain.salt",t),(0,x.c$)(e)}};function G(t){{let e=t.match(/^(u?)int(\d+)$/);if(e){let r=""===e[1],n=parseInt(e[2]);(0,P.MR)(n%8==0&&0!==n&&n<=256&&e[2]===String(n),"invalid numeric width","type",t);let i=(0,R.dK)(T,r?n-1:n),s=r?(i+O)*B:C;return function(e){let n=(0,R.Ab)(e,"value");return(0,P.MR)(n>=s&&n<=i,`value out-of-bounds for ${t}`,"value",n),(0,R.up)(r?(0,R.JJ)(n,256):n,32)}}}{let e=t.match(/^bytes(\d+)$/);if(e){let r=parseInt(e[1]);return(0,P.MR)(0!==r&&r<=32&&e[1]===String(r),"invalid bytes width","type",t),function(e){let n=(0,x.q5)(e);(0,P.MR)(n.length===r,`invalid length for ${t}`,"value",e);let i=(0,x.q5)(e),s=i.length%32;return s?(0,x.xW)([i,I.slice(s)]):(0,x.c$)(i)}}}switch(t){case"address":return function(t){return(0,x.nx)((0,w.b)(t),32)};case"bool":return function(t){return t?S:M};case"bytes":return function(t){return(0,E.S)(t)};case"string":return function(t){return(0,N.id)(t)}}return null}function H(t,e){return`${t}(${e.map(({name:t,type:e})=>e+" "+t).join(",")})`}function Q(t){let e=t.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:t}}class z{primaryType;#A;get types(){return JSON.parse(this.#A)}#b;#w;constructor(t){this.#b=new Map,this.#w=new Map;let e=new Map,r=new Map,n=new Map,i={};for(let s in Object.keys(t).forEach(s=>{i[s]=t[s].map(({name:e,type:r})=>{let{base:n,index:i}=Q(r);return"int"!==n||t.int||(n="int256"),"uint"!==n||t.uint||(n="uint256"),{name:e,type:n+(i||"")}}),e.set(s,new Set),r.set(s,[]),n.set(s,new Set)}),this.#A=JSON.stringify(i),i){let n=new Set;for(let a of i[s]){(0,P.MR)(!n.has(a.name),`duplicate variable name ${JSON.stringify(a.name)} in ${JSON.stringify(s)}`,"types",t),n.add(a.name);let i=Q(a.type).base;(0,P.MR)(i!==s,`circular type reference to ${JSON.stringify(i)}`,"types",t),G(i)||((0,P.MR)(r.has(i),`unknown type ${JSON.stringify(i)}`,"types",t),r.get(i).push(s),e.get(s).add(i))}}let s=Array.from(r.keys()).filter(t=>0===r.get(t).length);for(let[a,o]of((0,P.MR)(0!==s.length,"missing primary type","types",t),(0,P.MR)(1===s.length,`ambiguous primary types or unused types: ${s.map(t=>JSON.stringify(t)).join(", ")}`,"types",t),(0,k.n)(this,{primaryType:s[0]}),!function i(s,a){for(let o of((0,P.MR)(!a.has(s),`circular type reference to ${JSON.stringify(s)}`,"types",t),a.add(s),e.get(s)))if(r.has(o))for(let t of(i(o,a),a))n.get(t).add(o);a.delete(s)}(this.primaryType,new Set),n)){let t=Array.from(o);t.sort(),this.#b.set(a,H(a,i[a])+t.map(t=>H(t,i[t])).join(""))}}getEncoder(t){let e=this.#w.get(t);return e||(e=this.#v(t),this.#w.set(t,e)),e}#v(t){{let e=G(t);if(e)return e}let e=Q(t).array;if(e){let t=e.prefix,r=this.getEncoder(t);return n=>{(0,P.MR)(-1===e.count||e.count===n.length,`array length mismatch; expected length ${e.count}`,"value",n);let i=n.map(r);return this.#b.has(t)&&(i=i.map(E.S)),(0,E.S)((0,x.xW)(i))}}let r=this.types[t];if(r){let e=(0,N.id)(this.#b.get(t));return t=>{let n=r.map(({name:e,type:r})=>{let n=this.getEncoder(r)(t[e]);return this.#b.has(r)?(0,E.S)(n):n});return n.unshift(e),(0,x.xW)(n)}}(0,P.MR)(!1,`unknown type: ${t}`,"type",t)}encodeType(t){let e=this.#b.get(t);return(0,P.MR)(e,`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return(0,E.S)(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,r){if(G(t))return r(t,e);let n=Q(t).array;if(n)return(0,P.MR)(-1===n.count||n.count===e.length,`array length mismatch; expected length ${n.count}`,"value",e),e.map(t=>this._visit(n.prefix,t,r));let i=this.types[t];if(i)return i.reduce((t,{name:n,type:i})=>(t[n]=this._visit(i,e[n],r),t),{});(0,P.MR)(!1,`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new z(t)}static getPrimaryType(t){return z.from(t).primaryType}static hashStruct(t,e,r){return z.from(e).hashStruct(t,r)}static hashDomain(t){let e=[];for(let r in t){if(null==t[r])continue;let n=U[r];(0,P.MR)(n,`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",t),e.push({name:r,type:n})}return e.sort((t,e)=>F.indexOf(t.name)-F.indexOf(e.name)),z.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,r){return(0,x.xW)(["0x1901",z.hashDomain(t),z.from(e).hash(r)])}static hash(t,e,r){return(0,E.S)(z.encode(t,e,r))}static async resolveNames(t,e,r,n){for(let e in t=Object.assign({},t))null==t[e]&&delete t[e];let i={};t.verifyingContract&&!(0,x.Lo)(t.verifyingContract,20)&&(i[t.verifyingContract]="0x");let s=z.from(e);for(let t in s.visit(r,(t,e)=>("address"!==t||(0,x.Lo)(e,20)||(i[e]="0x"),e)),i)i[t]=await n(t);return t.verifyingContract&&i[t.verifyingContract]&&(t.verifyingContract=i[t.verifyingContract]),r=s.visit(r,(t,e)=>"address"===t&&i[e]?i[e]:e),{domain:t,value:r}}static getPayload(t,e,r){z.hashDomain(t);let n={},i=[];F.forEach(e=>{let r=t[e];null!=r&&(n[e]=D[e](r),i.push({name:e,type:U[e]}))});let s=z.from(e),a=Object.assign({},e=s.types);return(0,P.MR)(null==a.EIP712Domain,"types must not contain EIP712Domain type","types.EIP712Domain",e),a.EIP712Domain=i,s.encode(r),{types:a,domain:n,primaryType:s.primaryType,message:s.visit(r,(t,e)=>{if(t.match(/^bytes(\d*)/))return(0,x.c$)((0,x.q5)(e));if(t.match(/^u?int/))return(0,R.Ab)(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return(0,P.MR)("string"==typeof e,"invalid string","value",e),e}(0,P.MR)(!1,"unsupported type","type",t)})}}}var V=r(16280);let J="0x0000000000000000000000000000000000000000000000000000000000000000",j=BigInt(0),K=BigInt(1),Z=BigInt(2),W=BigInt(27),q=BigInt(28),_=BigInt(35),Y=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),X=Y/Z,$=Symbol.for("nodejs.util.inspect.custom"),tt={};function te(t){return(0,x.nx)((0,R.c4)(t),32)}class tr{#E;#x;#R;#P;get r(){return this.#E}set r(t){(0,P.MR)(32===(0,x.pO)(t),"invalid r","value",t),this.#E=(0,x.c$)(t)}get s(){return(0,P.MR)(8>parseInt(this.#x.substring(0,3)),"non-canonical s; use ._s","s",this.#x),this.#x}set s(t){(0,P.MR)(32===(0,x.pO)(t),"invalid s","value",t),this.#x=(0,x.c$)(t)}get _s(){return this.#x}isValid(){return BigInt(this.#x)<=X}get v(){return this.#R}set v(t){let e=(0,R.WZ)(t,"value");(0,P.MR)(27===e||28===e,"invalid v","v",t),this.#R=e}get networkV(){return this.#P}get legacyChainId(){let t=this.networkV;return null==t?null:tr.getChainId(t)}get yParity(){return+(27!==this.v)}get yParityAndS(){let t=(0,x.q5)(this.s);return this.yParity&&(t[0]|=128),(0,x.c$)(t)}get compactSerialized(){return(0,x.xW)([this.r,this.yParityAndS])}get serialized(){return(0,x.xW)([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor(t,e,r,n){(0,P.gk)(t,tt,"Signature"),this.#E=e,this.#x=r,this.#R=n,this.#P=null}getCanonical(){if(this.isValid())return this;let t=Y-BigInt(this._s),e=55-this.v,r=new tr(tt,this.r,te(t),e);return this.networkV&&(r.#P=this.networkV),r}clone(){let t=new tr(tt,this.r,this._s,this.v);return this.networkV&&(t.#P=this.networkV),t}toJSON(){let t=this.networkV;return{_type:"signature",networkV:null!=t?t.toString():null,r:this.r,s:this._s,v:this.v}}[$](){return this.toString()}toString(){return this.isValid()?`Signature { r: ${this.r}, s: ${this._s}, v: ${this.v} }`:`Signature { r: ${this.r}, s: ${this._s}, v: ${this.v}, valid: false }`}static getChainId(t){let e=(0,R.Ab)(t,"v");return e==W||e==q?j:((0,P.MR)(e>=_,"invalid EIP-155 v","v",t),(e-_)/Z)}static getChainIdV(t,e){return(0,R.Ab)(t)*Z+BigInt(35+e-27)}static getNormalizedV(t){let e=(0,R.Ab)(t);return e===j||e===W?27:e===K||e===q?28:((0,P.MR)(e>=_,"invalid v","v",t),e&K?27:28)}static from(t){function e(e,r){(0,P.MR)(e,r,"signature",t)}if(null==t)return new tr(tt,J,J,27);if("string"==typeof t){let r=(0,x.q5)(t,"signature");if(64===r.length){let t=(0,x.c$)(r.slice(0,32)),e=r.slice(32,64),n=128&e[0]?28:27;return e[0]&=127,new tr(tt,t,(0,x.c$)(e),n)}if(65===r.length){let t=(0,x.c$)(r.slice(0,32)),e=(0,x.c$)(r.slice(32,64)),n=tr.getNormalizedV(r[64]);return new tr(tt,t,e,n)}e(!1,"invalid raw signature length")}if(t instanceof tr)return t.clone();let r=t.r;e(null!=r,"missing r");let n=te(r),i=function(t,r){if(null!=t)return te(t);if(null!=r){e((0,x.Lo)(r,32),"invalid yParityAndS");let t=(0,x.q5)(r);return t[0]&=127,(0,x.c$)(t)}e(!1,"missing s")}(t.s,t.yParityAndS),{networkV:s,v:a}=function(t,r,n){if(null!=t){let e=(0,R.Ab)(t);return{networkV:e>=_?e:void 0,v:tr.getNormalizedV(e)}}if(null!=r)return e((0,x.Lo)(r,32),"invalid yParityAndS"),{v:128&(0,x.q5)(r)[0]?28:27};if(null!=n){switch((0,R.WZ)(n,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}e(!1,"invalid yParity")}e(!1,"missing v")}(t.v,t.yParityAndS,t.yParity),o=new tr(tt,n,i,a);return s&&(o.#P=s),e(null==t.yParity||(0,R.WZ)(t.yParity,"sig.yParity")===o.yParity,"yParity mismatch"),e(null==t.yParityAndS||t.yParityAndS===o.yParityAndS,"yParityAndS mismatch"),o}}function tn(t){return{address:(0,w.b)(t.address),nonce:(0,R.Ab)(null!=t.nonce?t.nonce:0),chainId:(0,R.Ab)(null!=t.chainId?t.chainId:0),signature:tr.from(t.signature)}}var ti=r(68110);function ts(t){return async function(e,r){let n;(0,P.vA)(null==r||!r.cancelled,"request cancelled before sending","CANCELLED");let i=e.url.split(":")[0].toLowerCase();(0,P.vA)("http"===i||"https"===i,`unsupported protocol ${i}`,"UNSUPPORTED_OPERATION",{info:{protocol:i},operation:"request"}),(0,P.vA)("https"===i||!e.credentials||e.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let s=null,a=new AbortController,o=setTimeout(()=>{s=(0,P.xz)("request timeout","TIMEOUT"),a.abort()},e.timeout);r&&r.addListener(()=>{s=(0,P.xz)("request cancelled","CANCELLED"),a.abort()});let l=Object.assign({},t,{method:e.method,headers:new Headers(Array.from(e)),body:e.body||void 0,signal:a.signal});try{n=await fetch(e.url,l)}catch(t){if(clearTimeout(o),s)throw s;throw t}clearTimeout(o);let u={};n.headers.forEach((t,e)=>{u[e.toLowerCase()]=t});let c=await n.arrayBuffer(),h=null==c?null:new Uint8Array(c);return{statusCode:n.status,statusMessage:n.statusText,headers:u,body:h}}}ts({});let ta=ts(),to=RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),tl=RegExp("^ipfs://(ipfs/)?(.*)$","i"),tu=!1;async function tc(t,e){try{var r;let e=t.match(to);if(!e)throw Error("invalid data");return new ty(200,"OK",{"content-type":e[1]||"text/plain"},e[2]?function(t){let e=new Uint8Array((t=atob(t)).length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return(0,x.q5)(e)}(e[3]):(r=e[3],(0,ti.YW)(r.replace(/%([0-9a-f][0-9a-f])/gi,(t,e)=>String.fromCharCode(parseInt(e,16))))))}catch(e){return new ty(599,"BAD REQUEST (invalid data: URI)",{},null,new tm(t))}}function th(t){return async function(e,r){try{let r=e.match(tl);if(!r)throw Error("invalid link");return new tm(`${t}${r[2]}`)}catch(t){return new ty(599,"BAD REQUEST (invalid IPFS URI)",{},null,new tm(e))}}}let tf={data:tc,ipfs:th("https://gateway.ipfs.io/ipfs/")},td=new WeakMap;class tp{#k;#N;constructor(t){this.#k=[],this.#N=!1,td.set(t,()=>{if(!this.#N){for(let t of(this.#N=!0,this.#k))setTimeout(()=>{t()},0);this.#k=[]}})}addListener(t){(0,P.vA)(!this.#N,"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),this.#k.push(t)}get cancelled(){return this.#N}checkSignal(){(0,P.vA)(!this.cancelled,"cancelled","CANCELLED",{})}}function tg(t){if(null==t)throw Error("missing signal; should not happen");return t.checkSignal(),t}class tm{#I;#B;#C;#O;#T;#S;#M;#U;#F;#L;#D;#G;#H;#Q;#z;get url(){return this.#S}set url(t){this.#S=String(t)}get body(){return null==this.#M?null:new Uint8Array(this.#M)}set body(t){if(null==t)this.#M=void 0,this.#U=void 0;else if("string"==typeof t)this.#M=(0,ti.YW)(t),this.#U="text/plain";else if(t instanceof Uint8Array)this.#M=t,this.#U="application/octet-stream";else if("object"==typeof t)this.#M=(0,ti.YW)(JSON.stringify(t)),this.#U="application/json";else throw Error("invalid body")}hasBody(){return null!=this.#M}get method(){return this.#O?this.#O:this.hasBody()?"POST":"GET"}set method(t){null==t&&(t=""),this.#O=String(t).toUpperCase()}get headers(){let t=Object.assign({},this.#C);return this.#F&&(t.authorization=`Basic ${function(t){let e=(0,x.q5)(t),r="";for(let t=0;t<e.length;t++)r+=String.fromCharCode(e[t]);return btoa(r)}((0,ti.YW)(this.#F))}`),this.allowGzip&&(t["accept-encoding"]="gzip"),null==t["content-type"]&&this.#U&&(t["content-type"]=this.#U),this.body&&(t["content-length"]=String(this.body.length)),t}getHeader(t){return this.headers[t.toLowerCase()]}setHeader(t,e){this.#C[String(t).toLowerCase()]=String(e)}clearHeaders(){this.#C={}}[Symbol.iterator](){let t=this.headers,e=Object.keys(t),r=0;return{next:()=>{if(r<e.length){let n=e[r++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return this.#F||null}setCredentials(t,e){(0,P.MR)(!t.match(/:/),"invalid basic authentication username","username","[REDACTED]"),this.#F=`${t}:${e}`}get allowGzip(){return this.#B}set allowGzip(t){this.#B=!!t}get allowInsecureAuthentication(){return!!this.#I}set allowInsecureAuthentication(t){this.#I=!!t}get timeout(){return this.#T}set timeout(t){(0,P.MR)(t>=0,"timeout must be non-zero","timeout",t),this.#T=t}get preflightFunc(){return this.#L||null}set preflightFunc(t){this.#L=t}get processFunc(){return this.#D||null}set processFunc(t){this.#D=t}get retryFunc(){return this.#G||null}set retryFunc(t){this.#G=t}get getUrlFunc(){return this.#z||ta}set getUrlFunc(t){this.#z=t}constructor(t){this.#S=String(t),this.#I=!1,this.#B=!0,this.#C={},this.#O="",this.#T=3e5,this.#Q={slotInterval:250,maxAttempts:12},this.#z=null}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${this.#M?(0,x.c$)(this.#M):"null"}>`}setThrottleParams(t){null!=t.slotInterval&&(this.#Q.slotInterval=t.slotInterval),null!=t.maxAttempts&&(this.#Q.maxAttempts=t.maxAttempts)}async #V(t,e,r,n,i){var s;if(t>=this.#Q.maxAttempts)return i.makeServerError("exceeded maximum retry limit");(0,P.vA)(tA()<=e,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:n}),r>0&&await (s=r,new Promise(t=>setTimeout(t,s)));let a=this.clone(),o=(a.url.split(":")[0]||"").toLowerCase();if(o in tf){let t=await tf[o](a.url,tg(n.#H));if(t instanceof ty){let e=t;if(this.processFunc){tg(n.#H);try{e=await this.processFunc(a,e)}catch(t){(null==t.throttle||"number"!=typeof t.stall)&&e.makeServerError("error in post-processing function",t).assertOk()}}return e}a=t}this.preflightFunc&&(a=await this.preflightFunc(a));let l=await this.getUrlFunc(a,tg(n.#H)),u=new ty(l.statusCode,l.statusMessage,l.headers,l.body,n);if(301===u.statusCode||302===u.statusCode){try{let r=u.headers.location||"";return a.redirect(r).#V(t+1,e,0,n,u)}catch(t){}return u}if(429===u.statusCode&&(null==this.retryFunc||await this.retryFunc(a,u,t))){let r=u.headers["retry-after"],i=this.#Q.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return"string"==typeof r&&r.match(/^[1-9][0-9]*$/)&&(i=parseInt(r)),a.clone().#V(t+1,e,i,n,u)}if(this.processFunc){tg(n.#H);try{u=await this.processFunc(a,u)}catch(i){(null==i.throttle||"number"!=typeof i.stall)&&u.makeServerError("error in post-processing function",i).assertOk();let r=this.#Q.slotInterval*Math.trunc(Math.random()*Math.pow(2,t));return i.stall>=0&&(r=i.stall),a.clone().#V(t+1,e,r,n,u)}}return u}send(){return(0,P.vA)(null==this.#H,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),this.#H=new tp(this),this.#V(0,tA()+this.timeout,0,this,new ty(0,"",{},null,this))}cancel(){(0,P.vA)(null!=this.#H,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let t=td.get(this);if(!t)throw Error("missing signal; should not happen");t()}redirect(t){let e=this.url.split(":")[0].toLowerCase(),r=t.split(":")[0].toLowerCase();(0,P.vA)("GET"===this.method&&("https"!==e||"http"!==r)&&t.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(t)})`});let n=new tm(t);return n.method="GET",n.allowGzip=this.allowGzip,n.timeout=this.timeout,n.#C=Object.assign({},this.#C),this.#M&&(n.#M=new Uint8Array(this.#M)),n.#U=this.#U,n}clone(){let t=new tm(this.url);return t.#O=this.#O,this.#M&&(t.#M=this.#M),t.#U=this.#U,t.#C=Object.assign({},this.#C),t.#F=this.#F,this.allowGzip&&(t.allowGzip=!0),t.timeout=this.timeout,this.allowInsecureAuthentication&&(t.allowInsecureAuthentication=!0),t.#L=this.#L,t.#D=this.#D,t.#G=this.#G,t.#Q=Object.assign({},this.#Q),t.#z=this.#z,t}static lockConfig(){tu=!0}static getGateway(t){return tf[t.toLowerCase()]||null}static registerGateway(t,e){if("http"===(t=t.toLowerCase())||"https"===t)throw Error(`cannot intercept ${t}; use registerGetUrl`);if(tu)throw Error("gateways locked");tf[t]=e}static registerGetUrl(t){if(tu)throw Error("gateways locked");ta=t}static createGetUrlFunc(t){return ts(t)}static createDataGateway(){return tc}static createIpfsGatewayFunc(t){return th(t)}}class ty{#J;#j;#C;#M;#K;#Z;toString(){return`<FetchResponse status=${this.statusCode} body=${this.#M?(0,x.c$)(this.#M):"null"}>`}get statusCode(){return this.#J}get statusMessage(){return this.#j}get headers(){return Object.assign({},this.#C)}get body(){return null==this.#M?null:new Uint8Array(this.#M)}get bodyText(){try{return null==this.#M?"":(0,ti._v)(this.#M)}catch(t){(0,P.vA)(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch(t){(0,P.vA)(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let t=this.headers,e=Object.keys(t),r=0;return{next:()=>{if(r<e.length){let n=e[r++];return{value:[n,t[n]],done:!1}}return{value:void 0,done:!0}}}}constructor(t,e,r,n,i){this.#J=t,this.#j=e,this.#C=Object.keys(r).reduce((t,e)=>(t[e.toLowerCase()]=String(r[e]),t),{}),this.#M=null==n?null:new Uint8Array(n),this.#K=i||null,this.#Z={message:""}}makeServerError(t,e){let r;t?r=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${t})`:(t=`${this.statusCode} ${this.statusMessage}`,r=`CLIENT ESCALATED SERVER ERROR (${t})`);let n=new ty(599,r,this.headers,this.body,this.#K||void 0);return n.#Z={message:t,error:e},n}throwThrottleError(t,e){null==e?e=-1:(0,P.MR)(Number.isInteger(e)&&e>=0,"invalid stall timeout","stall",e);let r=Error(t||"throttling requests");throw(0,k.n)(r,{stall:e,throttle:!0}),r}getHeader(t){return this.headers[t.toLowerCase()]}hasBody(){return null!=this.#M}get request(){return this.#K}ok(){return""===this.#Z.message&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:t,error:e}=this.#Z;""===t&&(t=`server response ${this.statusCode} ${this.statusMessage}`);let r=null;this.request&&(r=this.request.url);let n=null;try{this.#M&&(n=(0,ti._v)(this.#M))}catch(t){}(0,P.vA)(!1,t,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:e,info:{requestUrl:r,responseBody:n,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}}function tA(){return new Date().getTime()}let tb="0x0000000000000000000000000000000000000000";var tw=r(8678);let tv=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]);function tE(t){var e;let r;return e=function(t){let e=0;function r(){return t[e++]<<8|t[e++]}let n=r(),i=1,s=[0,1];for(let t=1;t<n;t++)s.push(i+=r());let a=r(),o=e;e+=a;let l=0,u=0;function c(){return 0==l&&(u=u<<8|t[e++],l=8),u>>--l&1}let h=0x80000000-1,f=0;for(let t=0;t<31;t++)f=f<<1|c();let d=[],p=0,g=0x80000000;for(;;){let t=Math.floor(((f-p+1)*i-1)/g),e=0,r=n;for(;r-e>1;){let n=e+r>>>1;t<s[n]?r=n:e=n}if(0==e)break;d.push(e);let a=p+Math.floor(g*s[e]/i),o=p+Math.floor(g*s[e+1]/i)-1;for(;((a^o)&0x40000000)==0;)f=f<<1&h|c(),a=a<<1&h,o=o<<1&h|1;for(;a&~o&0x20000000;)f=0x40000000&f|f<<1&h>>>1|c(),a=a<<1^0x40000000,o=(0x40000000^o)<<1|0x40000001;p=a,g=1+o-a}let m=n-4;return d.map(e=>{switch(e-m){case 3:return m+65792+(t[o++]<<16|t[o++]<<8|t[o++]);case 2:return m+256+(t[o++]<<8|t[o++]);case 1:return m+t[o++];default:return e-1}})}(function(t){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((t,r)=>e[t.charCodeAt(0)]=r);let r=t.length,n=new Uint8Array(6*r>>3);for(let i=0,s=0,a=0,o=0;i<r;i++)o=o<<6|e[t.charCodeAt(i)],(a+=6)>=8&&(n[s++]=o>>(a-=8));return n}(t)),r=0,()=>e[r++]}function tx(t,e=0){let r=[];for(;;){let n=t(),i=t();if(!i)break;e+=n;for(let t=0;t<i;t++)r.push(e+t);e+=i+1}return r}function tR(t){return tk(()=>{let e=tx(t);if(e.length)return e})}function tP(t){let e=[];for(;;){let r=t();if(0==r)break;e.push(function(t,e){let r=1+e(),n=e(),i=tk(e);return tN(i.length,1+t,e).flatMap((t,e)=>{let[s,...a]=t;return Array(i[e]).fill().map((t,e)=>{let i=e*n;return[s+e*r,a.map(t=>t+i)]})})}(r,t))}for(;;){var r,n;let i=t()-1;if(i<0)break;e.push((r=i,tN(1+(n=t)(),1+r,n).map(t=>[t[0],t.slice(1)])))}return e.flat()}function tk(t){let e=[];for(;;){let r=t(e.length);if(!r)break;e.push(r)}return e}function tN(t,e,r){let n=Array(t).fill().map(()=>[]);for(let i=0;i<e;i++)(function(t,e){let r=Array(t);for(let i=0,s=0;i<t;i++){var n;r[i]=s+=1&(n=e())?~n>>1:n>>1}return r})(t,r).forEach((t,e)=>n[e].push(t));return n}function tI(t){return`{${t.toString(16).toUpperCase().padStart(2,"0")}}`}function tB(t){let e=t.length;if(e<4096)return String.fromCodePoint(...t);let r=[];for(let n=0;n<e;)r.push(String.fromCodePoint(...t.slice(n,n+=4096)));return r.join("")}function tC(t,e){let r=t.length,n=r-e.length;for(let i=0;0==n&&i<r;i++)n=t[i]-e[i];return n}let tO=55204;function tT(t){return t>>24&255}function tS(t){return 0xffffff&t}function tM(t){return t>=44032&&t<tO}function tU(t){n||function(){let t=tE("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");for(let[e,r]of(n=new Map(tR(t).flatMap((t,e)=>t.map(t=>[t,e+1<<24]))),i=new Set(tx(t)),s=new Map,a=new Map,tP(t))){if(!i.has(e)&&2==r.length){let[t,n]=r,i=a.get(t);i||(i=new Map,a.set(t,i)),i.set(n,e)}s.set(e,r.reverse())}}();let e=[],r=[],o=!1;function l(t){let r=n.get(t);r&&(o=!0,t|=r),e.push(t)}for(let n of t)for(;;){if(n<128)e.push(n);else if(tM(n)){let t=n-44032,e=t/588|0,r=t%588/28|0,i=t%28;l(4352+e),l(4449+r),i>0&&l(4519+i)}else{let t=s.get(n);t?r.push(...t):l(n)}if(!r.length)break;n=r.pop()}if(o&&e.length>1){let t=tT(e[0]);for(let r=1;r<e.length;r++){let n=tT(e[r]);if(0==n||t<=n){t=n;continue}let i=r-1;for(;;){let r=e[i+1];if(e[i+1]=e[i],e[i]=r,!i||(t=tT(e[--i]))<=n)break}t=tT(e[r])}}return e}function tF(t){return function(t){let e=[],r=[],n=-1,i=0;for(let s of t){let t=tT(s),o=tS(s);if(-1==n)0==t?n=o:e.push(o);else if(i>0&&i>=t)0==t?(e.push(n,...r),r.length=0,n=o):r.push(o),i=t;else{let s=function(t,e){if(t>=4352&&t<4371&&e>=4449&&e<4470)return 44032+(t-4352)*588+(e-4449)*28;{if(tM(t)&&e>4519&&e<4547&&(t-44032)%28==0)return t+(e-4519);let r=a.get(t);return r&&(r=r.get(e))?r:-1}}(n,o);s>=0?n=s:0==i&&0==t?(e.push(n),n=o):(r.push(o),i=t)}}return n>=0&&e.push(n,...r),e}(tU(t))}let tL=t=>Array.from(t);function tD(t,e){return t.P.has(e)||t.Q.has(e)}class tG extends Array{get is_emoji(){return!0}}function tH(){let t,e;if(o)return;let r=tE("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"),n=()=>tx(r),i=()=>new Set(n()),s=(t,e)=>e.forEach(e=>t.add(e));o=new Map(tP(r)),l=i(),u=n(),c=new Set(n().map(t=>u[t])),u=new Set(u),h=i(),i();let a=tR(r),A=r(),b=()=>{let t=new Set;return n().forEach(e=>s(t,a[e])),s(t,n()),t};f=tk(t=>{let e=tk(r).map(t=>t+96);if(e.length){let n=t>=A;e[0]-=32,e=tB(e),n&&(e=`Restricted[${e}]`);let i=b();return{N:e,P:i,Q:b(),M:!r(),R:n}}}),d=i(),p=new Map;let w=n().concat(tL(d)).sort((t,e)=>t-e);for(let{V:t,M:e}of(w.forEach((t,e)=>{let n=r(),i=w[e]=n?w[e-n]:{V:[],M:new Map};i.V.push(t),d.has(t)||p.set(t,i)}),new Set(p.values()))){let r=[];for(let e of t){let t=f.filter(t=>tD(t,e)),n=r.find(({G:e})=>t.some(t=>e.has(t)));n||(n={G:new Set,V:[]},r.push(n)),n.V.push(e),s(n.G,t)}let n=r.flatMap(t=>tL(t.G));for(let{G:t,V:i}of r){let r=new Set(n.filter(e=>!t.has(e)));for(let t of i)e.set(t,r)}}g=new Set;let v=new Set,E=t=>g.has(t)?v.add(t):g.add(t);for(let t of f){for(let e of t.P)E(e);for(let e of t.Q)E(e)}for(let t of g)p.has(t)||v.has(t)||p.set(t,1);for(let n of(s(g,tU(g).map(tS)),m=(t=[],e=tx(r),function e({S:r,B:n},i,s){if(!(4&r)||s!==i[i.length-1])for(let a of(2&r&&(s=i[i.length-1]),1&r&&t.push(i),n))for(let t of a.Q)e(a,[...i,t],s)}(function t(n){return{S:r(),B:tk(()=>{let n=tx(r).map(t=>e[t]);if(n.length)return t(n)}),Q:n}}([]),[]),t).map(t=>tG.from(t)).sort(tC),y=new Map,m)){let t=[y];for(let e of n){let r=t.map(t=>{let r=t.get(e);return r||(r=new Map,t.set(e,r)),r});65039===e?t.push(...r):t=r}for(let e of t)e.V=n}}function tQ(t){return(tJ(t)?"":`${tz(tV([t]))} `)+tI(t)}function tz(t){return`"${t}"\u200E`}function tV(t,e=1/0,r=tI){var n;let i=[];n=t[0],tH(),u.has(n)&&i.push("◌"),t.length>e&&(e>>=1,t=[...t.slice(0,e),8230,...t.slice(-e)]);let s=0,a=t.length;for(let e=0;e<a;e++){let n=t[e];tJ(n)&&(i.push(tB(t.slice(s,e))),i.push(r(n)),s=e+1)}return i.push(tB(t.slice(s,a))),i.join("")}function tJ(t){return tH(),h.has(t)}function tj(t){return Error(`disallowed character: ${tQ(t)}`)}function tK(t,e){let r=tQ(e),n=f.find(t=>t.P.has(e));return n&&(r=`${n.N} ${r}`),Error(`illegal mixture: ${t.N} + ${r}`)}function tZ(t){return Error(`illegal placement: ${t}`)}function tW(t){return t.filter(t=>65039!=t)}let tq=new Uint8Array(32);function t_(t){return(0,P.MR)(0!==t.length,"invalid ENS name; empty component","comp",t),t}function tY(t){let e=(0,ti.YW)(function(t){try{var e;if(0===t.length)throw Error("empty label");return(e=function(t,e,r){if(!t)return[];tH();let n=0;return t.split(".").map(t=>{let i=function(t){let e=[];for(let r=0,n=t.length;r<n;){let n=t.codePointAt(r);r+=n<65536?1:2,e.push(n)}return e}(t),s={input:i,offset:n};n+=i.length+1;try{let t,n=s.tokens=function(t,e,r){let n=[],i=[];for(t=t.slice().reverse();t.length;){let s=function(t,e){let r,n=y,i=t.length;for(;i&&(n=n.get(t[--i]));){let{V:e}=n;e&&(r=e,t.length=i)}return r}(t);if(s)i.length&&(n.push(e(i)),i=[]),n.push(r(s));else{let e=t.pop();if(g.has(e))i.push(e);else{let t=o.get(e);if(t)i.push(...t);else if(!l.has(e))throw tj(e)}}}return i.length&&n.push(e(i)),n}(i,e,r),a=n.length;if(!a)throw Error("empty label");let h=s.output=n.flat();for(let t=h.lastIndexOf(95);t>0;)if(95!==h[--t])throw Error("underscore allowed only at start");if(!(s.emoji=a>1||n[0].is_emoji)&&h.every(t=>t<128)){if(h.length>=4&&45==h[2]&&45==h[3])throw Error(`invalid label extension: "${tB(h.slice(0,4))}"`);t="ASCII"}else{let e=n.flatMap(t=>t.is_emoji?[]:t);if(e.length){if(u.has(h[0]))throw tZ("leading combining mark");for(let t=1;t<a;t++){let e=n[t];if(!e.is_emoji&&u.has(e[0]))throw tZ(`emoji + combining mark: "${tB(n[t-1])} + ${tV([e[0]])}"`)}!function(t){let e=t[0],r=tv.get(e);if(r)throw tZ(`leading ${r}`);let n=t.length,i=-1;for(let s=1;s<n;s++){e=t[s];let n=tv.get(e);if(n){if(i==s)throw tZ(`${r} + ${n}`);i=s+1,r=n}}if(i==n)throw tZ(`trailing ${r}`)}(h);let r=tL(new Set(e)),[i]=function(t){let e=f;for(let r of t){let t=e.filter(t=>tD(t,r));if(!t.length)if(f.some(t=>tD(t,r)))throw tK(e[0],r);else throw tj(r);if(e=t,1==t.length)break}return e}(r);(function(t,e){for(let r of e)if(!tD(t,r))throw tK(t,r);if(t.M){let t=tU(e).map(tS);for(let e=1,r=t.length;e<r;e++)if(c.has(t[e])){let n=e+1;for(let i;n<r&&c.has(i=t[n]);n++)for(let r=e;r<n;r++)if(t[r]==i)throw Error(`duplicate non-spacing marks: ${tQ(i)}`);if(n-e>4)throw Error(`excessive non-spacing marks: ${tz(tV(t.slice(e-1,n)))} (${n-e}/4)`);e=n}}})(i,e),function(t,e){let r,n=[];for(let t of e){let e=p.get(t);if(1===e)return;if(e){let n=e.M.get(t);if(!(r=r?r.filter(t=>n.has(t)):tL(n)).length)return}else n.push(t)}if(r){for(let e of r)if(n.every(t=>tD(e,t)))throw Error(`whole-script confusable: ${t.N}/${e.N}`)}}(i,r),t=i.N}else t="Emoji"}s.type=t}catch(t){s.error=t}return s})}(t,tF,tW)).map(({input:t,error:r,output:n})=>{if(r){let n=r.message;throw Error(1==e.length?n:`Invalid label ${tz(tV(t,63))}: ${n}`)}return tB(n)}).join(".")}catch(e){(0,P.MR)(!1,`invalid ENS name (${e.message})`,"name",t)}}(t)),r=[];if(0===t.length)return r;let n=0;for(let t=0;t<e.length;t++)46===e[t]&&(r.push(t_(e.slice(n,t))),n=t+1);return(0,P.MR)(n<e.length,"invalid ENS name; empty component","name",t),r.push(t_(e.slice(n))),r}function tX(t){(0,P.MR)("string"==typeof t,"invalid ENS name; not a string","name",t),(0,P.MR)(t.length,"invalid ENS name (empty label)","name",t);let e=tq,r=tY(t);for(;r.length;)e=(0,E.S)((0,x.xW)([e,(0,E.S)(r.pop())]));return(0,x.c$)(e)}tq.fill(0);var t$=r(27060),t0=r(11372);class t1 extends t0.Vw{constructor(t,e,r,n){super(),this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,t0.O8)(this.buffer)}update(t){(0,t$.t2)(this);let{view:e,buffer:r,blockLen:n}=this,i=(t=(0,t0.ZJ)(t)).length;for(let s=0;s<i;){let a=Math.min(n-this.pos,i-s);if(a===n){let e=(0,t0.O8)(t);for(;n<=i-s;s+=n)this.process(e,s);continue}r.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===n&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){(0,t$.t2)(this),(0,t$.CG)(t,this),this.finished=!0;let{buffer:e,view:r,blockLen:n,isLE:i}=this,{pos:s}=this;e[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>n-s&&(this.process(r,0),s=0);for(let t=s;t<n;t++)e[t]=0;!function(t,e,r,n){if("function"==typeof t.setBigUint64)return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(0xffffffff),a=Number(r>>i&s),o=Number(r&s),l=4*!!n,u=4*!n;t.setUint32(e+l,a,n),t.setUint32(e+u,o,n)}(r,n-8,BigInt(8*this.length),i),this.process(r,0);let a=(0,t0.O8)(t),o=this.outputLen;if(o%4)throw Error("_sha2: outputLen should be aligned to 32bit");let l=o/4,u=this.get();if(l>u.length)throw Error("_sha2: outputLen bigger than state");for(let t=0;t<l;t++)a.setUint32(4*t,u[t],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let r=t.slice(0,e);return this.destroy(),r}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:r,length:n,finished:i,destroyed:s,pos:a}=this;return t.length=n,t.pos=a,t.finished=i,t.destroyed=s,n%e&&t.buffer.set(r),t}}let t2=(t,e,r)=>t&e^~t&r,t4=(t,e,r)=>t&e^t&r^e&r,t3=new Uint32Array([0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2]),t8=new Uint32Array([0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19]),t5=new Uint32Array(64);class t6 extends t1{constructor(){super(64,32,8,!1),this.A=0|t8[0],this.B=0|t8[1],this.C=0|t8[2],this.D=0|t8[3],this.E=0|t8[4],this.F=0|t8[5],this.G=0|t8[6],this.H=0|t8[7]}get(){let{A:t,B:e,C:r,D:n,E:i,F:s,G:a,H:o}=this;return[t,e,r,n,i,s,a,o]}set(t,e,r,n,i,s,a,o){this.A=0|t,this.B=0|e,this.C=0|r,this.D=0|n,this.E=0|i,this.F=0|s,this.G=0|a,this.H=0|o}process(t,e){for(let r=0;r<16;r++,e+=4)t5[r]=t.getUint32(e,!1);for(let t=16;t<64;t++){let e=t5[t-15],r=t5[t-2],n=(0,t0.Ow)(e,7)^(0,t0.Ow)(e,18)^e>>>3,i=(0,t0.Ow)(r,17)^(0,t0.Ow)(r,19)^r>>>10;t5[t]=i+t5[t-7]+n+t5[t-16]|0}let{A:r,B:n,C:i,D:s,E:a,F:o,G:l,H:u}=this;for(let t=0;t<64;t++){let e=u+((0,t0.Ow)(a,6)^(0,t0.Ow)(a,11)^(0,t0.Ow)(a,25))+t2(a,o,l)+t3[t]+t5[t]|0,c=((0,t0.Ow)(r,2)^(0,t0.Ow)(r,13)^(0,t0.Ow)(r,22))+t4(r,n,i)|0;u=l,l=o,o=a,a=s+e|0,s=i,i=n,n=r,r=e+c|0}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,o=o+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(r,n,i,s,a,o,l,u)}roundClean(){t5.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let t9=(0,t0.ld)(()=>new t6);var t7=r(34447);let[et,ee]=t7.Ay.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),er=new Uint32Array(80),en=new Uint32Array(80);class ei extends t1{constructor(){super(128,64,16,!1),this.Ah=0x6a09e667,this.Al=-0xc4336f8,this.Bh=-0x4498517b,this.Bl=-0x7b3558c5,this.Ch=0x3c6ef372,this.Cl=-0x16b07d5,this.Dh=-0x5ab00ac6,this.Dl=0x5f1d36f1,this.Eh=0x510e527f,this.El=-0x52197d2f,this.Fh=-0x64fa9774,this.Fl=0x2b3e6c1f,this.Gh=0x1f83d9ab,this.Gl=-0x4be4295,this.Hh=0x5be0cd19,this.Hl=0x137e2179}get(){let{Ah:t,Al:e,Bh:r,Bl:n,Ch:i,Cl:s,Dh:a,Dl:o,Eh:l,El:u,Fh:c,Fl:h,Gh:f,Gl:d,Hh:p,Hl:g}=this;return[t,e,r,n,i,s,a,o,l,u,c,h,f,d,p,g]}set(t,e,r,n,i,s,a,o,l,u,c,h,f,d,p,g){this.Ah=0|t,this.Al=0|e,this.Bh=0|r,this.Bl=0|n,this.Ch=0|i,this.Cl=0|s,this.Dh=0|a,this.Dl=0|o,this.Eh=0|l,this.El=0|u,this.Fh=0|c,this.Fl=0|h,this.Gh=0|f,this.Gl=0|d,this.Hh=0|p,this.Hl=0|g}process(t,e){for(let r=0;r<16;r++,e+=4)er[r]=t.getUint32(e),en[r]=t.getUint32(e+=4);for(let t=16;t<80;t++){let e=0|er[t-15],r=0|en[t-15],n=t7.Ay.rotrSH(e,r,1)^t7.Ay.rotrSH(e,r,8)^t7.Ay.shrSH(e,r,7),i=t7.Ay.rotrSL(e,r,1)^t7.Ay.rotrSL(e,r,8)^t7.Ay.shrSL(e,r,7),s=0|er[t-2],a=0|en[t-2],o=t7.Ay.rotrSH(s,a,19)^t7.Ay.rotrBH(s,a,61)^t7.Ay.shrSH(s,a,6),l=t7.Ay.rotrSL(s,a,19)^t7.Ay.rotrBL(s,a,61)^t7.Ay.shrSL(s,a,6),u=t7.Ay.add4L(i,l,en[t-7],en[t-16]),c=t7.Ay.add4H(u,n,o,er[t-7],er[t-16]);er[t]=0|c,en[t]=0|u}let{Ah:r,Al:n,Bh:i,Bl:s,Ch:a,Cl:o,Dh:l,Dl:u,Eh:c,El:h,Fh:f,Fl:d,Gh:p,Gl:g,Hh:m,Hl:y}=this;for(let t=0;t<80;t++){let e=t7.Ay.rotrSH(c,h,14)^t7.Ay.rotrSH(c,h,18)^t7.Ay.rotrBH(c,h,41),A=t7.Ay.rotrSL(c,h,14)^t7.Ay.rotrSL(c,h,18)^t7.Ay.rotrBL(c,h,41),b=c&f^~c&p,w=h&d^~h&g,v=t7.Ay.add5L(y,A,w,ee[t],en[t]),E=t7.Ay.add5H(v,m,e,b,et[t],er[t]),x=0|v,R=t7.Ay.rotrSH(r,n,28)^t7.Ay.rotrBH(r,n,34)^t7.Ay.rotrBH(r,n,39),P=t7.Ay.rotrSL(r,n,28)^t7.Ay.rotrBL(r,n,34)^t7.Ay.rotrBL(r,n,39),k=r&i^r&a^i&a,N=n&s^n&o^s&o;m=0|p,y=0|g,p=0|f,g=0|d,f=0|c,d=0|h,({h:c,l:h}=t7.Ay.add(0|l,0|u,0|E,0|x)),l=0|a,u=0|o,a=0|i,o=0|s,i=0|r,s=0|n;let I=t7.Ay.add3L(x,P,N);r=t7.Ay.add3H(I,E,R,k),n=0|I}({h:r,l:n}=t7.Ay.add(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:s}=t7.Ay.add(0|this.Bh,0|this.Bl,0|i,0|s)),({h:a,l:o}=t7.Ay.add(0|this.Ch,0|this.Cl,0|a,0|o)),({h:l,l:u}=t7.Ay.add(0|this.Dh,0|this.Dl,0|l,0|u)),({h:c,l:h}=t7.Ay.add(0|this.Eh,0|this.El,0|c,0|h)),({h:f,l:d}=t7.Ay.add(0|this.Fh,0|this.Fl,0|f,0|d)),({h:p,l:g}=t7.Ay.add(0|this.Gh,0|this.Gl,0|p,0|g)),({h:m,l:y}=t7.Ay.add(0|this.Hh,0|this.Hl,0|m,0|y)),this.set(r,n,i,s,a,o,l,u,c,h,f,d,p,g,m,y)}roundClean(){er.fill(0),en.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}let es=(0,t0.ld)(()=>new ei),ea=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}();function eo(t){switch(t){case"sha256":return t9.create();case"sha512":return es.create()}(0,P.MR)(!1,"invalid hashing algorithm name","algorithm",t)}ea.crypto||ea.msCrypto;let el=function(t){return eo("sha256").update(t).digest()},eu=function(t){return eo("sha512").update(t).digest()},ec=el,eh=eu,ef=!1,ed=!1;function ep(t){let e=(0,x.q5)(t,"data");return(0,x.c$)(ec(e))}function eg(t){let e=(0,x.q5)(t,"data");return(0,x.c$)(eh(e))}ep._=el,ep.lock=function(){ef=!0},ep.register=function(t){if(ef)throw Error("sha256 is locked");ec=t},Object.freeze(ep),eg._=eu,eg.lock=function(){ed=!0},eg.register=function(t){if(ed)throw Error("sha512 is locked");eh=t},Object.freeze(ep),BigInt(0);let em=BigInt(1),ey=BigInt(2),eA=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function eb(t){if(!(t instanceof Uint8Array))throw Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=eA[t[r]];return e}function ew(t){if("string"!=typeof t)throw Error("hex string expected, got "+typeof t);return BigInt(""===t?"0":`0x${t}`)}function ev(t){if("string"!=typeof t)throw Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let e=0;e<r.length;e++){let n=2*e,i=Number.parseInt(t.slice(n,n+2),16);if(Number.isNaN(i)||i<0)throw Error("Invalid byte sequence");r[e]=i}return r}function eE(t){return ew(eb(t))}function ex(t){if(!(t instanceof Uint8Array))throw Error("Uint8Array expected");return ew(eb(Uint8Array.from(t).reverse()))}function eR(t,e){return ev(t.toString(16).padStart(2*e,"0"))}function eP(t,e){return eR(t,e).reverse()}function ek(t,e,r){let n;if("string"==typeof e)try{n=ev(e)}catch(r){throw Error(`${t} must be valid hex string, got "${e}". Cause: ${r}`)}else if(e instanceof Uint8Array)n=Uint8Array.from(e);else throw Error(`${t} must be hex string or Uint8Array`);let i=n.length;if("number"==typeof r&&i!==r)throw Error(`${t} expected ${r} bytes, got ${i}`);return n}function eN(...t){let e=new Uint8Array(t.reduce((t,e)=>t+e.length,0)),r=0;return t.forEach(t=>{if(!(t instanceof Uint8Array))throw Error("Uint8Array expected");e.set(t,r),r+=t.length}),e}let eI=t=>(ey<<BigInt(t-1))-em,eB=t=>new Uint8Array(t),eC=t=>Uint8Array.from(t);function eO(t,e,r){if("number"!=typeof t||t<2)throw Error("hashLen must be a number");if("number"!=typeof e||e<2)throw Error("qByteLen must be a number");if("function"!=typeof r)throw Error("hmacFn must be a function");let n=eB(t),i=eB(t),s=0,a=()=>{n.fill(1),i.fill(0),s=0},o=(...t)=>r(i,n,...t),l=(t=eB())=>{i=o(eC([0]),t),n=o(),0!==t.length&&(i=o(eC([1]),t),n=o())},u=()=>{if(s++>=1e3)throw Error("drbg: tried 1000 values");let t=0,r=[];for(;t<e;){let e=(n=o()).slice();r.push(e),t+=n.length}return eN(...r)};return(t,e)=>{let r;for(a(),l(t);!(r=e(u()));)l();return a(),r}}let eT={bigint:t=>"bigint"==typeof t,function:t=>"function"==typeof t,boolean:t=>"boolean"==typeof t,string:t=>"string"==typeof t,stringOrUint8Array:t=>"string"==typeof t||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>"function"==typeof t&&Number.isSafeInteger(t.outputLen)};function eS(t,e,r={}){let n=(e,r,n)=>{let i=eT[r];if("function"!=typeof i)throw Error(`Invalid validator "${r}", expected function`);let s=t[e];if((!n||void 0!==s)&&!i(s,t))throw Error(`Invalid param ${String(e)}=${s} (${typeof s}), expected ${r}`)};for(let[t,r]of Object.entries(e))n(t,r,!1);for(let[t,e]of Object.entries(r))n(t,e,!0);return t}let eM=BigInt(0),eU=BigInt(1),eF=BigInt(2),eL=BigInt(3),eD=BigInt(4),eG=BigInt(5),eH=BigInt(8);function eQ(t,e){let r=t%e;return r>=eM?r:e+r}function ez(t,e,r){let n=t;for(;e-- >eM;)n*=n,n%=r;return n}function eV(t,e){if(t===eM||e<=eM)throw Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=eQ(t,e),n=e,i=eM,s=eU,a=eU,o=eM;for(;r!==eM;){let t=n/r,e=n%r,l=i-a*t,u=s-o*t;n=r,r=e,i=a,s=o,a=l,o=u}if(n!==eU)throw Error("invert: does not exist");return eQ(i,e)}BigInt(9),BigInt(16);let eJ=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ej(t,e){let r=void 0!==e?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function eK(t){if("bigint"!=typeof t)throw Error("field order must be bigint");return Math.ceil(t.toString(2).length/8)}function eZ(t){let e=eK(t);return e+Math.ceil(e/2)}class eW extends t0.Vw{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,(0,t$.tW)(t);let r=(0,t0.ZJ)(e);if(this.iHash=t.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?t.create().update(r).digest():r);for(let t=0;t<i.length;t++)i[t]^=54;this.iHash.update(i),this.oHash=t.create();for(let t=0;t<i.length;t++)i[t]^=106;this.oHash.update(i),i.fill(0)}update(t){return(0,t$.t2)(this),this.iHash.update(t),this}digestInto(t){(0,t$.t2)(this),(0,t$.ee)(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:r,finished:n,destroyed:i,blockLen:s,outputLen:a}=this;return t.finished=n,t.destroyed=i,t.blockLen=s,t.outputLen=a,t.oHash=e._cloneInto(t.oHash),t.iHash=r._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let eq=(t,e,r)=>new eW(t,e).update(r).digest();eq.create=(t,e)=>new eW(t,e);let e_=BigInt(0),eY=BigInt(1);function eX(t){return eS(t.Fp,eJ.reduce((t,e)=>(t[e]="function",t),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),eS(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ej(t.n,t.nBitLength),...t,...{p:t.Fp.ORDER}})}let{Ph:e$,aT:e0}=A,e1={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(t){let{Err:e}=e1;if(t.length<2||2!==t[0])throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(128&n[0])throw new e("Invalid signature integer: negative");if(0===n[0]&&!(128&n[1]))throw new e("Invalid signature integer: unnecessary leading zero");return{d:e$(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=e1,r="string"==typeof t?e0(t):t;if(!(r instanceof Uint8Array))throw Error("ui8a expected");let n=r.length;if(n<2||48!=r[0])throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:s}=e1._parseInt(r.subarray(2)),{d:a,l:o}=e1._parseInt(s);if(o.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:a}},hexFromSig(t){let e=t=>8&Number.parseInt(t[0],16)?"00"+t:t,r=t=>{let e=t.toString(16);return 1&e.length?`0${e}`:e},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,a=i.length/2,o=r(s),l=r(a);return`30${r(a+s+4)}02${l}${i}02${o}${n}`}},e2=BigInt(0),e4=BigInt(1),e3=(BigInt(2),BigInt(3));BigInt(4);let e8=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),e5=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),e6=BigInt(1),e9=BigInt(2),e7=(t,e)=>(t+e/e9)/e,rt=function(t,e,r=!1,n={}){if(t<=eM)throw Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=ej(t,e);if(s>2048)throw Error("Field lengths over 2048 bytes are not supported");let a=function(t){if(t%eD===eL){let e=(t+eU)/eD;return function(t,r){let n=t.pow(r,e);if(!t.eql(t.sqr(n),r))throw Error("Cannot find square root");return n}}if(t%eH===eG){let e=(t-eG)/eH;return function(t,r){let n=t.mul(r,eF),i=t.pow(n,e),s=t.mul(r,i),a=t.mul(t.mul(s,eF),i),o=t.mul(s,t.sub(a,t.ONE));if(!t.eql(t.sqr(o),r))throw Error("Cannot find square root");return o}}return function(t){let e,r,n,i=(t-eU)/eF;for(e=t-eU,r=0;e%eF===eM;e/=eF,r++);for(n=eF;n<t&&function(t,e,r){if(r<=eM||e<eM)throw Error("Expected power/modulo > 0");if(r===eU)return eM;let n=eU;for(;e>eM;)e&eU&&(n=n*t%r),t=t*t%r,e>>=eU;return n}(n,i,t)!==t-eU;n++);if(1===r){let e=(t+eU)/eD;return function(t,r){let n=t.pow(r,e);if(!t.eql(t.sqr(n),r))throw Error("Cannot find square root");return n}}let s=(e+eU)/eF;return function(t,a){if(t.pow(a,i)===t.neg(t.ONE))throw Error("Cannot find square root");let o=r,l=t.pow(t.mul(t.ONE,n),e),u=t.pow(a,s),c=t.pow(a,e);for(;!t.eql(c,t.ONE);){if(t.eql(c,t.ZERO))return t.ZERO;let e=1;for(let r=t.sqr(c);e<o&&!t.eql(r,t.ONE);e++)r=t.sqr(r);let r=t.pow(l,eU<<BigInt(o-e-1));l=t.sqr(r),u=t.mul(u,r),c=t.mul(c,l),o=e}return u}}(t)}(t),o=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:eI(i),ZERO:eM,ONE:eU,create:e=>eQ(e,t),isValid:e=>{if("bigint"!=typeof e)throw Error(`Invalid field element: expected bigint, got ${typeof e}`);return eM<=e&&e<t},is0:t=>t===eM,isOdd:t=>(t&eU)===eU,neg:e=>eQ(-e,t),eql:(t,e)=>t===e,sqr:e=>eQ(e*e,t),add:(e,r)=>eQ(e+r,t),sub:(e,r)=>eQ(e-r,t),mul:(e,r)=>eQ(e*r,t),pow:(t,e)=>(function(t,e,r){if(r<eM)throw Error("Expected power > 0");if(r===eM)return t.ONE;if(r===eU)return e;let n=t.ONE,i=e;for(;r>eM;)r&eU&&(n=t.mul(n,i)),i=t.sqr(i),r>>=eU;return n})(o,t,e),div:(e,r)=>eQ(e*eV(r,t),t),sqrN:t=>t*t,addN:(t,e)=>t+e,subN:(t,e)=>t-e,mulN:(t,e)=>t*e,inv:e=>eV(e,t),sqrt:n.sqrt||(t=>a(o,t)),invertBatch:t=>(function(t,e){let r=Array(e.length),n=e.reduce((e,n,i)=>t.is0(n)?e:(r[i]=e,t.mul(e,n)),t.ONE),i=t.inv(n);return e.reduceRight((e,n,i)=>t.is0(n)?e:(r[i]=t.mul(e,r[i]),t.mul(e,n)),i),r})(o,t),cmov:(t,e,r)=>r?e:t,toBytes:t=>r?eP(t,s):eR(t,s),fromBytes:t=>{if(t.length!==s)throw Error(`Fp.fromBytes: expected ${s}, got ${t.length}`);return r?ex(t):eE(t)}});return Object.freeze(o)}(e8,void 0,void 0,{sqrt:function(t){let e=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),a=BigInt(44),o=BigInt(88),l=t*t*t%e8,u=l*l*t%e8,c=ez(u,e,e8)*u%e8,h=ez(c,e,e8)*u%e8,f=ez(h,e9,e8)*l%e8,d=ez(f,n,e8)*f%e8,p=ez(d,i,e8)*d%e8,g=ez(p,a,e8)*p%e8,m=ez(g,o,e8)*g%e8,y=ez(m,a,e8)*p%e8,A=ez(y,e,e8)*u%e8,b=ez(A,s,e8)*d%e8,w=ez(b,r,e8)*l%e8,v=ez(w,e9,e8);if(!rt.eql(rt.sqr(v),t))throw Error("Cannot find square root");return v}}),re=function(t,e){let r=e=>(function(t){let e=function(t){let e=eX(t);return eS(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}(t),{Fp:r,n:n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function a(t){return eQ(t,n)}let{ProjectivePoint:o,normPrivateKeyToScalar:l,weierstrassEquation:u,isWithinCurveOrder:c}=function(t){let e=function(t){let e=eX(t);eS(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}(t),{Fp:r}=e,n=e.toBytes||((t,e,n)=>{let i=e.toAffine();return eN(Uint8Array.from([4]),r.toBytes(i.x),r.toBytes(i.y))}),i=e.fromBytes||(t=>{let e=t.subarray(1);return{x:r.fromBytes(e.subarray(0,r.BYTES)),y:r.fromBytes(e.subarray(r.BYTES,2*r.BYTES))}});function s(t){let{a:n,b:i}=e,s=r.sqr(t),a=r.mul(s,t);return r.add(r.add(a,r.mul(t,n)),i)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw Error("bad generator point: equation left != right");function a(t){return"bigint"==typeof t&&e2<t&&t<e.n}function o(t){if(!a(t))throw Error("Expected valid bigint: 0 < bigint < curve.n")}function l(t){let r,{allowedPrivateKeyLengths:n,nByteLength:i,wrapPrivateKey:s,n:a}=e;if(n&&"bigint"!=typeof t){if(t instanceof Uint8Array&&(t=eb(t)),"string"!=typeof t||!n.includes(t.length))throw Error("Invalid key");t=t.padStart(2*i,"0")}try{r="bigint"==typeof t?t:eE(ek("private key",t,i))}catch(e){throw Error(`private key must be ${i} bytes, hex or bigint, not ${typeof t}`)}return s&&(r=eQ(r,a)),o(r),r}let u=new Map;function c(t){if(!(t instanceof h))throw Error("ProjectivePoint expected")}class h{constructor(t,e,n){if(this.px=t,this.py=e,this.pz=n,null==t||!r.isValid(t))throw Error("x required");if(null==e||!r.isValid(e))throw Error("y required");if(null==n||!r.isValid(n))throw Error("z required")}static fromAffine(t){let{x:e,y:n}=t||{};if(!t||!r.isValid(e)||!r.isValid(n))throw Error("invalid affine point");if(t instanceof h)throw Error("projective point not allowed");let i=t=>r.eql(t,r.ZERO);return i(e)&&i(n)?h.ZERO:new h(e,n,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(t){let e=r.invertBatch(t.map(t=>t.pz));return t.map((t,r)=>t.toAffine(e[r])).map(h.fromAffine)}static fromHex(t){let e=h.fromAffine(i(ek("pointHex",t)));return e.assertValidity(),e}static fromPrivateKey(t){return h.BASE.multiply(l(t))}_setWindowSize(t){this._WINDOW_SIZE=t,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw Error("bad point: ZERO")}let{x:t,y:n}=this.toAffine();if(!r.isValid(t)||!r.isValid(n))throw Error("bad point: x or y not FE");let i=r.sqr(n),a=s(t);if(!r.eql(i,a))throw Error("bad point: equation left != right");if(!this.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:t}=this.toAffine();if(r.isOdd)return!r.isOdd(t);throw Error("Field doesn't support isOdd")}equals(t){c(t);let{px:e,py:n,pz:i}=this,{px:s,py:a,pz:o}=t,l=r.eql(r.mul(e,o),r.mul(s,i)),u=r.eql(r.mul(n,o),r.mul(a,i));return l&&u}negate(){return new h(this.px,r.neg(this.py),this.pz)}double(){let{a:t,b:n}=e,i=r.mul(n,e3),{px:s,py:a,pz:o}=this,l=r.ZERO,u=r.ZERO,c=r.ZERO,f=r.mul(s,s),d=r.mul(a,a),p=r.mul(o,o),g=r.mul(s,a);return g=r.add(g,g),c=r.mul(s,o),c=r.add(c,c),l=r.mul(t,c),u=r.mul(i,p),u=r.add(l,u),l=r.sub(d,u),u=r.add(d,u),u=r.mul(l,u),l=r.mul(g,l),c=r.mul(i,c),p=r.mul(t,p),g=r.sub(f,p),g=r.mul(t,g),g=r.add(g,c),c=r.add(f,f),f=r.add(c,f),f=r.add(f,p),f=r.mul(f,g),u=r.add(u,f),p=r.mul(a,o),p=r.add(p,p),f=r.mul(p,g),l=r.sub(l,f),c=r.mul(p,d),c=r.add(c,c),new h(l,u,c=r.add(c,c))}add(t){c(t);let{px:n,py:i,pz:s}=this,{px:a,py:o,pz:l}=t,u=r.ZERO,f=r.ZERO,d=r.ZERO,p=e.a,g=r.mul(e.b,e3),m=r.mul(n,a),y=r.mul(i,o),A=r.mul(s,l),b=r.add(n,i),w=r.add(a,o);b=r.mul(b,w),w=r.add(m,y),b=r.sub(b,w),w=r.add(n,s);let v=r.add(a,l);return w=r.mul(w,v),v=r.add(m,A),w=r.sub(w,v),v=r.add(i,s),u=r.add(o,l),v=r.mul(v,u),u=r.add(y,A),v=r.sub(v,u),d=r.mul(p,w),u=r.mul(g,A),d=r.add(u,d),u=r.sub(y,d),d=r.add(y,d),f=r.mul(u,d),y=r.add(m,m),y=r.add(y,m),A=r.mul(p,A),w=r.mul(g,w),y=r.add(y,A),A=r.sub(m,A),A=r.mul(p,A),w=r.add(w,A),m=r.mul(y,w),f=r.add(f,m),m=r.mul(v,w),u=r.mul(b,u),u=r.sub(u,m),m=r.mul(b,y),d=r.mul(v,d),new h(u,f,d=r.add(d,m))}subtract(t){return this.add(t.negate())}is0(){return this.equals(h.ZERO)}wNAF(t){return d.wNAFCached(this,u,t,t=>{let e=r.invertBatch(t.map(t=>t.pz));return t.map((t,r)=>t.toAffine(e[r])).map(h.fromAffine)})}multiplyUnsafe(t){let n=h.ZERO;if(t===e2)return n;if(o(t),t===e4)return this;let{endo:i}=e;if(!i)return d.unsafeLadder(this,t);let{k1neg:s,k1:a,k2neg:l,k2:u}=i.splitScalar(t),c=n,f=n,p=this;for(;a>e2||u>e2;)a&e4&&(c=c.add(p)),u&e4&&(f=f.add(p)),p=p.double(),a>>=e4,u>>=e4;return s&&(c=c.negate()),l&&(f=f.negate()),f=new h(r.mul(f.px,i.beta),f.py,f.pz),c.add(f)}multiply(t){let n,i;o(t);let{endo:s}=e;if(s){let{k1neg:e,k1:a,k2neg:o,k2:l}=s.splitScalar(t),{p:u,f:c}=this.wNAF(a),{p:f,f:p}=this.wNAF(l);u=d.constTimeNegate(e,u),f=d.constTimeNegate(o,f),f=new h(r.mul(f.px,s.beta),f.py,f.pz),n=u.add(f),i=c.add(p)}else{let{p:e,f:r}=this.wNAF(t);n=e,i=r}return h.normalizeZ([n,i])[0]}multiplyAndAddUnsafe(t,e,r){let n=h.BASE,i=(t,e)=>e!==e2&&e!==e4&&t.equals(n)?t.multiply(e):t.multiplyUnsafe(e),s=i(this,e).add(i(t,r));return s.is0()?void 0:s}toAffine(t){let{px:e,py:n,pz:i}=this,s=this.is0();null==t&&(t=s?r.ONE:r.inv(i));let a=r.mul(e,t),o=r.mul(n,t),l=r.mul(i,t);if(s)return{x:r.ZERO,y:r.ZERO};if(!r.eql(l,r.ONE))throw Error("invZ was invalid");return{x:a,y:o}}isTorsionFree(){let{h:t,isTorsionFree:r}=e;if(t===e4)return!0;if(r)return r(h,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:t,clearCofactor:r}=e;return t===e4?this:r?r(h,this):this.multiplyUnsafe(e.h)}toRawBytes(t=!0){return this.assertValidity(),n(h,this,t)}toHex(t=!0){return eb(this.toRawBytes(t))}}h.BASE=new h(e.Gx,e.Gy,r.ONE),h.ZERO=new h(r.ZERO,r.ONE,r.ZERO);let f=e.nBitLength,d=function(t,e){let r=(t,e)=>{let r=e.negate();return t?r:e},n=t=>({windows:Math.ceil(e/t)+1,windowSize:2**(t-1)});return{constTimeNegate:r,unsafeLadder(e,r){let n=t.ZERO,i=e;for(;r>e_;)r&eY&&(n=n.add(i)),i=i.double(),r>>=eY;return n},precomputeWindow(t,e){let{windows:r,windowSize:i}=n(e),s=[],a=t,o=a;for(let t=0;t<r;t++){o=a,s.push(o);for(let t=1;t<i;t++)o=o.add(a),s.push(o);a=o.double()}return s},wNAF(e,i,s){let{windows:a,windowSize:o}=n(e),l=t.ZERO,u=t.BASE,c=BigInt(2**e-1),h=2**e,f=BigInt(e);for(let t=0;t<a;t++){let e=t*o,n=Number(s&c);s>>=f,n>o&&(n-=h,s+=eY);let a=e+Math.abs(n)-1,d=t%2!=0,p=n<0;0===n?u=u.add(r(d,i[e])):l=l.add(r(p,i[a]))}return{p:l,f:u}},wNAFCached(t,e,r,n){let i=t._WINDOW_SIZE||1,s=e.get(t);return s||(s=this.precomputeWindow(t,i),1!==i&&e.set(t,n(s))),this.wNAF(i,s,r)}}}(h,e.endo?Math.ceil(f/2):f);return{CURVE:e,ProjectivePoint:h,normPrivateKeyToScalar:l,weierstrassEquation:s,isWithinCurveOrder:a}}({...e,toBytes(t,e,n){let i=e.toAffine(),s=r.toBytes(i.x),a=eN;return n?a(Uint8Array.from([e.hasEvenY()?2:3]),s):a(Uint8Array.from([4]),s,r.toBytes(i.y))},fromBytes(t){let e=t.length,n=t[0],a=t.subarray(1);if(e===i&&(2===n||3===n)){let t=eE(a);if(!(e2<t&&t<r.ORDER))throw Error("Point is not on curve");let e=u(t),i=r.sqrt(e);return(1&n)==1!=((i&e4)===e4)&&(i=r.neg(i)),{x:t,y:i}}if(e===s&&4===n)return{x:r.fromBytes(a.subarray(0,r.BYTES)),y:r.fromBytes(a.subarray(r.BYTES,2*r.BYTES))};throw Error(`Point of length ${e} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),h=t=>eb(eR(t,e.nByteLength)),f=(t,e,r)=>eE(t.slice(e,r));class d{constructor(t,e,r){this.r=t,this.s=e,this.recovery=r,this.assertValidity()}static fromCompact(t){let r=e.nByteLength;return new d(f(t=ek("compactSignature",t,2*r),0,r),f(t,r,2*r))}static fromDER(t){let{r:e,s:r}=e1.toSig(ek("DER",t));return new d(e,r)}assertValidity(){if(!c(this.r))throw Error("r must be 0 < r < CURVE.n");if(!c(this.s))throw Error("s must be 0 < s < CURVE.n")}addRecoveryBit(t){return new d(this.r,this.s,t)}recoverPublicKey(t){let{r:i,s,recovery:l}=this,u=m(ek("msgHash",t));if(null==l||![0,1,2,3].includes(l))throw Error("recovery id invalid");let c=2===l||3===l?i+e.n:i;if(c>=r.ORDER)throw Error("recovery id 2 or 3 invalid");let f=(1&l)==0?"02":"03",d=o.fromHex(f+h(c)),p=eV(c,n),g=a(-u*p),y=a(s*p),A=o.BASE.multiplyAndAddUnsafe(d,g,y);if(!A)throw Error("point at infinify");return A.assertValidity(),A}hasHighS(){return this.s>n>>e4}normalizeS(){return this.hasHighS()?new d(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return ev(this.toDERHex())}toDERHex(){return e1.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return ev(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}function p(t){let e=t instanceof Uint8Array,r="string"==typeof t,n=(e||r)&&t.length;return e?n===i||n===s:r?n===2*i||n===2*s:t instanceof o}let g=e.bits2int||function(t){let r=eE(t),n=8*t.length-e.nBitLength;return n>0?r>>BigInt(n):r},m=e.bits2int_modN||function(t){return a(g(t))},y=eI(e.nBitLength);function A(t){if("bigint"!=typeof t)throw Error("bigint expected");if(!(e2<=t&&t<y))throw Error(`bigint expected < 2^${e.nBitLength}`);return eR(t,e.nByteLength)}let b={lowS:e.lowS,prehash:!1},w={lowS:e.lowS,prehash:!1};return o.BASE._setWindowSize(8),{CURVE:e,getPublicKey:function(t,e=!0){return o.fromPrivateKey(t).toRawBytes(e)},getSharedSecret:function(t,e,r=!0){if(p(t))throw Error("first arg must be private key");if(!p(e))throw Error("second arg must be public key");return o.fromHex(e).multiply(l(t)).toRawBytes(r)},sign:function(t,i,s=b){let{seed:u,k2sig:h}=function(t,i,s=b){if(["recovered","canonical"].some(t=>t in s))throw Error("sign() legacy options not supported");let{hash:u,randomBytes:h}=e,{lowS:f,prehash:p,extraEntropy:y}=s;null==f&&(f=!0),t=ek("msgHash",t),p&&(t=ek("prehashed msgHash",u(t)));let w=m(t),v=l(i),E=[A(v),A(w)];if(null!=y){let t=!0===y?h(r.BYTES):y;E.push(ek("extraEntropy",t))}return{seed:eN(...E),k2sig:function(t){var e;let r=g(t);if(!c(r))return;let i=eV(r,n),s=o.BASE.multiply(r).toAffine(),l=a(s.x);if(l===e2)return;let u=a(i*a(w+l*v));if(u===e2)return;let h=2*(s.x!==l)|Number(s.y&e4),p=u;return f&&u>n>>e4&&(p=(e=u)>n>>e4?a(-e):e,h^=1),new d(l,p,h)}}}(t,i,s);return eO(e.hash.outputLen,e.nByteLength,e.hmac)(u,h)},verify:function(t,r,i,s=w){let l,u;if(r=ek("msgHash",r),i=ek("publicKey",i),"strict"in s)throw Error("options.strict was renamed to lowS");let{lowS:c,prehash:h}=s;try{if("string"==typeof t||t instanceof Uint8Array)try{u=d.fromDER(t)}catch(e){if(!(e instanceof e1.Err))throw e;u=d.fromCompact(t)}else if("object"==typeof t&&"bigint"==typeof t.r&&"bigint"==typeof t.s){let{r:e,s:r}=t;u=new d(e,r)}else throw Error("PARSE");l=o.fromHex(i)}catch(t){if("PARSE"===t.message)throw Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(c&&u.hasHighS())return!1;h&&(r=e.hash(r));let{r:f,s:p}=u,g=m(r),y=eV(p,n),A=a(g*y),b=a(f*y),v=o.BASE.multiplyAndAddUnsafe(l,A,b)?.toAffine();return!!v&&a(v.x)===f},ProjectivePoint:o,Signature:d,utils:{isValidPrivateKey(t){try{return l(t),!0}catch(t){return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let t=eZ(e.n);return function(t,e,r=!1){let n=t.length,i=eK(e),s=eZ(e);if(n<16||n<s||n>1024)throw Error(`expected ${s}-1024 bytes of input, got ${n}`);let a=eQ(r?eE(t):ex(t),e-eU)+eU;return r?eP(a,i):eR(a,i)}(e.randomBytes(t),e.n)},precompute:(t=8,e=o.BASE)=>(e._setWindowSize(t),e.multiply(BigInt(3)),e)}}})({...t,...{hash:e,hmac:(t,...r)=>eq(e,t,(0,t0.Id)(...r)),randomBytes:t0.po}});return Object.freeze({...r(e),create:r})}({a:BigInt(0),b:BigInt(7),Fp:rt,n:e5,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-e6*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=BigInt("0x100000000000000000000000000000000"),s=e7(e*t,e5),a=e7(-r*t,e5),o=eQ(t-s*e-a*n,e5),l=eQ(-s*r-a*e,e5),u=o>i,c=l>i;if(u&&(o=e5-o),c&&(l=e5-l),o>i||l>i)throw Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:u,k1:o,k2neg:c,k2:l}}}},t9);BigInt(0),re.ProjectivePoint;class rr{#W;constructor(t){(0,P.MR)(32===(0,x.pO)(t),"invalid private key","privateKey","[REDACTED]"),this.#W=(0,x.c$)(t)}get privateKey(){return this.#W}get publicKey(){return rr.computePublicKey(this.#W)}get compressedPublicKey(){return rr.computePublicKey(this.#W,!0)}sign(t){(0,P.MR)(32===(0,x.pO)(t),"invalid digest length","digest",t);let e=re.sign((0,x.Lm)(t),(0,x.Lm)(this.#W),{lowS:!0});return tr.from({r:(0,R.up)(e.r,32),s:(0,R.up)(e.s,32),v:e.recovery?28:27})}computeSharedSecret(t){let e=rr.computePublicKey(t);return(0,x.c$)(re.getSharedSecret((0,x.Lm)(this.#W),(0,x.q5)(e),!1))}static computePublicKey(t,e){let r=(0,x.q5)(t,"key");if(32===r.length){let t=re.getPublicKey(r,!!e);return(0,x.c$)(t)}if(64===r.length){let t=new Uint8Array(65);t[0]=4,t.set(r,1),r=t}let n=re.ProjectivePoint.fromHex(r);return(0,x.c$)(n.toRawBytes(e))}static recoverPublicKey(t,e){(0,P.MR)(32===(0,x.pO)(t),"invalid digest length","digest",t);let r=tr.from(e),n=re.Signature.fromCompact((0,x.Lm)((0,x.xW)([r.r,r.s]))),i=(n=n.addRecoveryBit(r.yParity)).recoverPublicKey((0,x.Lm)(t));return(0,P.MR)(null!=i,"invalid signature for digest","signature",e),"0x"+i.toHex(!1)}static addPoints(t,e,r){let n=re.ProjectivePoint.fromHex(rr.computePublicKey(t).substring(2)),i=re.ProjectivePoint.fromHex(rr.computePublicKey(e).substring(2));return"0x"+n.add(i).toHex(!!r)}}function rn(t,e,r){let n=0;for(let i=0;i<r;i++)n=256*n+t[e+i];return n}function ri(t,e,r,n){let i=[];for(;r<e+1+n;){let s=rs(t,r);i.push(s.result),r+=s.consumed,(0,P.vA)(r<=e+1+n,"child data too short","BUFFER_OVERRUN",{buffer:t,length:n,offset:e})}return{consumed:1+n,result:i}}function rs(t,e){(0,P.vA)(0!==t.length,"data too short","BUFFER_OVERRUN",{buffer:t,length:0,offset:1});let r=e=>{(0,P.vA)(e<=t.length,"data short segment too short","BUFFER_OVERRUN",{buffer:t,length:t.length,offset:e})};if(t[e]>=248){let n=t[e]-247;r(e+1+n);let i=rn(t,e+1,n);return r(e+1+n+i),ri(t,e,e+1+n,n+i)}if(t[e]>=192){let n=t[e]-192;return r(e+1+n),ri(t,e,e+1,n)}if(t[e]>=184){let n=t[e]-183;r(e+1+n);let i=rn(t,e+1,n);r(e+1+n+i);let s=(0,x.c$)(t.slice(e+1+n,e+1+n+i));return{consumed:1+n+i,result:s}}if(t[e]>=128){let n=t[e]-128;r(e+1+n);let i=(0,x.c$)(t.slice(e+1,e+1+n));return{consumed:1+n,result:i}}return{consumed:1,result:function(t){let e=t.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}(t[e])}}function ra(t){let e=(0,x.q5)(t,"data"),r=rs(e,0);return(0,P.MR)(r.consumed===e.length,"unexpected junk after rlp payload","data",t),r.result}function ro(t){let e=[];for(;t;)e.unshift(255&t),t>>=8;return e}let rl="0123456789abcdef";function ru(t){let e="0x";for(let r of function t(e){if(Array.isArray(e)){let r=[];if(e.forEach(function(e){r=r.concat(t(e))}),r.length<=55)return r.unshift(192+r.length),r;let n=ro(r.length);return n.unshift(247+n.length),n.concat(r)}let r=Array.prototype.slice.call((0,x.q5)(e,"object"));if(1===r.length&&r[0]<=127)return r;if(r.length<=55)return r.unshift(128+r.length),r;let n=ro(r.length);return n.unshift(183+n.length),n.concat(r)}(t))e+=rl[r>>4],e+=rl[15&r];return e}let rc=BigInt(0),rh=BigInt(2),rf=BigInt(27),rd=BigInt(28),rp=BigInt(35),rg=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),rm=Symbol.for("nodejs.util.inspect.custom");function ry(t,e){let r=t.toString(16);for(;r.length<2;)r="0"+r;return"0x"+(r+=ep(e).substring(4))}function rA(t){return"0x"===t?null:(0,w.b)(t)}function rb(t,e){try{return(0,V.$)(t)}catch(r){(0,P.MR)(!1,r.message,e,t)}}function rw(t,e){return"0x"===t?0:(0,R.WZ)(t,e)}function rv(t,e){if("0x"===t)return rc;let r=(0,R.Ab)(t,e);return(0,P.MR)(r<=rg,"value exceeds uint size",e,r),r}function rE(t,e){let r=(0,R.Ab)(t,"value"),n=(0,R.c4)(r);return(0,P.MR)(n.length<=32,"value too large",`tx.${e}`,r),n}function rx(t){return(0,V.$)(t).map(t=>[t.address,t.storageKeys])}function rR(t,e){let r;try{if(r=rw(e[0],"yParity"),0!==r&&1!==r)throw Error("bad yParity")}catch(t){(0,P.MR)(!1,"invalid yParity","yParity",e[0])}let n=(0,x.nx)(e[1],32),i=(0,x.nx)(e[2],32);t.signature=tr.from({r:n,s:i,yParity:r})}class rP{#q;#_;#Y;#X;#$;#tt;#te;#tr;#tn;#ti;#ts;#ta;#to;#tl;#tu;#tc;#th;#tf;get type(){return this.#q}set type(t){switch(t){case null:this.#q=null;break;case 0:case"legacy":this.#q=0;break;case 1:case"berlin":case"eip-2930":this.#q=1;break;case 2:case"london":case"eip-1559":this.#q=2;break;case 3:case"cancun":case"eip-4844":this.#q=3;break;case 4:case"pectra":case"eip-7702":this.#q=4;break;default:(0,P.MR)(!1,"unsupported transaction type","type",t)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844";case 4:return"eip-7702"}return null}get to(){let t=this.#_;return null==t&&3===this.type?tb:t}set to(t){this.#_=null==t?null:(0,w.b)(t)}get nonce(){return this.#X}set nonce(t){this.#X=(0,R.WZ)(t,"value")}get gasLimit(){return this.#$}set gasLimit(t){this.#$=(0,R.Ab)(t)}get gasPrice(){let t=this.#tt;return null==t&&(0===this.type||1===this.type)?rc:t}set gasPrice(t){this.#tt=null==t?null:(0,R.Ab)(t,"gasPrice")}get maxPriorityFeePerGas(){let t=this.#te;return null==t?2===this.type||3===this.type?rc:null:t}set maxPriorityFeePerGas(t){this.#te=null==t?null:(0,R.Ab)(t,"maxPriorityFeePerGas")}get maxFeePerGas(){let t=this.#tr;return null==t?2===this.type||3===this.type?rc:null:t}set maxFeePerGas(t){this.#tr=null==t?null:(0,R.Ab)(t,"maxFeePerGas")}get data(){return this.#Y}set data(t){this.#Y=(0,x.c$)(t)}get value(){return this.#tn}set value(t){this.#tn=(0,R.Ab)(t,"value")}get chainId(){return this.#ti}set chainId(t){this.#ti=(0,R.Ab)(t)}get signature(){return this.#ts||null}set signature(t){this.#ts=null==t?null:tr.from(t)}isValid(){let t=this.signature;if(t&&!t.isValid())return!1;let e=this.authorizationList;if(e){for(let t of e)if(!t.signature.isValid())return!1}return!0}get accessList(){let t=this.#ta||null;return null==t?1===this.type||2===this.type||3===this.type?[]:null:t}set accessList(t){this.#ta=null==t?null:(0,V.$)(t)}get authorizationList(){let t=this.#th||null;return null==t&&4===this.type?[]:t}set authorizationList(t){this.#th=null==t?null:t.map(t=>tn(t))}get maxFeePerBlobGas(){let t=this.#to;return null==t&&3===this.type?rc:t}set maxFeePerBlobGas(t){this.#to=null==t?null:(0,R.Ab)(t,"maxFeePerBlobGas")}get blobVersionedHashes(){let t=this.#tl;return null==t&&3===this.type?[]:t}set blobVersionedHashes(t){if(null!=t){(0,P.MR)(Array.isArray(t),"blobVersionedHashes must be an Array","value",t),t=t.slice();for(let e=0;e<t.length;e++)(0,P.MR)((0,x.Lo)(t[e],32),"invalid blobVersionedHash",`value[${e}]`,t[e])}this.#tl=t}get blobs(){return null==this.#tc?null:this.#tc.map(t=>Object.assign({},t))}set blobs(t){if(null==t){this.#tc=null;return}let e=[],r=[];for(let n=0;n<t.length;n++){let i=t[n];if((0,x.f)(i)){(0,P.vA)(this.#tu,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let t=(0,x.q5)(i);if((0,P.MR)(t.length<=131072,"blob is too large",`blobs[${n}]`,i),131072!==t.length){let e=new Uint8Array(131072);e.set(t),t=e}let s=this.#tu.blobToKzgCommitment(t),a=(0,x.c$)(this.#tu.computeBlobKzgProof(t,s));e.push({data:(0,x.c$)(t),commitment:(0,x.c$)(s),proof:a}),r.push(ry(1,s))}else{let t=(0,x.c$)(i.data),n=(0,x.c$)(i.commitment),s=(0,x.c$)(i.proof);e.push({data:t,commitment:n,proof:s}),r.push(ry(1,n))}}this.#tc=e,this.#tl=r}get kzg(){return this.#tu}set kzg(t){if(null==t)this.#tu=null;else this.#tu={blobToKzgCommitment:e=>{if("computeBlobProof"in t){if("blobToKzgCommitment"in t&&"function"==typeof t.blobToKzgCommitment)return(0,x.q5)(t.blobToKzgCommitment((0,x.c$)(e)))}else if("blobToKzgCommitment"in t&&"function"==typeof t.blobToKzgCommitment)return(0,x.q5)(t.blobToKzgCommitment(e));if("blobToKZGCommitment"in t&&"function"==typeof t.blobToKZGCommitment)return(0,x.q5)(t.blobToKZGCommitment((0,x.c$)(e)));(0,P.MR)(!1,"unsupported KZG library","kzg",t)},computeBlobKzgProof:(e,r)=>"computeBlobProof"in t&&"function"==typeof t.computeBlobProof?(0,x.q5)(t.computeBlobProof((0,x.c$)(e),(0,x.c$)(r))):"computeBlobKzgProof"in t&&"function"==typeof t.computeBlobKzgProof?t.computeBlobKzgProof(e,r):"computeBlobKZGProof"in t&&"function"==typeof t.computeBlobKZGProof?(0,x.q5)(t.computeBlobKZGProof((0,x.c$)(e),(0,x.c$)(r))):void(0,P.MR)(!1,"unsupported KZG library","kzg",t)}}get blobWrapperVersion(){return this.#tf}set blobWrapperVersion(t){this.#tf=t}constructor(){this.#q=null,this.#_=null,this.#X=0,this.#$=rc,this.#tt=null,this.#te=null,this.#tr=null,this.#Y="0x",this.#tn=rc,this.#ti=rc,this.#ts=null,this.#ta=null,this.#to=null,this.#tl=null,this.#tu=null,this.#tc=null,this.#th=null,this.#tf=null}get hash(){return null==this.signature?null:(0,E.S)(this.#td(!0,!1))}get unsignedHash(){return(0,E.S)(this.unsignedSerialized)}get from(){var t,e,r;let n;return null==this.signature?null:(t=this.unsignedHash,e=this.signature.getCanonical(),n="string"==typeof(r=rr.recoverPublicKey(t,e))?rr.computePublicKey(r,!1):r.publicKey,(0,w.b)((0,E.S)("0x"+n.substring(4)).substring(26)))}get fromPublicKey(){return null==this.signature?null:rr.recoverPublicKey(this.unsignedHash,this.signature.getCanonical())}isSigned(){return null!=this.signature}#td(t,e){(0,P.vA)(!t||null!=this.signature,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let r=t?this.signature:null;switch(this.inferType()){case 0:return function(t,e){let r=[rE(t.nonce,"nonce"),rE(t.gasPrice||0,"gasPrice"),rE(t.gasLimit,"gasLimit"),t.to||"0x",rE(t.value,"value"),t.data],n=rc;if(t.chainId!=rc)n=(0,R.Ab)(t.chainId,"tx.chainId"),(0,P.MR)(!e||null==e.networkV||e.legacyChainId===n,"tx.chainId/sig.v mismatch","sig",e);else if(t.signature){let e=t.signature.legacyChainId;null!=e&&(n=e)}if(!e)return n!==rc&&(r.push((0,R.c4)(n)),r.push("0x"),r.push("0x")),ru(r);let i=BigInt(27+e.yParity);return n!==rc?i=tr.getChainIdV(n,e.v):BigInt(e.v)!==i&&(0,P.MR)(!1,"tx.chainId/sig.v mismatch","sig",e),r.push((0,R.c4)(i)),r.push((0,R.c4)(e.r)),r.push((0,R.c4)(e._s)),ru(r)}(this,r);case 1:let n=[rE(this.chainId,"chainId"),rE(this.nonce,"nonce"),rE(this.gasPrice||0,"gasPrice"),rE(this.gasLimit,"gasLimit"),this.to||"0x",rE(this.value,"value"),this.data,rx(this.accessList||[])];return r&&(n.push(rE(r.yParity,"recoveryParam")),n.push((0,R.c4)(r.r)),n.push((0,R.c4)(r.s))),(0,x.xW)(["0x01",ru(n)]);case 2:let i=[rE(this.chainId,"chainId"),rE(this.nonce,"nonce"),rE(this.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),rE(this.maxFeePerGas||0,"maxFeePerGas"),rE(this.gasLimit,"gasLimit"),this.to||"0x",rE(this.value,"value"),this.data,rx(this.accessList||[])];return r&&(i.push(rE(r.yParity,"yParity")),i.push((0,R.c4)(r.r)),i.push((0,R.c4)(r.s))),(0,x.xW)(["0x02",ru(i)]);case 3:return function(t,e,r){let n=[rE(t.chainId,"chainId"),rE(t.nonce,"nonce"),rE(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),rE(t.maxFeePerGas||0,"maxFeePerGas"),rE(t.gasLimit,"gasLimit"),t.to||tb,rE(t.value,"value"),t.data,rx(t.accessList||[]),rE(t.maxFeePerBlobGas||0,"maxFeePerBlobGas"),function(t,e){(0,P.MR)(Array.isArray(t),`invalid ${e}`,"value",t);for(let e=0;e<t.length;e++)(0,P.MR)((0,x.Lo)(t[e],32),"invalid ${ param } hash",`value[${e}]`,t[e]);return t}(t.blobVersionedHashes||[],"blobVersionedHashes")];if(e&&(n.push(rE(e.yParity,"yParity")),n.push((0,R.c4)(e.r)),n.push((0,R.c4)(e.s)),r)){if(null!=t.blobWrapperVersion){let e=(0,R.c4)(t.blobWrapperVersion),i=[];for(let{proof:t}of r){let e=(0,x.q5)(t),r=e.length/128;for(let t=0;t<e.length;t+=r)i.push(e.subarray(t,t+r))}return(0,x.xW)(["0x03",ru([n,e,r.map(t=>t.data),r.map(t=>t.commitment),i])])}return(0,x.xW)(["0x03",ru([n,r.map(t=>t.data),r.map(t=>t.commitment),r.map(t=>t.proof)])])}return(0,x.xW)(["0x03",ru(n)])}(this,r,e?this.blobs:null);case 4:let s=[rE(this.chainId,"chainId"),rE(this.nonce,"nonce"),rE(this.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),rE(this.maxFeePerGas||0,"maxFeePerGas"),rE(this.gasLimit,"gasLimit"),this.to||"0x",rE(this.value,"value"),this.data,rx(this.accessList||[]),(this.authorizationList||[]).map(t=>[rE(t.chainId,"chainId"),t.address,rE(t.nonce,"nonce"),rE(t.signature.yParity,"yParity"),(0,R.c4)(t.signature.r),(0,R.c4)(t.signature._s)])];return r&&(s.push(rE(r.yParity,"yParity")),s.push((0,R.c4)(r.r)),s.push((0,R.c4)(r.s))),(0,x.xW)(["0x04",ru(s)])}(0,P.vA)(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}get serialized(){return this.#td(!0,!0)}get unsignedSerialized(){return this.#td(!1,!1)}inferType(){let t=this.inferTypes();return t.indexOf(2)>=0?2:t.pop()}inferTypes(){let t=null!=this.gasPrice,e=null!=this.maxFeePerGas||null!=this.maxPriorityFeePerGas,r=null!=this.accessList,n=null!=this.#to||this.#tl;null!=this.maxFeePerGas&&null!=this.maxPriorityFeePerGas&&(0,P.vA)(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),(0,P.vA)(!e||0!==this.type&&1!==this.type,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),(0,P.vA)(0!==this.type||!r,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let i=[];return null!=this.type?i.push(this.type):this.authorizationList&&this.authorizationList.length?i.push(4):e?i.push(2):t?(i.push(1),r||i.push(0)):r?(i.push(1),i.push(2)):(n&&this.to||(i.push(0),i.push(1),i.push(2)),i.push(3)),i.sort(),i}isLegacy(){return 0===this.type}isBerlin(){return 1===this.type}isLondon(){return 2===this.type}isCancun(){return 3===this.type}clone(){return rP.from(this)}toJSON(){let t=t=>null==t?null:t.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:t(this.gasLimit),gasPrice:t(this.gasPrice),maxPriorityFeePerGas:t(this.maxPriorityFeePerGas),maxFeePerGas:t(this.maxFeePerGas),value:t(this.value),chainId:t(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}[rm](){return this.toString()}toString(){let t=[],e=e=>{let r=this[e];"string"==typeof r&&(r=JSON.stringify(r)),t.push(`${e}: ${r}`)};this.type&&e("type"),e("to"),e("data"),e("nonce"),e("gasLimit"),e("value"),null!=this.chainId&&e("chainId"),this.signature&&(e("from"),t.push(`signature: ${this.signature.toString()}`));let r=this.authorizationList;if(r){let e=[];for(let t of r){let r=[];r.push(`address: ${JSON.stringify(t.address)}`),null!=t.nonce&&r.push(`nonce: ${t.nonce}`),null!=t.chainId&&r.push(`chainId: ${t.chainId}`),t.signature&&r.push(`signature: ${t.signature.toString()}`),e.push(`Authorization { ${r.join(", ")} }`)}t.push(`authorizations: [ ${e.join(", ")} ]`)}return`Transaction { ${t.join(", ")} }`}static from(t){if(null==t)return new rP;if("string"==typeof t){let e=(0,x.q5)(t);if(e[0]>=127)return rP.from(function(t){let e=ra(t);(0,P.MR)(Array.isArray(e)&&(9===e.length||6===e.length),"invalid field count for legacy transaction","data",t);let r={type:0,nonce:rw(e[0],"nonce"),gasPrice:rv(e[1],"gasPrice"),gasLimit:rv(e[2],"gasLimit"),to:rA(e[3]),value:rv(e[4],"value"),data:(0,x.c$)(e[5]),chainId:rc};if(6===e.length)return r;let n=rv(e[6],"v"),i=rv(e[7],"r"),s=rv(e[8],"s");if(i===rc&&s===rc)r.chainId=n;else{let t=(n-rp)/rh;t<rc&&(t=rc),r.chainId=t,(0,P.MR)(t!==rc||n===rf||n===rd,"non-canonical legacy v","v",e[6]),r.signature=tr.from({r:(0,x.nx)(e[7],32),s:(0,x.nx)(e[8],32),v:n})}return r}(e));switch(e[0]){case 1:return rP.from(function(t){let e=ra((0,x.q5)(t).slice(1));(0,P.MR)(Array.isArray(e)&&(8===e.length||11===e.length),"invalid field count for transaction type: 1","data",(0,x.c$)(t));let r={type:1,chainId:rv(e[0],"chainId"),nonce:rw(e[1],"nonce"),gasPrice:rv(e[2],"gasPrice"),gasLimit:rv(e[3],"gasLimit"),to:rA(e[4]),value:rv(e[5],"value"),data:(0,x.c$)(e[6]),accessList:rb(e[7],"accessList")};return 8===e.length||rR(r,e.slice(8)),r}(e));case 2:return rP.from(function(t){let e=ra((0,x.q5)(t).slice(1));(0,P.MR)(Array.isArray(e)&&(9===e.length||12===e.length),"invalid field count for transaction type: 2","data",(0,x.c$)(t));let r={type:2,chainId:rv(e[0],"chainId"),nonce:rw(e[1],"nonce"),maxPriorityFeePerGas:rv(e[2],"maxPriorityFeePerGas"),maxFeePerGas:rv(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:rv(e[4],"gasLimit"),to:rA(e[5]),value:rv(e[6],"value"),data:(0,x.c$)(e[7]),accessList:rb(e[8],"accessList")};return 9===e.length||rR(r,e.slice(9)),r}(e));case 3:return rP.from(function(t){let e=ra((0,x.q5)(t).slice(1)),r="3",n=null,i=null;if(4===e.length&&Array.isArray(e[0])){r="3 (network format)";let t=e[1],n=e[2],s=e[3];(0,P.MR)(Array.isArray(t),"invalid network format: blobs not an array","fields[1]",t),(0,P.MR)(Array.isArray(n),"invalid network format: commitments not an array","fields[2]",n),(0,P.MR)(Array.isArray(s),"invalid network format: proofs not an array","fields[3]",s),(0,P.MR)(t.length===n.length,"invalid network format: blobs/commitments length mismatch","fields",e),(0,P.MR)(t.length===s.length,"invalid network format: blobs/proofs length mismatch","fields",e),i=[];for(let r=0;r<e[1].length;r++)i.push({data:t[r],commitment:n[r],proof:s[r]});e=e[0]}else if(5===e.length&&Array.isArray(e[0])){r="3 (EIP-7594 network format)",n=(0,R.WZ)(e[1]);let t=e[2],s=e[3],a=e[4];(0,P.MR)(1===n,`unsupported EIP-7594 network format version: ${n}`,"fields[1]",n),(0,P.MR)(Array.isArray(t),"invalid EIP-7594 network format: blobs not an array","fields[2]",t),(0,P.MR)(Array.isArray(s),"invalid EIP-7594 network format: commitments not an array","fields[3]",s),(0,P.MR)(Array.isArray(a),"invalid EIP-7594 network format: proofs not an array","fields[4]",a),(0,P.MR)(t.length===s.length,"invalid network format: blobs/commitments length mismatch","fields",e),(0,P.MR)(128*t.length===a.length,"invalid network format: blobs/proofs length mismatch","fields",e),i=[];for(let e=0;e<t.length;e++){let r=[];for(let t=0;t<128;t++)r.push(a[128*e+t]);i.push({data:t[e],commitment:s[e],proof:(0,x.xW)(r)})}e=e[0]}(0,P.MR)(Array.isArray(e)&&(11===e.length||14===e.length),`invalid field count for transaction type: ${r}`,"data",(0,x.c$)(t));let s={type:3,chainId:rv(e[0],"chainId"),nonce:rw(e[1],"nonce"),maxPriorityFeePerGas:rv(e[2],"maxPriorityFeePerGas"),maxFeePerGas:rv(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:rv(e[4],"gasLimit"),to:rA(e[5]),value:rv(e[6],"value"),data:(0,x.c$)(e[7]),accessList:rb(e[8],"accessList"),maxFeePerBlobGas:rv(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10],blobWrapperVersion:n};i&&(s.blobs=i),(0,P.MR)(null!=s.to,`invalid address for transaction type: ${r}`,"data",t),(0,P.MR)(Array.isArray(s.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",t);for(let e=0;e<s.blobVersionedHashes.length;e++)(0,P.MR)((0,x.Lo)(s.blobVersionedHashes[e],32),`invalid blobVersionedHash at index ${e}: must be length 32`,"data",t);return 11===e.length||rR(s,e.slice(11)),s}(e));case 4:return rP.from(function(t){let e=ra((0,x.q5)(t).slice(1));(0,P.MR)(Array.isArray(e)&&(10===e.length||13===e.length),"invalid field count for transaction type: 4","data",(0,x.c$)(t));let r={type:4,chainId:rv(e[0],"chainId"),nonce:rw(e[1],"nonce"),maxPriorityFeePerGas:rv(e[2],"maxPriorityFeePerGas"),maxFeePerGas:rv(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:rv(e[4],"gasLimit"),to:rA(e[5]),value:rv(e[6],"value"),data:(0,x.c$)(e[7]),accessList:rb(e[8],"accessList"),authorizationList:function(t,e){try{if(!Array.isArray(t))throw Error("authorizationList: invalid array");let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(!Array.isArray(n))throw Error(`authorization[${r}]: invalid array`);if(6!==n.length)throw Error(`authorization[${r}]: wrong length`);if(!n[1])throw Error(`authorization[${r}]: null address`);e.push({address:rA(n[1]),nonce:rv(n[2],"nonce"),chainId:rv(n[0],"chainId"),signature:tr.from({yParity:rw(n[3],"yParity"),r:(0,x.nx)(n[4],32),s:(0,x.nx)(n[5],32)})})}return e}catch(r){(0,P.MR)(!1,r.message,e,t)}}(e[9],"authorizationList")};return 10===e.length||rR(r,e.slice(10)),r}(e))}(0,P.vA)(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let e=new rP;return null!=t.type&&(e.type=t.type),null!=t.to&&(e.to=t.to),null!=t.nonce&&(e.nonce=t.nonce),null!=t.gasLimit&&(e.gasLimit=t.gasLimit),null!=t.gasPrice&&(e.gasPrice=t.gasPrice),null!=t.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas),null!=t.maxFeePerGas&&(e.maxFeePerGas=t.maxFeePerGas),null!=t.maxFeePerBlobGas&&(e.maxFeePerBlobGas=t.maxFeePerBlobGas),null!=t.data&&(e.data=t.data),null!=t.value&&(e.value=t.value),null!=t.chainId&&(e.chainId=t.chainId),null!=t.signature&&(e.signature=tr.from(t.signature)),null!=t.accessList&&(e.accessList=t.accessList),null!=t.authorizationList&&(e.authorizationList=t.authorizationList),null!=t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes),null!=t.kzg&&(e.kzg=t.kzg),null!=t.blobWrapperVersion&&(e.blobWrapperVersion=t.blobWrapperVersion),null!=t.blobs&&(e.blobs=t.blobs),null!=t.hash&&((0,P.MR)(e.isSigned(),"unsigned transaction cannot define '.hash'","tx",t),(0,P.MR)(e.hash===t.hash,"hash mismatch","tx",t)),null!=t.from&&((0,P.MR)(e.isSigned(),"unsigned transaction cannot define '.from'","tx",t),(0,P.MR)(e.from.toLowerCase()===(t.from||"").toLowerCase(),"from mismatch","tx",t)),e}}var rk=r(42972);let rN="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";BigInt(0);let rI=BigInt(58);function rB(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):(0,P.MR)(!1,"unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}class rC{name;constructor(t){(0,k.n)(this,{name:t})}connect(t){return this}supportsCoinType(t){return!1}async encodeAddress(t,e){throw Error("unsupported coin")}async decodeAddress(t,e){throw Error("unsupported coin")}}let rO=RegExp("^(ipfs)://(.*)$","i"),rT=[RegExp("^(https)://(.*)$","i"),RegExp("^(data):(.*)$","i"),rO,RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];class rS{provider;address;name;#tp;#tg;constructor(t,e,r){(0,k.n)(this,{provider:t,address:e,name:r}),this.#tp=null,this.#tg=new tw.NZ(e,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)"],t)}async supportsWildcard(){return null==this.#tp&&(this.#tp=(async()=>{try{return await this.#tg.supportsInterface("0x9061b923")}catch(t){if((0,P.bJ)(t,"CALL_EXCEPTION"))return!1;throw this.#tp=null,t}})()),await this.#tp}async #tm(t,e){var r,n;e=(e||[]).slice();let i=this.#tg.interface;e.unshift(tX(this.name));let s=null;await this.supportsWildcard()&&(s=i.getFunction(t),(0,P.vA)(s,"missing fragment","UNKNOWN_ERROR",{info:{funcName:t}}),e=[(r=this.name,n=255,(0,P.MR)(true,"DNS encoded label cannot exceed 255","length",n),(0,x.c$)((0,x.xW)(tY(r).map(t=>{(0,P.MR)(t.length<=n,`label ${JSON.stringify(r)} exceeds ${n} bytes`,"name",r);let e=new Uint8Array(t.length+1);return e.set(t,1),e[0]=e.length-1,e})))+"00"),i.encodeFunctionData(s,e)],t="resolve(bytes,bytes)"),e.push({enableCcipRead:!0});try{let r=await this.#tg[t](...e);if(s)return i.decodeFunctionResult(s,r)[0];return r}catch(t){if(!(0,P.bJ)(t,"CALL_EXCEPTION"))throw t}return null}async getAddress(t){if(null==t&&(t=60),60===t)try{let t=await this.#tm("addr(bytes32)");if(null==t||t===tb)return null;return t}catch(t){if((0,P.bJ)(t,"CALL_EXCEPTION"))return null;throw t}if(t>=0&&t<0x80000000){let e=t+0x80000000,r=await this.#tm("addr(bytes32,uint)",[e]);if((0,x.Lo)(r,20))return(0,w.b)(r)}let e=null;for(let r of this.provider.plugins)if(r instanceof rC&&r.supportsCoinType(t)){e=r;break}if(null==e)return null;let r=await this.#tm("addr(bytes32,uint)",[t]);if(null==r||"0x"===r)return null;let n=await e.decodeAddress(t,r);if(null!=n)return n;(0,P.vA)(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${t})`,info:{coinType:t,data:r}})}async getText(t){let e=await this.#tm("text(bytes32,string)",[t]);return null==e||"0x"===e?null:e}async getContentHash(){let t=await this.#tm("contenthash(bytes32)");if(null==t||"0x"===t)return null;let e=t.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(e){let t="e3010170"===e[1]?"ipfs":"ipns",r=parseInt(e[4],16);if(e[5].length===2*r)return`${t}://${function(t){let e=(0,x.q5)(t),r=(0,R.Dg)(e),n="";for(;r;)n=rN[Number(r%rI)]+n,r/=rI;for(let t=0;t<e.length&&!e[t];t++)n=rN[0]+n;return n}("0x"+e[2])}`}let r=t.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(r&&64===r[1].length)return`bzz://${r[1]}`;(0,P.vA)(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:t}})}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let t=[{type:"name",value:this.name}];try{let e=await this.getText("avatar");if(null==e)return t.push({type:"!avatar",value:""}),{url:null,linkage:t};t.push({type:"avatar",value:e});for(let r=0;r<rT.length;r++){let n=e.match(rT[r]);if(null==n)continue;let i=n[1].toLowerCase();switch(i){case"https":case"data":return t.push({type:"url",value:e}),{linkage:t,url:e};case"ipfs":{let r=rB(e);return t.push({type:"ipfs",value:e}),t.push({type:"url",value:r}),{linkage:t,url:r}}case"erc721":case"erc1155":{let r="erc721"===i?"tokenURI(uint256)":"uri(uint256)";t.push({type:i,value:e});let s=await this.getAddress();if(null==s)return t.push({type:"!owner",value:""}),{url:null,linkage:t};let a=(n[2]||"").split("/");if(2!==a.length)return t.push({type:`!${i}caip`,value:n[2]||""}),{url:null,linkage:t};let o=a[1],l=new tw.NZ(a[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if("erc721"===i){let e=await l.ownerOf(o);if(s!==e)return t.push({type:"!owner",value:e}),{url:null,linkage:t};t.push({type:"owner",value:e})}else if("erc1155"===i){let e=await l.balanceOf(s,o);if(!e)return t.push({type:"!balance",value:"0"}),{url:null,linkage:t};t.push({type:"balance",value:e.toString()})}let u=await l[r](o);if(null==u||"0x"===u)return t.push({type:"!metadata-url",value:""}),{url:null,linkage:t};t.push({type:"metadata-url-base",value:u}),"erc1155"===i&&(u=u.replace("{id}",(0,R.up)(o,32).substring(2)),t.push({type:"metadata-url-expanded",value:u})),u.match(/^ipfs:/i)&&(u=rB(u)),t.push({type:"metadata-url",value:u});let c={},h=await new tm(u).send();h.assertOk();try{c=h.bodyJson}catch(e){try{t.push({type:"!metadata",value:h.bodyText})}catch(r){let e=h.body;e&&t.push({type:"!metadata",value:(0,x.c$)(e)})}return{url:null,linkage:t}}if(!c)return t.push({type:"!metadata",value:""}),{url:null,linkage:t};t.push({type:"metadata",value:JSON.stringify(c)});let f=c.image;if("string"!=typeof f)return t.push({type:"!imageUrl",value:""}),{url:null,linkage:t};if(f.match(/^(https:\/\/|data:)/i));else{let e=f.match(rO);if(null==e)return t.push({type:"!imageUrl-ipfs",value:f}),{url:null,linkage:t};t.push({type:"imageUrl-ipfs",value:f}),f=rB(f)}return t.push({type:"url",value:f}),{linkage:t,url:f}}}}}catch(t){}return{linkage:t,url:null}}static async getEnsAddress(t){let e=await t.getNetwork(),r=e.getPlugin("org.ethers.plugins.network.Ens");return(0,P.vA)(r,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:e}}),r.address}static async #ty(t,e){let r=await rS.getEnsAddress(t);try{let n=new tw.NZ(r,["function resolver(bytes32) view returns (address)"],t),i=await n.resolver(tX(e),{enableCcipRead:!0});if(i===tb)return null;return i}catch(t){throw t}}static async fromName(t,e){let r=e;for(;;){if(""===r||"."===r||"eth"!==e&&"eth"===r)return null;let n=await rS.#ty(t,r);if(null!=n){let i=new rS(t,n,e);if(r!==e&&!await i.supportsWildcard())return null;return i}r=r.split(".").slice(1).join(".")}}}let rM=BigInt(0);function rU(t,e){return function(r){return null==r?e:t(r)}}function rF(t,e){return r=>{if(e&&null==r)return null;if(!Array.isArray(r))throw Error("not an array");return r.map(e=>t(e))}}function rL(t,e){return r=>{let n={};for(let i in t){let s=i;if(e&&i in e&&!(s in r)){for(let t of e[i])if(t in r){s=t;break}}try{let e=t[i](r[s]);void 0!==e&&(n[i]=e)}catch(e){let t=e instanceof Error?e.message:"not-an-error";(0,P.vA)(!1,`invalid value for value.${i} (${t})`,"BAD_DATA",{value:r})}}return n}}function rD(t){return(0,P.MR)((0,x.Lo)(t,!0),"invalid data","value",t),t}function rG(t){return(0,P.MR)((0,x.Lo)(t,32),"invalid hash","value",t),t}let rH=rL({address:w.b,blockHash:rG,blockNumber:R.WZ,data:rD,index:R.WZ,removed:rU(function(t){switch(t){case!0:case"true":return!0;case!1:case"false":return!1}(0,P.MR)(!1,`invalid boolean; ${JSON.stringify(t)}`,"value",t)},!1),topics:rF(rG),transactionHash:rG,transactionIndex:R.WZ},{index:["logIndex"]}),rQ=rL({hash:rU(rG),parentHash:rG,parentBeaconBlockRoot:rU(rG,null),number:R.WZ,timestamp:R.WZ,nonce:rU(rD),difficulty:R.Ab,gasLimit:R.Ab,gasUsed:R.Ab,stateRoot:rU(rG,null),receiptsRoot:rU(rG,null),blobGasUsed:rU(R.Ab,null),excessBlobGas:rU(R.Ab,null),miner:rU(w.b),prevRandao:rU(rG,null),extraData:rD,baseFeePerGas:rU(R.Ab)},{prevRandao:["mixHash"]}),rz=rL({transactionIndex:R.WZ,blockNumber:R.WZ,transactionHash:rG,address:w.b,topics:rF(rG),data:rD,index:R.WZ,blockHash:rG},{index:["logIndex"]}),rV=rL({to:rU(w.b,null),from:rU(w.b,null),contractAddress:rU(w.b,null),index:R.WZ,root:rU(x.c$),gasUsed:R.Ab,blobGasUsed:rU(R.Ab,null),logsBloom:rU(rD),blockHash:rG,hash:rG,logs:rF(function(t){return rz(t)}),blockNumber:R.WZ,cumulativeGasUsed:R.Ab,effectiveGasPrice:rU(R.Ab),blobGasPrice:rU(R.Ab,null),status:rU(R.WZ),type:rU(R.WZ,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function rJ(t){t.to&&(0,R.Ab)(t.to)===rM&&(t.to="0x0000000000000000000000000000000000000000");let e=rL({hash:rG,index:rU(R.WZ,void 0),type:t=>"0x"===t||null==t?0:(0,R.WZ)(t),accessList:rU(V.$,null),blobVersionedHashes:rU(rF(rG,!0),null),authorizationList:rU(rF(t=>{let e;if(t.signature)e=t.signature;else{let r=t.yParity;"0x1b"===r?r=0:"0x1c"===r&&(r=1),e=Object.assign({},t,{yParity:r})}return{address:(0,w.b)(t.address),chainId:(0,R.Ab)(t.chainId),nonce:(0,R.Ab)(t.nonce),signature:tr.from(e)}},!1),null),blockHash:rU(rG,null),blockNumber:rU(R.WZ,null),transactionIndex:rU(R.WZ,null),from:w.b,gasPrice:rU(R.Ab),maxPriorityFeePerGas:rU(R.Ab),maxFeePerGas:rU(R.Ab),maxFeePerBlobGas:rU(R.Ab,null),gasLimit:R.Ab,to:rU(w.b,null),value:R.Ab,nonce:R.WZ,data:rD,creates:rU(w.b,null),chainId:rU(R.Ab,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(t);if(null==e.to&&null==e.creates&&(e.creates=function(t){let e=(0,w.b)(t.from),r=(0,R.Ab)(t.nonce,"tx.nonce").toString(16);return r="0"===r?"0x":r.length%2?"0x0"+r:"0x"+r,(0,w.b)((0,x.ZG)((0,E.S)(ru([e,r])),12))}(e)),(1===t.type||2===t.type)&&null==t.accessList&&(e.accessList=[]),t.signature?e.signature=tr.from(t.signature):e.signature=tr.from(t),null==e.chainId){let t=e.signature.legacyChainId;null!=t&&(e.chainId=t)}return e.blockHash&&(0,R.Ab)(e.blockHash)===rM&&(e.blockHash=null),e}class rj{name;constructor(t){(0,k.n)(this,{name:t})}clone(){return new rj(this.name)}}class rK extends rj{effectiveBlock;txBase;txCreate;txDataZero;txDataNonzero;txAccessListStorageKey;txAccessListAddress;constructor(t,e){null==t&&(t=0),super(`org.ethers.network.plugins.GasCost#${t||0}`);let r={effectiveBlock:t};function n(t,n){let i=(e||{})[t];null==i&&(i=n),(0,P.MR)("number"==typeof i,`invalud value for ${t}`,"costs",e),r[t]=i}n("txBase",21e3),n("txCreate",32e3),n("txDataZero",4),n("txDataNonzero",16),n("txAccessListStorageKey",1900),n("txAccessListAddress",2400),(0,k.n)(this,r)}clone(){return new rK(this.effectiveBlock,this)}}class rZ extends rj{address;targetNetwork;constructor(t,e){super("org.ethers.plugins.network.Ens"),(0,k.n)(this,{address:t||"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",targetNetwork:null==e?1:e})}clone(){return new rZ(this.address,this.targetNetwork)}}class rW extends rj{#S;#tA;get url(){return this.#S}get processFunc(){return this.#tA}constructor(t,e){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin"),this.#S=t,this.#tA=e}clone(){return this}}let rq=new Map;class r_{#tb;#ti;#tw;constructor(t,e){this.#tb=t,this.#ti=(0,R.Ab)(e),this.#tw=new Map}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return this.#tb}set name(t){this.#tb=t}get chainId(){return this.#ti}set chainId(t){this.#ti=(0,R.Ab)(t,"chainId")}matches(t){if(null==t)return!1;if("string"==typeof t){try{return this.chainId===(0,R.Ab)(t)}catch(t){}return this.name===t}if("number"==typeof t||"bigint"==typeof t){try{return this.chainId===(0,R.Ab)(t)}catch(t){}return!1}if("object"==typeof t){if(null!=t.chainId){try{return this.chainId===(0,R.Ab)(t.chainId)}catch(t){}return!1}if(null!=t.name)return this.name===t.name}return!1}get plugins(){return Array.from(this.#tw.values())}attachPlugin(t){if(this.#tw.get(t.name))throw Error(`cannot replace existing plugin: ${t.name} `);return this.#tw.set(t.name,t.clone()),this}getPlugin(t){return this.#tw.get(t)||null}getPlugins(t){return this.plugins.filter(e=>e.name.split("#")[0]===t)}clone(){let t=new r_(this.name,this.chainId);return this.plugins.forEach(e=>{t.attachPlugin(e.clone())}),t}computeIntrinsicGas(t){let e=this.getPlugin("org.ethers.plugins.network.GasCost")||new rK,r=e.txBase;if(null==t.to&&(r+=e.txCreate),t.data)for(let n=2;n<t.data.length;n+=2)"00"===t.data.substring(n,n+2)?r+=e.txDataZero:r+=e.txDataNonzero;if(t.accessList){let n=(0,V.$)(t.accessList);for(let t in n)r+=e.txAccessListAddress+e.txAccessListStorageKey*n[t].storageKeys.length}return r}static from(t){if(function(){r$||(r$=!0,t("mainnet",1,{ensNetwork:1,altNames:["homestead"]}),t("ropsten",3,{ensNetwork:3}),t("rinkeby",4,{ensNetwork:4}),t("goerli",5,{ensNetwork:5}),t("kovan",42,{ensNetwork:42}),t("sepolia",0xaa36a7,{ensNetwork:0xaa36a7}),t("holesky",17e3,{ensNetwork:17e3}),t("classic",61,{}),t("classicKotti",6,{}),t("arbitrum",42161,{ensNetwork:1}),t("arbitrum-goerli",421613,{}),t("arbitrum-sepolia",421614,{}),t("base",8453,{ensNetwork:1}),t("base-goerli",84531,{}),t("base-sepolia",84532,{}),t("bnb",56,{ensNetwork:1}),t("bnbt",97,{}),t("filecoin",314,{}),t("filecoin-calibration",314159,{}),t("linea",59144,{ensNetwork:1}),t("linea-goerli",59140,{}),t("linea-sepolia",59141,{}),t("matic",137,{ensNetwork:1,plugins:[rX("https://gasstation.polygon.technology/v2")]}),t("matic-amoy",80002,{}),t("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[rX("https://gasstation-testnet.polygon.technology/v2")]}),t("optimism",10,{ensNetwork:1,plugins:[]}),t("optimism-goerli",420,{}),t("optimism-sepolia",0xaa37dc,{}),t("xdai",100,{ensNetwork:1}));function t(t,e,r){let n=function(){let n=new r_(t,e);return null!=r.ensNetwork&&n.attachPlugin(new rZ(null,r.ensNetwork)),n.attachPlugin(new rK),(r.plugins||[]).forEach(t=>{n.attachPlugin(t)}),n};r_.register(t,n),r_.register(e,n),r.altNames&&r.altNames.forEach(t=>{r_.register(t,n)})}}(),null==t)return r_.from("mainnet");if("number"==typeof t&&(t=BigInt(t)),"string"==typeof t||"bigint"==typeof t){let e=rq.get(t);if(e)return e();if("bigint"==typeof t)return new r_("unknown",t);(0,P.MR)(!1,"unknown network","network",t)}if("function"==typeof t.clone)return t.clone();if("object"==typeof t){(0,P.MR)("string"==typeof t.name&&"number"==typeof t.chainId,"invalid network object name or chainId","network",t);let e=new r_(t.name,t.chainId);return(t.ensAddress||null!=t.ensNetwork)&&e.attachPlugin(new rZ(t.ensAddress,t.ensNetwork)),e}(0,P.MR)(!1,"invalid network","network",t)}static register(t,e){"number"==typeof t&&(t=BigInt(t));let r=rq.get(t);r&&(0,P.MR)(!1,`conflicting network for ${JSON.stringify(r.name)}`,"nameOrChainId",t),rq.set(t,e)}}function rY(t,e){let r=String(t);if(!r.match(/^[0-9.]+$/))throw Error(`invalid gwei value: ${t}`);let n=r.split(".");if(1===n.length&&n.push(""),2!==n.length)throw Error(`invalid gwei value: ${t}`);for(;n[1].length<e;)n[1]+="0";if(n[1].length>9){let t=BigInt(n[1].substring(0,9));!n[1].substring(9).match(/^0+$/)&&t++,n[1]=t.toString()}return BigInt(n[0]+n[1])}function rX(t){return new rW(t,async(t,e,r)=>{let n;r.setHeader("User-Agent","ethers");try{let[e,i]=await Promise.all([r.send(),t()]),s=(n=e).bodyJson.standard;return{gasPrice:i.gasPrice,maxFeePerGas:rY(s.maxFee,9),maxPriorityFeePerGas:rY(s.maxPriorityFee,9)}}catch(t){(0,P.vA)(!1,`error encountered with polygon gas station (${JSON.stringify(r.url)})`,"SERVER_ERROR",{request:r,response:n,error:t})}})}let r$=!1;var r0=r(19477);function r1(t){return JSON.parse(JSON.stringify(t))}class r2{#tv;#tE;#tx;#tR;constructor(t){this.#tv=t,this.#tE=null,this.#tx=4e3,this.#tR=-2}get pollingInterval(){return this.#tx}set pollingInterval(t){this.#tx=t}async #tP(){try{let t=await this.#tv.getBlockNumber();if(-2===this.#tR){this.#tR=t;return}if(t!==this.#tR){for(let e=this.#tR+1;e<=t;e++){if(null==this.#tE)return;await this.#tv.emit("block",e)}this.#tR=t}}catch(t){}null!=this.#tE&&(this.#tE=this.#tv._setTimeout(this.#tP.bind(this),this.#tx))}start(){this.#tE||(this.#tE=this.#tv._setTimeout(this.#tP.bind(this),this.#tx),this.#tP())}stop(){this.#tE&&(this.#tv._clearTimeout(this.#tE),this.#tE=null)}pause(t){this.stop(),t&&(this.#tR=-2)}resume(){this.start()}}class r4{#tv;#tP;#tk;constructor(t){this.#tv=t,this.#tk=!1,this.#tP=t=>{this._poll(t,this.#tv)}}async _poll(t,e){throw Error("sub-classes must override this")}start(){this.#tk||(this.#tk=!0,this.#tP(-2),this.#tv.on("block",this.#tP))}stop(){this.#tk&&(this.#tk=!1,this.#tv.off("block",this.#tP))}pause(t){this.stop()}resume(){this.start()}}class r3 extends r4{#tN;#tI;constructor(t,e){super(t),this.#tN=e,this.#tI=-2}pause(t){t&&(this.#tI=-2),super.pause(t)}async _poll(t,e){let r=await e.getBlock(this.#tN);null!=r&&(-2===this.#tI?this.#tI=r.number:r.number>this.#tI&&(e.emit(this.#tN,r.number),this.#tI=r.number))}}class r8 extends r4{#o;constructor(t,e){super(t),this.#o=r1(e)}async _poll(t,e){throw Error("@TODO")}}class r5 extends r4{#tB;constructor(t,e){super(t),this.#tB=e}async _poll(t,e){let r=await e.getTransactionReceipt(this.#tB);r&&e.emit(this.#tB,r)}}class r6{#tv;#o;#tE;#tk;#tR;constructor(t,e){this.#tv=t,this.#o=r1(e),this.#tE=this.#tP.bind(this),this.#tk=!1,this.#tR=-2}async #tP(t){if(-2===this.#tR)return;let e=r1(this.#o);e.fromBlock=this.#tR+1,e.toBlock=t;let r=await this.#tv.getLogs(e);if(0===r.length){this.#tR<t-60&&(this.#tR=t-60);return}for(let t of r)this.#tv.emit(this.#o,t),this.#tR=t.blockNumber}start(){this.#tk||(this.#tk=!0,-2===this.#tR&&this.#tv.getBlockNumber().then(t=>{this.#tR=t}),this.#tv.on("block",this.#tE))}stop(){this.#tk&&(this.#tk=!1,this.#tv.off("block",this.#tE))}pause(t){this.stop(),t&&(this.#tR=-2)}resume(){this.start()}}let r9=BigInt(2);function r7(t){return t&&"function"==typeof t.then}function nt(t,e){return t+":"+JSON.stringify(e,(t,e)=>{if(null==e)return"null";if("bigint"==typeof e)return`bigint:${e.toString()}`;if("string"==typeof e)return e.toLowerCase();if("object"==typeof e&&!Array.isArray(e)){let t=Object.keys(e);return t.sort(),t.reduce((t,r)=>(t[r]=e[r],t),{})}return e})}class ne{name;constructor(t){(0,k.n)(this,{name:t})}start(){}stop(){}pause(t){}resume(){}}function nr(t){return(t=Array.from(new Set(t).values())).sort(),t}async function nn(t,e){if(null==t)throw Error("invalid event");if(Array.isArray(t)&&(t={topics:t}),"string"==typeof t)switch(t){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:t,tag:t}}if((0,x.Lo)(t,32)){let e=t.toLowerCase();return{type:"transaction",tag:nt("tx",{hash:e}),hash:e}}if(t.orphan){let e=t;return{type:"orphan",tag:nt("orphan",e),filter:JSON.parse(JSON.stringify(e))}}if(t.address||t.topics){let r=t,n={topics:(r.topics||[]).map(t=>null==t?null:Array.isArray(t)?nr(t.map(t=>t.toLowerCase())):t.toLowerCase())};if(r.address){let t=[],i=[],s=r=>{(0,x.Lo)(r)?t.push(r):i.push((async()=>{t.push(await (0,v.tG)(r,e))})())};Array.isArray(r.address)?r.address.forEach(s):s(r.address),i.length&&await Promise.all(i),n.address=nr(t.map(t=>t.toLowerCase()))}return{filter:n,tag:nt("event",n),type:"event"}}(0,P.MR)(!1,"unknown ProviderEvent","event",t)}function ni(){return new Date().getTime()}let ns={cacheTimeout:250,pollingInterval:4e3};class na{#tC;#tw;#tO;#tT;#tS;#tM;#tU;#tF;#tL;#tD;#tG;#y;constructor(t,e){if(this.#y=Object.assign({},ns,e||{}),"any"===t)this.#tM=!0,this.#tS=null;else if(t){let e=r_.from(t);this.#tM=!1,this.#tS=Promise.resolve(e),setTimeout(()=>{this.emit("network",e,null)},0)}else this.#tM=!1,this.#tS=null;this.#tF=-1,this.#tU=new Map,this.#tC=new Map,this.#tw=new Map,this.#tO=null,this.#tT=!1,this.#tL=1,this.#tD=new Map,this.#tG=!1}get pollingInterval(){return this.#y.pollingInterval}get provider(){return this}get plugins(){return Array.from(this.#tw.values())}attachPlugin(t){if(this.#tw.get(t.name))throw Error(`cannot replace existing plugin: ${t.name} `);return this.#tw.set(t.name,t.connect(this)),this}getPlugin(t){return this.#tw.get(t)||null}get disableCcipRead(){return this.#tG}set disableCcipRead(t){this.#tG=!!t}async #tH(t){let e=this.#y.cacheTimeout;if(e<0)return await this._perform(t);let r=nt(t.method,t),n=this.#tU.get(r);return n||(n=this._perform(t),this.#tU.set(r,n),setTimeout(()=>{this.#tU.get(r)===n&&this.#tU.delete(r)},e)),await n}async ccipReadFetch(t,e,r){if(this.disableCcipRead||0===r.length||null==t.to)return null;let n=t.to.toLowerCase(),i=e.toLowerCase(),s=[];for(let e=0;e<r.length;e++){let a,o=r[e],l=new tm(o.replace("{sender}",n).replace("{data}",i));-1===o.indexOf("{data}")&&(l.body={data:i,sender:n}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:l,index:e,urls:r});let u="unknown error";try{a=await l.send()}catch(t){s.push(t.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:l,result:{error:t}});continue}try{let t=a.bodyJson;if(t.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:l,result:t}),t.data;t.message&&(u=t.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:l,result:t})}catch(t){}(0,P.vA)(a.statusCode<400||a.statusCode>=500,`response not found during CCIP fetch: ${u}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:t,info:{url:o,errorMessage:u}}),s.push(u)}(0,P.vA)(!1,`error encountered during CCIP fetch: ${s.map(t=>JSON.stringify(t)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:t,info:{urls:r,errorMessages:s}})}_wrapBlock(t,e){return new r0.eB(function(t){let e=rQ(t);return e.transactions=t.transactions.map(t=>"string"==typeof t?t:rJ(t)),e}(t),this)}_wrapLog(t,e){return new r0.tG(rH(t),this)}_wrapTransactionReceipt(t,e){return new r0.z5(rV(t),this)}_wrapTransactionResponse(t,e){return new r0.uI(rJ(t),this)}_detectNetwork(){(0,P.vA)(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(t){(0,P.vA)(!1,`unsupported method: ${t.method}`,"UNSUPPORTED_OPERATION",{operation:t.method,info:t})}async getBlockNumber(){let t=(0,R.WZ)(await this.#tH({method:"getBlockNumber"}),"%response");return this.#tF>=0&&(this.#tF=t),t}_getAddress(t){return(0,v.tG)(t,this)}_getBlockTag(t){if(null==t)return"latest";switch(t){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return t}return(0,x.Lo)(t)?(0,x.Lo)(t,32)?t:(0,R.nD)(t):("bigint"==typeof t&&(t=(0,R.WZ)(t,"blockTag")),"number"==typeof t)?t>=0?(0,R.nD)(t):this.#tF>=0?(0,R.nD)(this.#tF+t):this.getBlockNumber().then(e=>(0,R.nD)(e+t)):void(0,P.MR)(!1,"invalid blockTag","blockTag",t)}_getFilter(t){let e,r,n=(t.topics||[]).map(t=>null==t?null:Array.isArray(t)?nr(t.map(t=>t.toLowerCase())):t.toLowerCase()),i="blockHash"in t?t.blockHash:void 0,s=(t,e,r)=>{let s;switch(t.length){case 0:break;case 1:s=t[0];break;default:t.sort(),s=t}if(i&&(null!=e||null!=r))throw Error("invalid filter");let a={};return s&&(a.address=s),n.length&&(a.topics=n),e&&(a.fromBlock=e),r&&(a.toBlock=r),i&&(a.blockHash=i),a},a=[];if(t.address)if(Array.isArray(t.address))for(let e of t.address)a.push(this._getAddress(e));else a.push(this._getAddress(t.address));return"fromBlock"in t&&(e=this._getBlockTag(t.fromBlock)),("toBlock"in t&&(r=this._getBlockTag(t.toBlock)),a.filter(t=>"string"!=typeof t).length||null!=e&&"string"!=typeof e||null!=r&&"string"!=typeof r)?Promise.all([Promise.all(a),e,r]).then(t=>s(t[0],t[1],t[2])):s(a,e,r)}_getTransactionRequest(t){let e=(0,r0.VS)(t),r=[];if(["to","from"].forEach(t=>{if(null==e[t])return;let n=(0,v.tG)(e[t],this);r7(n)?r.push(async function(){e[t]=await n}()):e[t]=n}),null!=e.blockTag){let t=this._getBlockTag(e.blockTag);r7(t)?r.push(async function(){e.blockTag=await t}()):e.blockTag=t}return r.length?async function(){return await Promise.all(r),e}():e}async getNetwork(){if(null==this.#tS){let t=(async()=>{try{let t=await this._detectNetwork();return this.emit("network",t,null),t}catch(e){throw this.#tS===t&&(this.#tS=null),e}})();return this.#tS=t,(await t).clone()}let t=this.#tS,[e,r]=await Promise.all([t,this._detectNetwork()]);return e.chainId!==r.chainId&&(this.#tM?(this.emit("network",r,e),this.#tS===t&&(this.#tS=Promise.resolve(r))):(0,P.vA)(!1,`network changed: ${e.chainId} => ${r.chainId} `,"NETWORK_ERROR",{event:"changed"})),e.clone()}async getFeeData(){let t=await this.getNetwork(),e=async()=>{let{_block:e,gasPrice:r,priorityFee:n}=await (0,k.k)({_block:this.#tQ("latest",!1),gasPrice:(async()=>{try{let t=await this.#tH({method:"getGasPrice"});return(0,R.Ab)(t,"%response")}catch(t){}return null})(),priorityFee:(async()=>{try{let t=await this.#tH({method:"getPriorityFee"});return(0,R.Ab)(t,"%response")}catch(t){}return null})()}),i=null,s=null,a=this._wrapBlock(e,t);return a&&a.baseFeePerGas&&(s=null!=n?n:BigInt("1000000000"),i=a.baseFeePerGas*r9+s),new r0.J9(r,i,s)},r=t.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(r){let t=new tm(r.url),n=await r.processFunc(e,this,t);return new r0.J9(n.gasPrice,n.maxFeePerGas,n.maxPriorityFeePerGas)}return await e()}async estimateGas(t){let e=this._getTransactionRequest(t);return r7(e)&&(e=await e),(0,R.Ab)(await this.#tH({method:"estimateGas",transaction:e}),"%response")}async #tz(t,e,r){(0,P.vA)(r<10,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},t,{blockTag:e,enableCcipRead:!0})});let n=(0,r0.VS)(t);try{return(0,x.c$)(await this._perform({method:"call",transaction:n,blockTag:e}))}catch(t){if(!this.disableCcipRead&&(0,P.E)(t)&&t.data&&r>=0&&"latest"===e&&null!=n.to&&"0x556f1830"===(0,x.ZG)(t.data,0,4)){let i,s=t.data,a=await (0,v.tG)(n.to,this);try{i=function(t){let e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};(0,P.vA)((0,x.pO)(t)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let r=(0,x.ZG)(t,0,32);(0,P.vA)((0,x.ZG)(r,0,12)===(0,x.ZG)(nc,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=(0,x.ZG)(r,12);try{let r=[],n=(0,R.WZ)((0,x.ZG)(t,32,64)),i=(0,R.WZ)((0,x.ZG)(t,n,n+32)),s=(0,x.ZG)(t,n+32);for(let t=0;t<i;t++){let e=function(t,e){try{let r=no(t,e);if(r)return(0,ti._v)(r)}catch(t){}return null}(s,32*t);if(null==e)throw Error("abort");r.push(e)}e.urls=r}catch(t){(0,P.vA)(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let r=no(t,64);if(null==r)throw Error("abort");e.calldata=r}catch(t){(0,P.vA)(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}(0,P.vA)((0,x.ZG)(t,100,128)===(0,x.ZG)(nc,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=(0,x.ZG)(t,96,100);try{let r=no(t,128);if(null==r)throw Error("abort");e.extraData=r}catch(t){(0,P.vA)(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(t=>e[t]),e}((0,x.ZG)(t.data,4))}catch(t){(0,P.vA)(!1,t.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:n,info:{data:s}})}(0,P.vA)(i.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:s,reason:"OffchainLookup",transaction:n,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:i.errorArgs}});let o=await this.ccipReadFetch(n,i.calldata,i.urls);(0,P.vA)(null!=o,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:n,info:{data:t.data,errorArgs:i.errorArgs}});let l={to:a,data:(0,x.xW)([i.selector,function(t){let e=[],r=0;for(let n=0;n<t.length;n++)e.push(nu),r+=32;for(let n=0;n<t.length;n++){let i=(0,x.q5)(t[n]);e[n]=nl(r),e.push(nl(i.length)),e.push(function(t){if(t.length%32==0)return t;let e=new Uint8Array(32*Math.ceil(t.length/32));return e.set(t),e}(i)),r+=32+32*Math.ceil(i.length/32)}return(0,x.xW)(e)}([o,i.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:l});try{let t=await this.#tz(l,e,r+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},l),result:t}),t}catch(t){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},l),error:t}),t}}throw t}}async #tV(t){let{value:e}=await (0,k.k)({network:this.getNetwork(),value:t});return e}async call(t){let{tx:e,blockTag:r}=await (0,k.k)({tx:this._getTransactionRequest(t),blockTag:this._getBlockTag(t.blockTag)});return await this.#tV(this.#tz(e,r,t.enableCcipRead?0:-1))}async #tJ(t,e,r){let n=this._getAddress(e),i=this._getBlockTag(r);return("string"!=typeof n||"string"!=typeof i)&&([n,i]=await Promise.all([n,i])),await this.#tV(this.#tH(Object.assign(t,{address:n,blockTag:i})))}async getBalance(t,e){return(0,R.Ab)(await this.#tJ({method:"getBalance"},t,e),"%response")}async getTransactionCount(t,e){return(0,R.WZ)(await this.#tJ({method:"getTransactionCount"},t,e),"%response")}async getCode(t,e){return(0,x.c$)(await this.#tJ({method:"getCode"},t,e))}async getStorage(t,e,r){let n=(0,R.Ab)(e,"position");return(0,x.c$)(await this.#tJ({method:"getStorage",position:n},t,r))}async broadcastTransaction(t){let{blockNumber:e,hash:r,network:n}=await (0,k.k)({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:t}),network:this.getNetwork()}),i=rP.from(t);if(i.hash!==r)throw Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(i,n).replaceableTransaction(e)}async #tQ(t,e){if((0,x.Lo)(t,32))return await this.#tH({method:"getBlock",blockHash:t,includeTransactions:e});let r=this._getBlockTag(t);return"string"!=typeof r&&(r=await r),await this.#tH({method:"getBlock",blockTag:r,includeTransactions:e})}async getBlock(t,e){let{network:r,params:n}=await (0,k.k)({network:this.getNetwork(),params:this.#tQ(t,!!e)});return null==n?null:this._wrapBlock(n,r)}async getTransaction(t){let{network:e,params:r}=await (0,k.k)({network:this.getNetwork(),params:this.#tH({method:"getTransaction",hash:t})});return null==r?null:this._wrapTransactionResponse(r,e)}async getTransactionReceipt(t){let{network:e,params:r}=await (0,k.k)({network:this.getNetwork(),params:this.#tH({method:"getTransactionReceipt",hash:t})});if(null==r)return null;if(null==r.gasPrice&&null==r.effectiveGasPrice){let e=await this.#tH({method:"getTransaction",hash:t});if(null==e)throw Error("report this; could not find tx or effectiveGasPrice");r.effectiveGasPrice=e.gasPrice}return this._wrapTransactionReceipt(r,e)}async getTransactionResult(t){let{result:e}=await (0,k.k)({network:this.getNetwork(),result:this.#tH({method:"getTransactionResult",hash:t})});return null==e?null:(0,x.c$)(e)}async getLogs(t){let e=this._getFilter(t);r7(e)&&(e=await e);let{network:r,params:n}=await (0,k.k)({network:this.getNetwork(),params:this.#tH({method:"getLogs",filter:e})});return n.map(t=>this._wrapLog(t,r))}_getProvider(t){(0,P.vA)(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(t){return await rS.fromName(this,t)}async getAvatar(t){let e=await this.getResolver(t);return e?await e.getAvatar():null}async resolveName(t){let e=await this.getResolver(t);return e?await e.getAddress():null}async lookupAddress(t){let e=tX((t=(0,w.b)(t)).substring(2).toLowerCase()+".addr.reverse");try{let r=await rS.getEnsAddress(this),n=new tw.NZ(r,["function resolver(bytes32) view returns (address)"],this),i=await n.resolver(e);if(null==i||i===tb)return null;let s=new tw.NZ(i,["function name(bytes32) view returns (string)"],this),a=await s.name(e);if(await this.resolveName(a)!==t)return null;return a}catch(t){if((0,P.bJ)(t,"BAD_DATA")&&"0x"===t.value||(0,P.bJ)(t,"CALL_EXCEPTION"))return null;throw t}}async waitForTransaction(t,e,r){let n=null!=e?e:1;return 0===n?this.getTransactionReceipt(t):new Promise(async(e,i)=>{let s=null,a=async r=>{try{let i=await this.getTransactionReceipt(t);if(null!=i&&r-i.blockNumber+1>=n){e(i),s&&(clearTimeout(s),s=null);return}}catch(t){console.log("EEE",t)}this.once("block",a)};null!=r&&(s=setTimeout(()=>{null!=s&&(s=null,this.off("block",a),i((0,P.xz)("timeout","TIMEOUT",{reason:"timeout"})))},r)),a(await this.getBlockNumber())})}async waitForBlock(t){(0,P.vA)(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(t){let e=this.#tD.get(t);e&&(e.timer&&clearTimeout(e.timer),this.#tD.delete(t))}_setTimeout(t,e){null==e&&(e=0);let r=this.#tL++,n=()=>{this.#tD.delete(r),t()};if(this.paused)this.#tD.set(r,{timer:null,func:n,time:e});else{let t=setTimeout(n,e);this.#tD.set(r,{timer:t,func:n,time:ni()})}return r}_forEachSubscriber(t){for(let e of this.#tC.values())t(e.subscriber)}_getSubscriber(t){switch(t.type){case"debug":case"error":case"network":return new ne(t.type);case"block":{let t=new r2(this);return t.pollingInterval=this.pollingInterval,t}case"safe":case"finalized":return new r3(this,t.type);case"event":return new r6(this,t.filter);case"transaction":return new r5(this,t.hash);case"orphan":return new r8(this,t.filter)}throw Error(`unsupported event: ${t.type}`)}_recoverSubscriber(t,e){for(let r of this.#tC.values())if(r.subscriber===t){r.started&&r.subscriber.stop(),r.subscriber=e,r.started&&e.start(),null!=this.#tO&&e.pause(this.#tO);break}}async #tj(t,e){let r=await nn(t,this);return"event"===r.type&&e&&e.length>0&&!0===e[0].removed&&(r=await nn({orphan:"drop-log",log:e[0]},this)),this.#tC.get(r.tag)||null}async #tK(t){let e=await nn(t,this),r=e.tag,n=this.#tC.get(r);if(!n){let t=this._getSubscriber(e);n={subscriber:t,tag:r,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},this.#tC.set(r,n)}return n}async on(t,e){let r=await this.#tK(t);return r.listeners.push({listener:e,once:!1}),r.started||(r.subscriber.start(),r.started=!0,null!=this.#tO&&r.subscriber.pause(this.#tO)),this}async once(t,e){let r=await this.#tK(t);return r.listeners.push({listener:e,once:!0}),r.started||(r.subscriber.start(),r.started=!0,null!=this.#tO&&r.subscriber.pause(this.#tO)),this}async emit(t,...e){let r=await this.#tj(t,e);if(!r||0===r.listeners.length)return!1;let n=r.listeners.length;return r.listeners=r.listeners.filter(({listener:r,once:n})=>{let i=new rk.z(this,n?null:r,t);try{r.call(this,...e,i)}catch(t){}return!n}),0===r.listeners.length&&(r.started&&r.subscriber.stop(),this.#tC.delete(r.tag)),n>0}async listenerCount(t){if(t){let e=await this.#tj(t);return e?e.listeners.length:0}let e=0;for(let{listeners:t}of this.#tC.values())e+=t.length;return e}async listeners(t){if(t){let e=await this.#tj(t);return e?e.listeners.map(({listener:t})=>t):[]}let e=[];for(let{listeners:t}of this.#tC.values())e=e.concat(t.map(({listener:t})=>t));return e}async off(t,e){let r=await this.#tj(t);if(!r)return this;if(e){let t=r.listeners.map(({listener:t})=>t).indexOf(e);t>=0&&r.listeners.splice(t,1)}return e&&0!==r.listeners.length||(r.started&&r.subscriber.stop(),this.#tC.delete(r.tag)),this}async removeAllListeners(t){if(t){let{tag:e,started:r,subscriber:n}=await this.#tK(t);r&&n.stop(),this.#tC.delete(e)}else for(let[t,{started:e,subscriber:r}]of this.#tC)e&&r.stop(),this.#tC.delete(t);return this}async addListener(t,e){return await this.on(t,e)}async removeListener(t,e){return this.off(t,e)}get destroyed(){return this.#tT}destroy(){for(let t of(this.removeAllListeners(),this.#tD.keys()))this._clearTimeout(t);this.#tT=!0}get paused(){return null!=this.#tO}set paused(t){!!t!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(t){if(this.#tF=-1,null!=this.#tO){if(!!t==this.#tO)return;(0,P.vA)(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}for(let e of(this._forEachSubscriber(e=>e.pause(t)),this.#tO=!!t,this.#tD.values()))e.timer&&clearTimeout(e.timer),e.time=ni()-e.time}resume(){if(null!=this.#tO)for(let t of(this._forEachSubscriber(t=>t.resume()),this.#tO=null,this.#tD.values())){let e=t.time;e<0&&(e=0),t.time=ni(),setTimeout(t.func,e)}}}function no(t,e){if("0x"===t)return null;try{let r=(0,R.WZ)((0,x.ZG)(t,e,e+32)),n=(0,R.WZ)((0,x.ZG)(t,r,r+32));return(0,x.ZG)(t,r+32,r+32+n)}catch(t){}return null}function nl(t){let e=(0,R.c4)(t);if(e.length>32)throw Error("internal; should not happen");let r=new Uint8Array(32);return r.set(e,32-e.length),r}let nu=new Uint8Array([]),nc="0x0000000000000000000000000000000000000000000000000000000000000000";function nh(t,e){if(t.provider)return t.provider;(0,P.vA)(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function nf(t,e){let r=(0,r0.VS)(e);if(null!=r.to&&(r.to=(0,v.tG)(r.to,t)),null!=r.from){let e=r.from;r.from=Promise.all([t.getAddress(),(0,v.tG)(e,t)]).then(([t,e])=>((0,P.MR)(t.toLowerCase()===e.toLowerCase(),"transaction from mismatch","tx.from",e),t))}else r.from=t.getAddress();return await (0,k.k)(r)}class nd{provider;constructor(t){(0,k.n)(this,{provider:t||null})}async getNonce(t){return nh(this,"getTransactionCount").getTransactionCount(await this.getAddress(),t)}async populateCall(t){return await nf(this,t)}async populateTransaction(t){let e=nh(this,"populateTransaction"),r=await nf(this,t);null==r.nonce&&(r.nonce=await this.getNonce("pending")),null==r.gasLimit&&(r.gasLimit=await this.estimateGas(r));let n=await this.provider.getNetwork();if(null!=r.chainId){let e=(0,R.Ab)(r.chainId);(0,P.MR)(e===n.chainId,"transaction chainId mismatch","tx.chainId",t.chainId)}else r.chainId=n.chainId;let i=null!=r.maxFeePerGas||null!=r.maxPriorityFeePerGas;if(null!=r.gasPrice&&(2===r.type||i)?(0,P.MR)(!1,"eip-1559 transaction do not support gasPrice","tx",t):(0===r.type||1===r.type)&&i&&(0,P.MR)(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",t),(2===r.type||null==r.type)&&null!=r.maxFeePerGas&&null!=r.maxPriorityFeePerGas)r.type=2;else if(0===r.type||1===r.type){let t=await e.getFeeData();(0,P.vA)(null!=t.gasPrice,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),null==r.gasPrice&&(r.gasPrice=t.gasPrice)}else{let t=await e.getFeeData();if(null==r.type)if(null!=t.maxFeePerGas&&null!=t.maxPriorityFeePerGas)if(r.authorizationList&&r.authorizationList.length?r.type=4:r.type=2,null!=r.gasPrice){let t=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=t,r.maxPriorityFeePerGas=t}else null==r.maxFeePerGas&&(r.maxFeePerGas=t.maxFeePerGas),null==r.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=t.maxPriorityFeePerGas);else null!=t.gasPrice?((0,P.vA)(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),null==r.gasPrice&&(r.gasPrice=t.gasPrice),r.type=0):(0,P.vA)(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(2===r.type||3===r.type||4===r.type)&&(null==r.maxFeePerGas&&(r.maxFeePerGas=t.maxFeePerGas),null==r.maxPriorityFeePerGas&&(r.maxPriorityFeePerGas=t.maxPriorityFeePerGas))}return await (0,k.k)(r)}async populateAuthorization(t){let e=Object.assign({},t);return null==e.chainId&&(e.chainId=(await nh(this,"getNetwork").getNetwork()).chainId),null==e.nonce&&(e.nonce=await this.getNonce()),e}async estimateGas(t){return nh(this,"estimateGas").estimateGas(await this.populateCall(t))}async call(t){return nh(this,"call").call(await this.populateCall(t))}async resolveName(t){let e=nh(this,"resolveName");return await e.resolveName(t)}async sendTransaction(t){let e=nh(this,"sendTransaction"),r=await this.populateTransaction(t);delete r.from;let n=rP.from(r);return await e.broadcastTransaction(await this.signTransaction(n))}authorize(t){(0,P.vA)(!1,"authorization not implemented for this signer","UNSUPPORTED_OPERATION",{operation:"authorize"})}}class np{#tv;#tZ;#tE;#tk;#tW;#tq;constructor(t){this.#tv=t,this.#tZ=null,this.#tE=this.#tP.bind(this),this.#tk=!1,this.#tW=null,this.#tq=!1}_subscribe(t){throw Error("subclasses must override this")}_emitResults(t,e){throw Error("subclasses must override this")}_recover(t){throw Error("subclasses must override this")}async #tP(t){try{null==this.#tZ&&(this.#tZ=this._subscribe(this.#tv));let t=null;try{t=await this.#tZ}catch(t){if(!(0,P.bJ)(t,"UNSUPPORTED_OPERATION")||"eth_newFilter"!==t.operation)throw t}if(null==t){this.#tZ=null,this.#tv._recoverSubscriber(this,this._recover(this.#tv));return}let e=await this.#tv.getNetwork();if(this.#tW||(this.#tW=e),this.#tW.chainId!==e.chainId)throw Error("chaid changed");if(this.#tq)return;let r=await this.#tv.send("eth_getFilterChanges",[t]);await this._emitResults(this.#tv,r)}catch(t){console.log("@TODO",t)}this.#tv.once("block",this.#tE)}#t_(){let t=this.#tZ;t&&(this.#tZ=null,t.then(t=>{this.#tv.destroyed||this.#tv.send("eth_uninstallFilter",[t])}))}start(){this.#tk||(this.#tk=!0,this.#tP(-2))}stop(){this.#tk&&(this.#tk=!1,this.#tq=!0,this.#t_(),this.#tv.off("block",this.#tE))}pause(t){t&&this.#t_(),this.#tv.off("block",this.#tE)}resume(){this.start()}}class ng extends np{#tY;constructor(t,e){super(t),this.#tY=JSON.parse(JSON.stringify(e))}_recover(t){return new r6(t,this.#tY)}async _subscribe(t){return await t.send("eth_newFilter",[this.#tY])}async _emitResults(t,e){for(let r of e)t.emit(this.#tY,t._wrapLog(r,t._network))}}class nm extends np{async _subscribe(t){return await t.send("eth_newPendingTransactionFilter",[])}async _emitResults(t,e){for(let r of e)t.emit("pending",r)}}let ny="bigint,boolean,function,number,string,symbol".split(/,/g);function nA(t){if(null==t||ny.indexOf(typeof t)>=0||"function"==typeof t.getAddress)return t;if(Array.isArray(t))return t.map(nA);if("object"==typeof t)return Object.keys(t).reduce((e,r)=>(e[r]=t[r],e),{});throw Error(`should not happen: ${t} (${typeof t})`)}function nb(t){return t?t.toLowerCase():t}function nw(t){return t&&"number"==typeof t.pollingInterval}let nv={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1048576,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3};class nE extends nd{address;constructor(t,e){super(t),e=(0,w.b)(e),(0,k.n)(this,{address:e})}connect(t){(0,P.vA)(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(t){return await this.populateCall(t)}async sendUncheckedTransaction(t){let e=nA(t),r=[];if(e.from){let n=e.from;r.push((async()=>{let r=await (0,v.tG)(n,this.provider);(0,P.MR)(null!=r&&r.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),e.from=r})())}else e.from=this.address;if(null==e.gasLimit&&r.push((async()=>{e.gasLimit=await this.provider.estimateGas({...e,from:this.address})})()),null!=e.to){let t=e.to;r.push((async()=>{e.to=await (0,v.tG)(t,this.provider)})())}r.length&&await Promise.all(r);let n=this.provider.getRpcTransaction(e);return this.provider.send("eth_sendTransaction",[n])}async sendTransaction(t){let e=await this.provider.getBlockNumber(),r=await this.sendUncheckedTransaction(t);return await new Promise((t,n)=>{let i=[1e3,100],s=0,a=async()=>{try{let n=await this.provider.getTransaction(r);if(null!=n)return void t(n.replaceableTransaction(e))}catch(t){if((0,P.bJ)(t,"CANCELLED")||(0,P.bJ)(t,"BAD_DATA")||(0,P.bJ)(t,"NETWORK_ERROR")||(0,P.bJ)(t,"UNSUPPORTED_OPERATION")){null==t.info&&(t.info={}),t.info.sendTransactionHash=r,n(t);return}if((0,P.bJ)(t,"INVALID_ARGUMENT")&&(s++,null==t.info&&(t.info={}),t.info.sendTransactionHash=r,s>10))return void n(t);this.provider.emit("error",(0,P.xz)("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:t}))}this.provider._setTimeout(()=>{a()},i.pop()||4e3)};a()})}async signTransaction(t){let e=nA(t);if(e.from){let r=await (0,v.tG)(e.from,this.provider);(0,P.MR)(null!=r&&r.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",t),e.from=r}else e.from=this.address;let r=this.provider.getRpcTransaction(e);return await this.provider.send("eth_signTransaction",[r])}async signMessage(t){let e="string"==typeof t?(0,ti.YW)(t):t;return await this.provider.send("personal_sign",[(0,x.c$)(e),this.address.toLowerCase()])}async signTypedData(t,e,r){let n=nA(r),i=await z.resolveNames(t,e,n,async t=>{let e=await (0,v.tG)(t);return(0,P.MR)(null!=e,"TypedData does not support null address","value",t),e});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(z.getPayload(i.domain,e,i.value))])}async unlock(t){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),t,null])}async _legacySignMessage(t){let e="string"==typeof t?(0,ti.YW)(t):t;return await this.provider.send("eth_sign",[this.address.toLowerCase(),(0,x.c$)(e)])}}class nx extends na{#y;#tX;#t$;#t0;#t1;#tW;#t2;#t4(){if(this.#t0)return;let t=1===this._getOption("batchMaxCount")?0:this._getOption("batchStallTime");this.#t0=setTimeout(()=>{this.#t0=null;let t=this.#t$;for(this.#t$=[];t.length;){let e=[t.shift()];for(;t.length&&e.length!==this.#y.batchMaxCount;)if(e.push(t.shift()),JSON.stringify(e.map(t=>t.payload)).length>this.#y.batchMaxSize){t.unshift(e.pop());break}(async()=>{let t=1===e.length?e[0].payload:e.map(t=>t.payload);this.emit("debug",{action:"sendRpcPayload",payload:t});try{let r=await this._send(t);for(let{resolve:t,reject:n,payload:i}of(this.emit("debug",{action:"receiveRpcResult",result:r}),e)){if(this.destroyed){n((0,P.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:i.method}));continue}let e=r.filter(t=>t.id===i.id)[0];if(null==e){let t=(0,P.xz)("missing response for request","BAD_DATA",{value:r,info:{payload:i}});this.emit("error",t),n(t);continue}if("error"in e){n(this.getRpcError(i,e));continue}t(e.result)}}catch(t){for(let{reject:r}of(this.emit("debug",{action:"receiveRpcError",error:t}),e))r(t)}})()}},t)}constructor(t,e){super(t,e),this.#tX=1,this.#y=Object.assign({},nv,e||{}),this.#t$=[],this.#t0=null,this.#tW=null,this.#t2=null;{let t=null,e=new Promise(e=>{t=e});this.#t1={promise:e,resolve:t}}let r=this._getOption("staticNetwork");"boolean"==typeof r?((0,P.MR)(!r||"any"!==t,"staticNetwork cannot be used on special network 'any'","options",e),r&&null!=t&&(this.#tW=r_.from(t))):r&&((0,P.MR)(null==t||r.matches(t),"staticNetwork MUST match network object","options",e),this.#tW=r)}_getOption(t){return this.#y[t]}get _network(){return(0,P.vA)(this.#tW,"network is not available yet","NETWORK_ERROR"),this.#tW}async _perform(t){if("call"===t.method||"estimateGas"===t.method){let e=t.transaction;if(e&&null!=e.type&&(0,R.Ab)(e.type)&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){let r=await this.getFeeData();null==r.maxFeePerGas&&null==r.maxPriorityFeePerGas&&(t=Object.assign({},t,{transaction:Object.assign({},e,{type:void 0})}))}}let e=this.getRpcRequest(t);return null!=e?await this.send(e.method,e.args):super._perform(t)}async _detectNetwork(){let t=this._getOption("staticNetwork");if(t){if(!0!==t)return t;else if(this.#tW)return this.#tW}return this.#t2||(this.ready?this.#t2=(async()=>{try{let t=r_.from((0,R.Ab)(await this.send("eth_chainId",[])));return this.#t2=null,t}catch(t){throw this.#t2=null,t}})():this.#t2=(async()=>{let t,e={id:this.#tX++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:e});try{t=(await this._send(e))[0],this.#t2=null}catch(t){throw this.#t2=null,this.emit("debug",{action:"receiveRpcError",error:t}),t}if(this.emit("debug",{action:"receiveRpcResult",result:t}),"result"in t)return r_.from((0,R.Ab)(t.result));throw this.getRpcError(e,t)})()),await this.#t2}_start(){null!=this.#t1&&null!=this.#t1.resolve&&(this.#t1.resolve(),this.#t1=null,(async()=>{for(;null==this.#tW&&!this.destroyed;)try{this.#tW=await this._detectNetwork()}catch(t){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",(0,P.xz)("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:t}})),await new Promise(t=>{setTimeout(t,1e3)})}this.#t4()})())}async _waitUntilReady(){if(null!=this.#t1)return await this.#t1.promise}_getSubscriber(t){return"pending"===t.type?new nm(this):"event"===t.type?this._getOption("polling")?new r6(this,t.filter):new ng(this,t.filter):"orphan"===t.type&&"drop-log"===t.filter.orphan?new ne("orphan"):super._getSubscriber(t)}get ready(){return null==this.#t1}getRpcTransaction(t){let e={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(r=>{if(null==t[r])return;let n=r;"gasLimit"===r&&(n="gas"),e[n]=(0,R.nD)((0,R.Ab)(t[r],`tx.${r}`))}),["from","to","data"].forEach(r=>{null!=t[r]&&(e[r]=(0,x.c$)(t[r]))}),t.accessList&&(e.accessList=(0,V.$)(t.accessList)),t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.map(t=>t.toLowerCase())),t.authorizationList&&(e.authorizationList=t.authorizationList.map(t=>{let e=tn(t);return{address:e.address,nonce:(0,R.nD)(e.nonce),chainId:(0,R.nD)(e.chainId),yParity:(0,R.nD)(e.signature.yParity),r:(0,R.nD)(e.signature.r),s:(0,R.nD)(e.signature.s)}})),e}getRpcRequest(t){switch(t.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[nb(t.address),t.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[nb(t.address),t.blockTag]};case"getCode":return{method:"eth_getCode",args:[nb(t.address),t.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[nb(t.address),"0x"+t.position.toString(16),t.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[t.signedTransaction]};case"getBlock":if("blockTag"in t)return{method:"eth_getBlockByNumber",args:[t.blockTag,!!t.includeTransactions]};if("blockHash"in t)return{method:"eth_getBlockByHash",args:[t.blockHash,!!t.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[t.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[t.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(t.transaction),t.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(t.transaction)]};case"getLogs":return t.filter&&null!=t.filter.address&&(Array.isArray(t.filter.address)?t.filter.address=t.filter.address.map(nb):t.filter.address=nb(t.filter.address)),{method:"eth_getLogs",args:[t.filter]}}return null}getRpcError(t,e){let{method:r}=t,{error:n}=e;if("eth_estimateGas"===r&&n.message){let e=n.message;if(!e.match(/revert/i)&&e.match(/insufficient funds/i))return(0,P.xz)("insufficient funds","INSUFFICIENT_FUNDS",{transaction:t.params[0],info:{payload:t,error:n}});if(e.match(/nonce/i)&&e.match(/too low/i))return(0,P.xz)("nonce has already been used","NONCE_EXPIRED",{transaction:t.params[0],info:{payload:t,error:n}})}if("eth_call"===r||"eth_estimateGas"===r){let e=function t(e){if(null==e)return null;if("string"==typeof e.message&&e.message.match(/revert/i)&&(0,x.Lo)(e.data))return{message:e.message,data:e.data};if("object"==typeof e){for(let r in e){let n=t(e[r]);if(n)return n}return null}if("string"==typeof e)try{return t(JSON.parse(e))}catch(t){}return null}(n),i=b.y.getBuiltinCallException("eth_call"===r?"call":"estimateGas",t.params[0],e?e.data:null);return i.info={error:n,payload:t},i}let i=JSON.stringify(function(t){let e=[];return!function t(e,r){if(null!=e){if("string"==typeof e.message&&r.push(e.message),"object"==typeof e)for(let n in e)t(e[n],r);if("string"==typeof e)try{return t(JSON.parse(e),r)}catch(t){}}}(t,e),e}(n));if("string"==typeof n.message&&n.message.match(/user denied|ethers-user-denied/i))return(0,P.xz)("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[r]||"unknown",reason:"rejected",info:{payload:t,error:n}});if("eth_sendRawTransaction"===r||"eth_sendTransaction"===r){let e=t.params[0];if(i.match(/insufficient funds|base fee exceeds gas limit/i))return(0,P.xz)("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:e,info:{error:n}});if(i.match(/nonce/i)&&i.match(/too low/i))return(0,P.xz)("nonce has already been used","NONCE_EXPIRED",{transaction:e,info:{error:n}});if(i.match(/replacement transaction/i)&&i.match(/underpriced/i))return(0,P.xz)("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:e,info:{error:n}});if(i.match(/only replay-protected/i))return(0,P.xz)("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:r,info:{transaction:e,info:{error:n}}})}let s=!!i.match(/the method .* does not exist/i);return(!s&&n&&n.details&&n.details.startsWith("Unauthorized method:")&&(s=!0),s)?(0,P.xz)("unsupported operation","UNSUPPORTED_OPERATION",{operation:t.method,info:{error:n,payload:t}}):(0,P.xz)("could not coalesce error","UNKNOWN_ERROR",{error:n,payload:t})}send(t,e){if(this.destroyed)return Promise.reject((0,P.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t}));let r=this.#tX++,n=new Promise((n,i)=>{this.#t$.push({resolve:n,reject:i,payload:{method:t,params:e,id:r,jsonrpc:"2.0"}})});return this.#t4(),n}async getSigner(t){null==t&&(t=0);let e=this.send("eth_accounts",[]);if("number"==typeof t){let r=await e;if(t>=r.length)throw Error("no such account");return new nE(this,r[t])}let{accounts:r}=await (0,k.k)({network:this.getNetwork(),accounts:e});for(let e of(t=(0,w.b)(t),r))if((0,w.b)(e)===t)return new nE(this,t);throw Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(t=>new nE(this,t))}destroy(){for(let{payload:t,reject:e}of(this.#t0&&(clearTimeout(this.#t0),this.#t0=null),this.#t$))e((0,P.xz)("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:t.method}));this.#t$=[],super.destroy()}}class nR extends nx{#t3;constructor(t,e){super(t,e);let r=this._getOption("pollingInterval");null==r&&(r=nv.pollingInterval),this.#t3=r}_getSubscriber(t){let e=super._getSubscriber(t);return nw(e)&&(e.pollingInterval=this.#t3),e}get pollingInterval(){return this.#t3}set pollingInterval(t){if(!Number.isInteger(t)||t<0)throw Error("invalid interval");this.#t3=t,this._forEachSubscriber(t=>{nw(t)&&(t.pollingInterval=this.#t3)})}}class nP extends nR{#t8;constructor(t,e,r){null==t&&(t="http://localhost:8545"),super(e,r),"string"==typeof t?this.#t8=new tm(t):this.#t8=t.clone()}_getConnection(){return this.#t8.clone()}async send(t,e){return await this._start(),await super.send(t,e)}async _send(t){let e=this._getConnection();e.body=JSON.stringify(t),e.setHeader("content-type","application/json");let r=await e.send();r.assertOk();let n=r.bodyJson;return Array.isArray(n)||(n=[n]),n}}},85392:(t,e,r)=>{async function n(t){let e=Object.keys(t);return(await Promise.all(e.map(e=>Promise.resolve(t[e])))).reduce((t,r,n)=>(t[e[n]]=r,t),{})}function i(t,e,r){for(let n in e){let i=e[n],s=r?r[n]:null;s&&function(t,e,r){let n=e.split("|").map(t=>t.trim());for(let r=0;r<n.length;r++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof t===e)return}let i=Error(`invalid value for type ${e}`);throw i.code="INVALID_ARGUMENT",i.argument=`value.${r}`,i.value=t,i}(i,s,n),Object.defineProperty(t,n,{enumerable:!0,value:i,writable:!1})}}r.d(e,{k:()=>n,n:()=>i})},89550:(t,e,r)=>{r.d(e,{b:()=>h});var n=r(69413),i=r(16405),s=r(36013);let a=BigInt(0),o=BigInt(36);function l(t){let e=(t=t.toLowerCase()).substring(2).split(""),r=new Uint8Array(40);for(let t=0;t<40;t++)r[t]=e[t].charCodeAt(0);let s=(0,i.q5)((0,n.S)(r));for(let t=0;t<40;t+=2)s[t>>1]>>4>=8&&(e[t]=e[t].toUpperCase()),(15&s[t>>1])>=8&&(e[t+1]=e[t+1].toUpperCase());return"0x"+e.join("")}let u={};for(let t=0;t<10;t++)u[String(t)]=String(t);for(let t=0;t<26;t++)u[String.fromCharCode(65+t)]=String(10+t);let c=function(){let t={};for(let e=0;e<36;e++)t["0123456789abcdefghijklmnopqrstuvwxyz"[e]]=BigInt(e);return t}();function h(t){if((0,s.MR)("string"==typeof t,"invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/)){t.startsWith("0x")||(t="0x"+t);let e=l(t);return(0,s.MR)(!t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===t,"bad address checksum","address",t),e}if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){(0,s.MR)(t.substring(2,4)===function(t){let e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map(t=>u[t]).join("");for(;e.length>=15;){let t=e.substring(0,15);e=parseInt(t,10)%97+e.substring(t.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}(t),"bad icap checksum","address",t);let e=(function(t){t=t.toLowerCase();let e=a;for(let r=0;r<t.length;r++)e=e*o+c[t[r]];return e})(t.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return l("0x"+e)}(0,s.MR)(!1,"invalid address","address",t)}},99197:(t,e,r)=>{r.d(e,{AU:()=>y,Q7:()=>p,Ue:()=>m,Yx:()=>o,mP:()=>A});var n=r(26096),i=r(36013),s=r(16405),a=r(85392);let o=32,l=new Uint8Array(32),u=["then"],c={},h=new WeakMap;function f(t){return h.get(t)}function d(t,e){let r=Error(`deferred error during ABI decoding triggered accessing ${t}`);throw r.error=e,r}class p extends Array{#t5;constructor(...t){var e,r;let i=t[0],s=t[1],a=(t[2]||[]).slice(),o=!0;i!==c&&(s=t,a=[],o=!1),super(s.length),s.forEach((t,e)=>{this[e]=t});let l=a.reduce((t,e)=>("string"==typeof e&&t.set(e,(t.get(e)||0)+1),t),new Map);if(e=Object.freeze(s.map((t,e)=>{let r=a[e];return null!=r&&1===l.get(r)?r:null})),h.set(this,e),this.#t5=[],null==this.#t5&&this.#t5,!o)return;Object.freeze(this);let p=new Proxy(this,{get:(t,e,r)=>{if("string"==typeof e){if(e.match(/^[0-9]+$/)){let r=(0,n.WZ)(e,"%index");if(r<0||r>=this.length)throw RangeError("out of result range");let i=t[r];return i instanceof Error&&d(`index ${r}`,i),i}if(u.indexOf(e)>=0)return Reflect.get(t,e,r);let i=t[e];if(i instanceof Function)return function(...e){return i.apply(this===r?t:this,e)};if(!(e in t))return t.getValue.apply(this===r?t:this,[e])}return Reflect.get(t,e,r)}});return r=f(this),h.set(p,r),p}toArray(t){let e=[];return this.forEach((r,n)=>{r instanceof Error&&d(`index ${n}`,r),t&&r instanceof p&&(r=r.toArray(t)),e.push(r)}),e}toObject(t){let e=f(this);return e.reduce((r,n,s)=>((0,i.vA)(null!=n,`value at index ${s} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),function t(e,r,n){return e.indexOf(null)>=0?r.map((e,r)=>e instanceof p?t(f(e),e,n):e):e.reduce((e,i,s)=>{let a=r.getValue(i);return i in e||(n&&a instanceof p&&(a=t(f(a),a,n)),e[i]=a),e},{})}(e,this,t)),{})}slice(t,e){null==t&&(t=0),t<0&&(t+=this.length)<0&&(t=0),null==e&&(e=this.length),e<0&&(e+=this.length)<0&&(e=0),e>this.length&&(e=this.length);let r=f(this),n=[],i=[];for(let s=t;s<e;s++)n.push(this[s]),i.push(r[s]);return new p(c,n,i)}filter(t,e){let r=f(this),n=[],i=[];for(let s=0;s<this.length;s++){let a=this[s];a instanceof Error&&d(`index ${s}`,a),t.call(e,a,s,this)&&(n.push(a),i.push(r[s]))}return new p(c,n,i)}map(t,e){let r=[];for(let n=0;n<this.length;n++){let i=this[n];i instanceof Error&&d(`index ${n}`,i),r.push(t.call(e,i,n,this))}return r}getValue(t){let e=f(this).indexOf(t);if(-1===e)return;let r=this[e];return r instanceof Error&&d(`property ${JSON.stringify(t)}`,r.error),r}static fromItems(t,e){return new p(c,t,e)}}function g(t){let e=(0,n.c4)(t);return(0,i.vA)(e.length<=o,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:o,offset:e.length}),e.length!==o&&(e=(0,s.Lm)((0,s.xW)([l.slice(e.length%o),e]))),e}class m{name;type;localName;dynamic;constructor(t,e,r,n){(0,a.n)(this,{name:t,type:e,localName:r,dynamic:n},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(t,e){(0,i.MR)(!1,t,this.localName,e)}}class y{#Y;#t6;constructor(){this.#Y=[],this.#t6=0}get data(){return(0,s.xW)(this.#Y)}get length(){return this.#t6}#t9(t){return this.#Y.push(t),this.#t6+=t.length,t.length}appendWriter(t){return this.#t9((0,s.Lm)(t.data))}writeBytes(t){let e=(0,s.Lm)(t),r=e.length%o;return r&&(e=(0,s.Lm)((0,s.xW)([e,l.slice(r)]))),this.#t9(e)}writeValue(t){return this.#t9(g(t))}writeUpdatableValue(){let t=this.#Y.length;return this.#Y.push(l),this.#t6+=o,e=>{this.#Y[t]=g(e)}}}class A{allowLoose;#Y;#f;#t7;#et;#ee;constructor(t,e,r){(0,a.n)(this,{allowLoose:!!e}),this.#Y=(0,s.Lm)(t),this.#t7=0,this.#et=null,this.#ee=null!=r?r:1024,this.#f=0}get data(){return(0,s.c$)(this.#Y)}get dataLength(){return this.#Y.length}get consumed(){return this.#f}get bytes(){return new Uint8Array(this.#Y)}#er(t){if(this.#et)return this.#et.#er(t);this.#t7+=t,(0,i.vA)(this.#ee<1||this.#t7<=this.#ee*this.dataLength,`compressed ABI data exceeds inflation ratio of ${this.#ee} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:(0,s.Lm)(this.#Y),offset:this.#f,length:t,info:{bytesRead:this.#t7,dataLength:this.dataLength}})}#en(t,e,r){let n=Math.ceil(e/o)*o;return this.#f+n>this.#Y.length&&(this.allowLoose&&r&&this.#f+e<=this.#Y.length?n=e:(0,i.vA)(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:(0,s.Lm)(this.#Y),length:this.#Y.length,offset:this.#f+n})),this.#Y.slice(this.#f,this.#f+n)}subReader(t){let e=new A(this.#Y.slice(this.#f+t),this.allowLoose,this.#ee);return e.#et=this,e}readBytes(t,e){let r=this.#en(0,t,!!e);return this.#er(t),this.#f+=r.length,r.slice(0,t)}readValue(){return(0,n.Dg)(this.readBytes(o))}readIndex(){return(0,n.Ro)(this.readBytes(o))}}},99794:(t,e,r)=>{r.d(e,{ck:()=>b,Js:()=>A,g5:()=>w});var n=r(36013),i=r(16405),s=r(26096),a=r(85392);let o=BigInt(-1),l=BigInt(0),u=BigInt(1),c=BigInt(5),h={},f="0000";for(;f.length<80;)f+=f;function d(t){let e=f;for(;e.length<t;)e+=e;return BigInt("1"+e.substring(0,t))}function p(t,e,r){let i=BigInt(e.width);if(e.signed){let e=u<<i-u;(0,n.vA)(null==r||t>=-e&&t<e,"overflow","NUMERIC_FAULT",{operation:r,fault:"overflow",value:t}),t=t>l?(0,s.ST)((0,s.dK)(t,i),i):-(0,s.ST)((0,s.dK)(-t,i),i)}else{let e=u<<i;(0,n.vA)(null==r||t>=0&&t<e,"overflow","NUMERIC_FAULT",{operation:r,fault:"overflow",value:t}),t=(t%e+e)%e&e-u}return t}function g(t){"number"==typeof t&&(t=`fixed128x${t}`);let e=!0,r=128,i=18;if("string"==typeof t)if("fixed"===t);else if("ufixed"===t)e=!1;else{let s=t.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);(0,n.MR)(s,"invalid fixed format","format",t),e="u"!==s[1],r=parseInt(s[2]),i=parseInt(s[3])}else if(t){let s=t,a=(t,e,r)=>null==s[t]?r:((0,n.MR)(typeof s[t]===e,"invalid fixed format ("+t+" not "+e+")","format."+t,s[t]),s[t]);e=a("signed","boolean",e),r=a("width","number",r),i=a("decimals","number",i)}(0,n.MR)(r%8==0,"invalid FixedNumber width (not byte aligned)","format.width",r),(0,n.MR)(i<=80,"invalid FixedNumber decimals (too large)","format.decimals",i);let s=(e?"":"u")+"fixed"+String(r)+"x"+String(i);return{signed:e,width:r,decimals:i,name:s}}class m{format;#ei;#es;#ea;_value;constructor(t,e,r){(0,n.gk)(t,h,"FixedNumber"),this.#es=e,this.#ei=r;let i=function(t,e){let r="";t<l&&(r="-",t*=o);let n=t.toString();if(0===e)return r+n;for(;n.length<=e;)n=f+n;let i=n.length-e;for(n=n.substring(0,i)+"."+n.substring(i);"0"===n[0]&&"."!==n[1];)n=n.substring(1);for(;"0"===n[n.length-1]&&"."!==n[n.length-2];)n=n.substring(0,n.length-1);return r+n}(e,r.decimals);(0,a.n)(this,{format:r.name,_value:i}),this.#ea=d(r.decimals)}get signed(){return this.#ei.signed}get width(){return this.#ei.width}get decimals(){return this.#ei.decimals}get value(){return this.#es}#eo(t){(0,n.MR)(this.format===t.format,"incompatible format; use fixedNumber.toFormat","other",t)}#el(t,e){return new m(h,t=p(t,this.#ei,e),this.#ei)}#eu(t,e){return this.#eo(t),this.#el(this.#es+t.#es,e)}addUnsafe(t){return this.#eu(t)}add(t){return this.#eu(t,"add")}#ec(t,e){return this.#eo(t),this.#el(this.#es-t.#es,e)}subUnsafe(t){return this.#ec(t)}sub(t){return this.#ec(t,"sub")}#eh(t,e){return this.#eo(t),this.#el(this.#es*t.#es/this.#ea,e)}mulUnsafe(t){return this.#eh(t)}mul(t){return this.#eh(t,"mul")}mulSignal(t){this.#eo(t);let e=this.#es*t.#es;return(0,n.vA)(e%this.#ea===l,"precision lost during signalling mul","NUMERIC_FAULT",{operation:"mulSignal",fault:"underflow",value:this}),this.#el(e/this.#ea,"mulSignal")}#ef(t,e){return(0,n.vA)(t.#es!==l,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#eo(t),this.#el(this.#es*this.#ea/t.#es,e)}divUnsafe(t){return this.#ef(t)}div(t){return this.#ef(t,"div")}divSignal(t){(0,n.vA)(t.#es!==l,"division by zero","NUMERIC_FAULT",{operation:"div",fault:"divide-by-zero",value:this}),this.#eo(t);let e=this.#es*this.#ea;return(0,n.vA)(e%t.#es===l,"precision lost during signalling div","NUMERIC_FAULT",{operation:"divSignal",fault:"underflow",value:this}),this.#el(e/t.#es,"divSignal")}cmp(t){let e=this.value,r=t.value,n=this.decimals-t.decimals;return(n>0?r*=d(n):n<0&&(e*=d(-n)),e<r)?-1:+(e>r)}eq(t){return 0===this.cmp(t)}lt(t){return 0>this.cmp(t)}lte(t){return 0>=this.cmp(t)}gt(t){return this.cmp(t)>0}gte(t){return this.cmp(t)>=0}floor(){let t=this.#es;return this.#es<l&&(t-=this.#ea-u),t=this.#es/this.#ea*this.#ea,this.#el(t,"floor")}ceiling(){let t=this.#es;return this.#es>l&&(t+=this.#ea-u),t=this.#es/this.#ea*this.#ea,this.#el(t,"ceiling")}round(t){if(null==t&&(t=0),t>=this.decimals)return this;let e=this.decimals-t,r=c*d(e-1),n=this.value+r,i=d(e);return p(n=n/i*i,this.#ei,"round"),new m(h,n,this.#ei)}isZero(){return this.#es===l}isNegative(){return this.#es<l}toString(){return this._value}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(t){return m.fromString(this.toString(),t)}static fromValue(t,e,r){let i=null==e?0:(0,s.WZ)(e),a=g(r),o=(0,s.Ab)(t,"value"),u=i-a.decimals;if(u>0){let e=d(u);(0,n.vA)(o%e===l,"value loses precision for format","NUMERIC_FAULT",{operation:"fromValue",fault:"underflow",value:t}),o/=e}else u<0&&(o*=d(-u));return p(o,a,"fromValue"),new m(h,o,a)}static fromString(t,e){let r=t.match(/^(-?)([0-9]*)\.?([0-9]*)$/);(0,n.MR)(r&&r[2].length+r[3].length>0,"invalid FixedNumber string value","value",t);let i=g(e),s=r[2]||"0",a=r[3]||"";for(;a.length<i.decimals;)a+=f;(0,n.vA)(a.substring(i.decimals).match(/^0*$/),"too many decimals for format","NUMERIC_FAULT",{operation:"fromString",fault:"underflow",value:t}),a=a.substring(0,i.decimals);let o=BigInt(r[1]+s+a);return p(o,i,"fromString"),new m(h,o,i)}static fromBytes(t,e){let r=(0,s.Dg)((0,i.q5)(t,"value")),n=g(e);return n.signed&&(r=(0,s.ST)(r,n.width)),p(r,n,"fromBytes"),new m(h,r,n)}}let y=["wei","kwei","mwei","gwei","szabo","finney","ether"];function A(t,e){let r=18;if("string"==typeof e){let t=y.indexOf(e);(0,n.MR)(t>=0,"invalid unit","unit",e),r=3*t}else null!=e&&(r=(0,s.WZ)(e,"unit"));return m.fromValue(t,r,{decimals:r,width:512}).toString()}function b(t){return A(t,18)}function w(t){(0,n.MR)("string"==typeof t,"value must be a string","value",t);let e=18;return e=(0,s.WZ)(18,"unit"),m.fromString(t,{decimals:e,width:512}).value}}}]);
|