diff --git a/.air.toml b/.air.toml index 309d7b83..19166e10 100644 --- a/.air.toml +++ b/.air.toml @@ -8,18 +8,18 @@ exclude_dir = [ "tmp", "vendor", "testdata", - "e2e_tests", - "node_modules", - "javascript", - "pwabuilder-ios-wrapper", + "tests/e2e", + "frontend/node_modules", + "frontend/javascript", + "infra/pwabuilder-ios-wrapper", "pwabuilder-android-wrapper", "schemaspy-output", - "scripts", + "tools/scripts", ] args_bin = [] bin = "./tmp/main" -cmd = "templ generate && go build -o ./tmp/main cmd/web/main.go" +cmd = "go build -o ./tmp/main ./cmd/web" delay = 1000 exclude_file = [] exclude_regex = [".*_templ.go", "_test.go"] @@ -34,7 +34,10 @@ log = "build-errors.log" poll = false poll_interval = 0 post_cmd = [] -pre_cmd = [] +pre_cmd = [ + "go run ./tools/cli/ship/cmd/ship templ generate --path app", + "go run ./tools/cli/ship/cmd/ship templ generate --path modules", +] rerun = false rerun_delay = 500 send_interrupt = false diff --git a/.dockerignore b/.dockerignore index 18c26567..3e2c5cf9 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,14 +1,43 @@ .env* .air* .gitignore +.git +.cache +.DS_Store *.md Dockerfile LICENSE Makefile +node_modules +frontend/node_modules +frontend/javascript +frontend/.svelte-kit +frontend/dist +frontend/coverage +frontend/.vite +frontend/.cache +frontend/package-lock.json +frontend/pnpm-lock.yaml +frontend/yarn.lock +apps/site/static/*.map +apps/site/static/svelte_bundle* +apps/site/static/vanilla_bundle* +apps/site/static/meta_*_bundle.json +.local +tools/scripts +tools/cli +tools/mcp +tools/scripts/venv +tools/scripts/__pycache__ +tests +e2e_tests +pwabuilder-ios-wrapper +infra/pwabuilder-ios-wrapper +infra/pgvector-image +infra/docker/docker-compose.yml +schemaspy* +testdata tailwind* *.csv .github .kamal -schemaspy* -testdata -tmp \ No newline at end of file diff --git a/.docket/checkpoints/TKT-080-20260314T024709Z.json b/.docket/checkpoints/TKT-080-20260314T024709Z.json new file mode 100644 index 00000000..2d774930 --- /dev/null +++ b/.docket/checkpoints/TKT-080-20260314T024709Z.json @@ -0,0 +1,74 @@ +{ + "ticket_id": "TKT-080", + "created_at": "2026-03-14T02:47:09Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/tickets/TKT-080.md", + "app/views/emails/gen/test_templ.go", + "app/views/web/components/core.templ", + "app/views/web/components/gen/auth_templ.go", + "app/views/web/components/gen/bottom_nav_templ.go", + "app/views/web/components/gen/capability_explorer_templ.go", + "app/views/web/components/gen/core_templ.go", + "app/views/web/components/gen/documentation_templ.go", + "app/views/web/components/gen/drawer_templ.go", + "app/views/web/components/gen/empty_page_msg_templ.go", + "app/views/web/components/gen/forms_templ.go", + "app/views/web/components/gen/icons_templ.go", + "app/views/web/components/gen/logos_templ.go", + "app/views/web/components/gen/messages_templ.go", + "app/views/web/components/gen/navbar_templ.go", + "app/views/web/components/gen/pager_templ.go", + "app/views/web/components/gen/payments_templ.go", + "app/views/web/components/gen/permissions_templ.go", + "app/views/web/components/gen/prev_nav_templ.go", + "app/views/web/components/gen/profile_templ.go", + "app/views/web/components/gen/theme_toggle_templ.go", + "app/views/web/components/gen/tooltip_templ.go", + "app/views/web/helpers/gen/helpers_templ.go", + "app/views/web/layouts/auth.templ", + "app/views/web/layouts/documentation.templ", + "app/views/web/layouts/gen/auth_templ.go", + "app/views/web/layouts/gen/documentation_templ.go", + "app/views/web/layouts/gen/landing_page_templ.go", + "app/views/web/layouts/gen/main_templ.go", + "app/views/web/layouts/landing_page.templ", + "app/views/web/layouts/main.templ", + "app/views/web/pages/gen/about_templ.go", + "app/views/web/pages/gen/ai_demo_templ.go", + "app/views/web/pages/gen/contact_templ.go", + "app/views/web/pages/gen/delete_account_templ.go", + "app/views/web/pages/gen/documentation_templ.go", + "app/views/web/pages/gen/email_subscribe_templ.go", + "app/views/web/pages/gen/error_templ.go", + "app/views/web/pages/gen/home_feed_templ.go", + "app/views/web/pages/gen/home_templ.go", + "app/views/web/pages/gen/invitations_templ.go", + "app/views/web/pages/gen/landing_page_templ.go", + "app/views/web/pages/gen/notifications_templ.go", + "app/views/web/pages/gen/payments_templ.go", + "app/views/web/pages/gen/phone_templ.go", + "app/views/web/pages/gen/privacy_policy_templ.go", + "app/web/ui/controller.go", + "app/web/wiring.go", + "config/config.go", + "docs/architecture/03-project-scope-analysis.md", + "docs/architecture/06-known-gaps-and-risks.md", + "modules/admin/views/web/components/gen/admin_delete_confirm_templ.go", + "modules/admin/views/web/components/gen/admin_field_input_templ.go", + "modules/admin/views/web/components/gen/admin_form_templ.go", + "modules/admin/views/web/components/gen/admin_layout_templ.go", + "modules/admin/views/web/components/gen/admin_list_templ.go", + "modules/auth/views/web/pages/gen/forgot_password_templ.go", + "modules/auth/views/web/pages/gen/login_templ.go", + "modules/auth/views/web/pages/gen/register_templ.go", + "modules/auth/views/web/pages/gen/reset_password_templ.go", + "modules/pwa/views/web/components/gen/pwa_install_templ.go", + "modules/pwa/views/web/pages/gen/install_app_templ.go" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/Users/leoaudibert/Workspace/2026/pagoda-based/goship", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-081-20260314T025158Z.json b/.docket/checkpoints/TKT-081-20260314T025158Z.json new file mode 100644 index 00000000..1b7d213d --- /dev/null +++ b/.docket/checkpoints/TKT-081-20260314T025158Z.json @@ -0,0 +1,81 @@ +{ + "ticket_id": "TKT-081", + "created_at": "2026-03-14T02:51:58Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-080.md", + ".docket/tickets/TKT-081.md", + "app/router.go", + "app/views/emails/gen/test_templ.go", + "app/views/web/components/core.templ", + "app/views/web/components/gen/auth_templ.go", + "app/views/web/components/gen/bottom_nav_templ.go", + "app/views/web/components/gen/capability_explorer_templ.go", + "app/views/web/components/gen/core_templ.go", + "app/views/web/components/gen/documentation_templ.go", + "app/views/web/components/gen/drawer_templ.go", + "app/views/web/components/gen/empty_page_msg_templ.go", + "app/views/web/components/gen/forms_templ.go", + "app/views/web/components/gen/icons_templ.go", + "app/views/web/components/gen/logos_templ.go", + "app/views/web/components/gen/messages_templ.go", + "app/views/web/components/gen/navbar_templ.go", + "app/views/web/components/gen/pager_templ.go", + "app/views/web/components/gen/payments_templ.go", + "app/views/web/components/gen/permissions_templ.go", + "app/views/web/components/gen/prev_nav_templ.go", + "app/views/web/components/gen/profile_templ.go", + "app/views/web/components/gen/theme_toggle_templ.go", + "app/views/web/components/gen/tooltip_templ.go", + "app/views/web/helpers/gen/helpers_templ.go", + "app/views/web/layouts/auth.templ", + "app/views/web/layouts/documentation.templ", + "app/views/web/layouts/gen/auth_templ.go", + "app/views/web/layouts/gen/documentation_templ.go", + "app/views/web/layouts/gen/landing_page_templ.go", + "app/views/web/layouts/gen/main_templ.go", + "app/views/web/layouts/landing_page.templ", + "app/views/web/layouts/main.templ", + "app/views/web/pages/gen/about_templ.go", + "app/views/web/pages/gen/ai_demo_templ.go", + "app/views/web/pages/gen/contact_templ.go", + "app/views/web/pages/gen/delete_account_templ.go", + "app/views/web/pages/gen/documentation_templ.go", + "app/views/web/pages/gen/email_subscribe_templ.go", + "app/views/web/pages/gen/error_templ.go", + "app/views/web/pages/gen/home_feed_templ.go", + "app/views/web/pages/gen/home_templ.go", + "app/views/web/pages/gen/invitations_templ.go", + "app/views/web/pages/gen/landing_page_templ.go", + "app/views/web/pages/gen/notifications_templ.go", + "app/views/web/pages/gen/payments_templ.go", + "app/views/web/pages/gen/phone_templ.go", + "app/views/web/pages/gen/privacy_policy_templ.go", + "app/web/controllers/healthcheck.go", + "app/web/controllers/route_smoke_test.go", + "app/web/routenames/routenames.go", + "app/web/ui/controller.go", + "app/web/wiring.go", + "config/config.go", + "docs/architecture/03-project-scope-analysis.md", + "docs/architecture/04-http-routes.md", + "docs/architecture/06-known-gaps-and-risks.md", + "modules/admin/views/web/components/gen/admin_delete_confirm_templ.go", + "modules/admin/views/web/components/gen/admin_field_input_templ.go", + "modules/admin/views/web/components/gen/admin_form_templ.go", + "modules/admin/views/web/components/gen/admin_layout_templ.go", + "modules/admin/views/web/components/gen/admin_list_templ.go", + "modules/auth/views/web/pages/gen/forgot_password_templ.go", + "modules/auth/views/web/pages/gen/login_templ.go", + "modules/auth/views/web/pages/gen/register_templ.go", + "modules/auth/views/web/pages/gen/reset_password_templ.go", + "modules/pwa/views/web/components/gen/pwa_install_templ.go", + "modules/pwa/views/web/pages/gen/install_app_templ.go" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/Users/leoaudibert/Workspace/2026/pagoda-based/goship", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-082-20260314T031951Z.json b/.docket/checkpoints/TKT-082-20260314T031951Z.json new file mode 100644 index 00000000..f1d59b65 --- /dev/null +++ b/.docket/checkpoints/TKT-082-20260314T031951Z.json @@ -0,0 +1,18 @@ +{ + "ticket_id": "TKT-082", + "created_at": "2026-03-14T03:19:51Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-081.md", + ".docket/tickets/TKT-082.md", + "app/router.go", + "docs/architecture/06-known-gaps-and-risks.md", + "go.work.sum" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/Users/leoaudibert/Workspace/2026/pagoda-based/goship", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-090-20260316T210033Z.json b/.docket/checkpoints/TKT-090-20260316T210033Z.json new file mode 100644 index 00000000..3e7be48e --- /dev/null +++ b/.docket/checkpoints/TKT-090-20260316T210033Z.json @@ -0,0 +1,43 @@ +{ + "ticket_id": "TKT-090", + "created_at": "2026-03-16T21:00:33Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-053.md", + ".docket/tickets/TKT-054.md", + ".docket/tickets/TKT-055.md", + ".docket/tickets/TKT-056.md", + ".docket/tickets/TKT-058.md", + ".docket/tickets/TKT-059.md", + ".docket/tickets/TKT-060.md", + ".docket/tickets/TKT-061.md", + ".docket/tickets/TKT-062.md", + ".docket/tickets/TKT-067.md", + ".docket/tickets/TKT-069.md", + ".docket/tickets/TKT-071.md", + ".docket/tickets/TKT-072.md", + ".docket/tickets/TKT-074.md", + ".docket/tickets/TKT-075.md", + ".docket/tickets/TKT-078.md", + ".docket/tickets/TKT-083.md", + ".docket/tickets/TKT-084.md", + ".docket/tickets/TKT-085.md", + ".docket/tickets/TKT-086.md", + ".docket/tickets/TKT-087.md", + ".docket/tickets/TKT-088.md", + ".docket/tickets/TKT-089.md", + ".docket/tickets/TKT-090.md", + ".docket/tickets/TKT-099.md", + ".docket/tickets/TKT-100.md", + ".docket/tickets/TKT-101.md", + ".docket/tickets/TKT-102.md", + ".docket/tickets/TKT-112.md", + ".docket/tickets/TKT-113.md" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-091-20260316T132458Z.json b/.docket/checkpoints/TKT-091-20260316T132458Z.json new file mode 100644 index 00000000..e9fdceb7 --- /dev/null +++ b/.docket/checkpoints/TKT-091-20260316T132458Z.json @@ -0,0 +1,14 @@ +{ + "ticket_id": "TKT-091", + "created_at": "2026-03-16T13:24:58Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-091.md" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-092-20260316T132603Z.json b/.docket/checkpoints/TKT-092-20260316T132603Z.json new file mode 100644 index 00000000..667931bf --- /dev/null +++ b/.docket/checkpoints/TKT-092-20260316T132603Z.json @@ -0,0 +1,14 @@ +{ + "ticket_id": "TKT-092", + "created_at": "2026-03-16T13:26:03Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-092.md" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-093-20260316T132655Z.json b/.docket/checkpoints/TKT-093-20260316T132655Z.json new file mode 100644 index 00000000..5e74d4da --- /dev/null +++ b/.docket/checkpoints/TKT-093-20260316T132655Z.json @@ -0,0 +1,13 @@ +{ + "ticket_id": "TKT-093", + "created_at": "2026-03-16T13:26:55Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/tickets/TKT-093.md" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-094-20260316T133511Z.json b/.docket/checkpoints/TKT-094-20260316T133511Z.json new file mode 100644 index 00000000..c0af66c7 --- /dev/null +++ b/.docket/checkpoints/TKT-094-20260316T133511Z.json @@ -0,0 +1,21 @@ +{ + "ticket_id": "TKT-094", + "created_at": "2026-03-16T13:35:11Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/tickets/TKT-094.md", + "docs/architecture/03-project-scope-analysis.md", + "docs/architecture/04-http-routes.md", + "docs/architecture/06-known-gaps-and-risks.md", + "docs/reference/01-cli.md", + "docs/roadmap/01-framework-plan.md", + "modules/admin/routes.go", + "modules/admin/routes_test.go", + "tools/cli/ship/internal/policies/doctor.go" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-095-20260316T134020Z.json b/.docket/checkpoints/TKT-095-20260316T134020Z.json new file mode 100644 index 00000000..e34d25ce --- /dev/null +++ b/.docket/checkpoints/TKT-095-20260316T134020Z.json @@ -0,0 +1,31 @@ +{ + "ticket_id": "TKT-095", + "created_at": "2026-03-16T13:40:19Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-095.md", + "app/foundation/container.go", + "app/foundation/container_migrations.go", + "app/foundation/container_test.go", + "app/router.go", + "db/queries/sqlite_bootstrap.sql", + "docs/architecture/03-project-scope-analysis.md", + "docs/architecture/04-http-routes.md", + "docs/architecture/06-known-gaps-and-risks.md", + "docs/reference/01-cli.md", + "docs/roadmap/01-framework-plan.md", + "modules/admin/module.go", + "modules/admin/routes.go", + "modules/admin/routes_test.go", + "modules/flags/module.go", + "modules/flags/service.go", + "modules/flags/service_test.go", + "modules/flags/store.go" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-096-20260316T134052Z.json b/.docket/checkpoints/TKT-096-20260316T134052Z.json new file mode 100644 index 00000000..cef0403c --- /dev/null +++ b/.docket/checkpoints/TKT-096-20260316T134052Z.json @@ -0,0 +1,14 @@ +{ + "ticket_id": "TKT-096", + "created_at": "2026-03-16T13:40:52Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-096.md" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-097-20260316T134153Z.json b/.docket/checkpoints/TKT-097-20260316T134153Z.json new file mode 100644 index 00000000..9b126c42 --- /dev/null +++ b/.docket/checkpoints/TKT-097-20260316T134153Z.json @@ -0,0 +1,13 @@ +{ + "ticket_id": "TKT-097", + "created_at": "2026-03-16T13:41:53Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/tickets/TKT-097.md" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-098-20260316T134209Z.json b/.docket/checkpoints/TKT-098-20260316T134209Z.json new file mode 100644 index 00000000..9170b2aa --- /dev/null +++ b/.docket/checkpoints/TKT-098-20260316T134209Z.json @@ -0,0 +1,14 @@ +{ + "ticket_id": "TKT-098", + "created_at": "2026-03-16T13:42:09Z", + "ac_done": 1, + "ac_total": 1, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-098.md" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-157-20260316T211050Z.json b/.docket/checkpoints/TKT-157-20260316T211050Z.json new file mode 100644 index 00000000..b44d2a2e --- /dev/null +++ b/.docket/checkpoints/TKT-157-20260316T211050Z.json @@ -0,0 +1,20 @@ +{ + "ticket_id": "TKT-157", + "created_at": "2026-03-16T21:10:50Z", + "ac_done": 2, + "ac_total": 2, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-157.md", + ".docket/tickets/TKT-168.md", + ".docket/tickets/TKT-169.md", + "config/config.go", + "tools/cli/ship/internal/policies/doctor_placement.go", + "tools/cli/ship/internal/policies/doctor_placement_test.go", + "tools/mcp/ship/internal/server/tools.go" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-167-20260316T210616Z.json b/.docket/checkpoints/TKT-167-20260316T210616Z.json new file mode 100644 index 00000000..75bec028 --- /dev/null +++ b/.docket/checkpoints/TKT-167-20260316T210616Z.json @@ -0,0 +1,45 @@ +{ + "ticket_id": "TKT-167", + "created_at": "2026-03-16T21:06:16Z", + "ac_done": 3, + "ac_total": 3, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-053.md", + ".docket/tickets/TKT-054.md", + ".docket/tickets/TKT-055.md", + ".docket/tickets/TKT-056.md", + ".docket/tickets/TKT-058.md", + ".docket/tickets/TKT-059.md", + ".docket/tickets/TKT-060.md", + ".docket/tickets/TKT-061.md", + ".docket/tickets/TKT-062.md", + ".docket/tickets/TKT-067.md", + ".docket/tickets/TKT-069.md", + ".docket/tickets/TKT-071.md", + ".docket/tickets/TKT-072.md", + ".docket/tickets/TKT-074.md", + ".docket/tickets/TKT-075.md", + ".docket/tickets/TKT-078.md", + ".docket/tickets/TKT-083.md", + ".docket/tickets/TKT-084.md", + ".docket/tickets/TKT-085.md", + ".docket/tickets/TKT-086.md", + ".docket/tickets/TKT-087.md", + ".docket/tickets/TKT-088.md", + ".docket/tickets/TKT-089.md", + ".docket/tickets/TKT-090.md", + ".docket/tickets/TKT-099.md", + ".docket/tickets/TKT-100.md", + ".docket/tickets/TKT-101.md", + ".docket/tickets/TKT-102.md", + ".docket/tickets/TKT-112.md", + ".docket/tickets/TKT-113.md", + ".docket/tickets/TKT-167.md", + "tools/cli/ship/internal/policies/doctor.go" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-168-20260316T210844Z.json b/.docket/checkpoints/TKT-168-20260316T210844Z.json new file mode 100644 index 00000000..fc147b01 --- /dev/null +++ b/.docket/checkpoints/TKT-168-20260316T210844Z.json @@ -0,0 +1,15 @@ +{ + "ticket_id": "TKT-168", + "created_at": "2026-03-16T21:08:44Z", + "ac_done": 1, + "ac_total": 3, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-168.md", + "tools/mcp/ship/internal/server/tools.go" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-168-20260316T210849Z.json b/.docket/checkpoints/TKT-168-20260316T210849Z.json new file mode 100644 index 00000000..c6a3439d --- /dev/null +++ b/.docket/checkpoints/TKT-168-20260316T210849Z.json @@ -0,0 +1,15 @@ +{ + "ticket_id": "TKT-168", + "created_at": "2026-03-16T21:08:49Z", + "ac_done": 3, + "ac_total": 3, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-168.md", + "tools/mcp/ship/internal/server/tools.go" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/checkpoints/TKT-169-20260316T211040Z.json b/.docket/checkpoints/TKT-169-20260316T211040Z.json new file mode 100644 index 00000000..d7d970a7 --- /dev/null +++ b/.docket/checkpoints/TKT-169-20260316T211040Z.json @@ -0,0 +1,19 @@ +{ + "ticket_id": "TKT-169", + "created_at": "2026-03-16T21:10:40Z", + "ac_done": 3, + "ac_total": 3, + "changed_files": [ + ".docket/manifest.json", + ".docket/tickets/TKT-168.md", + ".docket/tickets/TKT-169.md", + "config/config.go", + "tools/cli/ship/internal/policies/doctor_placement.go", + "tools/cli/ship/internal/policies/doctor_placement_test.go", + "tools/mcp/ship/internal/server/tools.go" + ], + "last_comments": [], + "branch": "work/2026-refactor-main-snapshot", + "worktree_path": "/workspace/project", + "summary": "AC completion checkpoint" +} diff --git a/.docket/config.json b/.docket/config.json new file mode 100644 index 00000000..d0da590d --- /dev/null +++ b/.docket/config.json @@ -0,0 +1,94 @@ +{ + "counter": 169, + "backend": "local", + "states": { + "archived": { + "label": "Archived", + "open": false, + "column": 5, + "next": [ + "backlog" + ] + }, + "backlog": { + "label": "Backlog", + "open": true, + "column": 0, + "next": [ + "todo", + "archived" + ] + }, + "done": { + "label": "Done", + "open": false, + "column": 4, + "next": [ + "archived", + "in-progress" + ] + }, + "in-progress": { + "label": "In Progress", + "open": true, + "column": 2, + "next": [ + "in-review", + "todo", + "archived" + ] + }, + "in-review": { + "label": "In Review", + "open": true, + "column": 3, + "next": [ + "done", + "in-progress", + "archived" + ] + }, + "todo": { + "label": "To Do", + "open": true, + "column": 1, + "next": [ + "in-progress", + "backlog", + "archived" + ] + } + }, + "labels": [ + "bug", + "feature", + "refactor", + "chore", + "llm-only", + "human-only" + ], + "commit_sessions": false, + "default_state": "backlog", + "default_priority": 10, + "handoff_sections": [ + "Current state", + "Decisions made", + "Files touched", + "Remaining work", + "AC status" + ], + "semantic": { + "enabled": false, + "provider": "uv", + "model": "sentence-transformers/all-MiniLM-L6-v2", + "hf_home": "/Users/leoaudibert/.cache/docket/hf", + "sentence_transformers_home": "/Users/leoaudibert/.cache/docket/sbert", + "uv_cache_dir": "/Users/leoaudibert/.cache/docket/uv", + "lexical_weight": 0.35, + "vector_weight": 0.65, + "title_weight": 3, + "description_weight": 1.5, + "ac_weight": 2, + "handoff_weight": 1.25 + } +} diff --git a/.docket/locks.json b/.docket/locks.json new file mode 100644 index 00000000..944de670 --- /dev/null +++ b/.docket/locks.json @@ -0,0 +1,3 @@ +{ + "locks": [] +} diff --git a/.docket/manifest.json b/.docket/manifest.json new file mode 100644 index 00000000..7db94894 --- /dev/null +++ b/.docket/manifest.json @@ -0,0 +1,727 @@ +{ + "_warning": "DO NOT EDIT .docket/tickets/*.md OR .docket/manifest.json DIRECTLY. Use `docket` commands only.", + "tickets": { + "TKT-001": { + "title": "M03 A01 - Fix container initialization for optional services", + "state": "done", + "priority": 2 + }, + "TKT-002": { + "title": "M03 A02 - Add `--json` output flag to `ship doctor`", + "state": "done", + "priority": 2 + }, + "TKT-003": { + "title": "M03 B01 - Set up Vite build config with island code-splitting (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-004": { + "title": "M03 B02 - Write the islands runtime (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-005": { + "title": "M03 B03 - Migrate ThemeToggle to island pattern (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-006": { + "title": "M03 B04 - Migrate remaining Svelte components to islands", + "state": "done", + "priority": 2 + }, + "TKT-007": { + "title": "M03 B05 - Remove old esbuild setup", + "state": "done", + "priority": 2 + }, + "TKT-008": { + "title": "M03 C01 - Define Module interface in framework (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-009": { + "title": "M03 C02 - Standardize marker comments in router and container (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-010": { + "title": "M03 C03 - Implement `ship module:add` CLI command", + "state": "done", + "priority": 2 + }, + "TKT-011": { + "title": "M03 C04 - Implement `ship module:remove` CLI command", + "state": "done", + "priority": 2 + }, + "TKT-012": { + "title": "M03 C05 - Add `ship_doctor`, `ship_routes`, `ship_modules` to MCP server (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-013": { + "title": "M03 D01 - Extract auth controllers into `modules/auth`", + "state": "done", + "priority": 2 + }, + "TKT-014": { + "title": "M03 D02 - Extract profile into `modules/profile`", + "state": "done", + "priority": 2 + }, + "TKT-015": { + "title": "M03 D03 - Move paidsubscriptions route handler into module", + "state": "done", + "priority": 2 + }, + "TKT-016": { + "title": "M03 D04 - Move notifications route handlers into module", + "state": "done", + "priority": 2 + }, + "TKT-017": { + "title": "M03 D05 - Create `modules/pwa`", + "state": "done", + "priority": 2 + }, + "TKT-018": { + "title": "M03 E01 - Create `starter/` minimal skeleton", + "state": "done", + "priority": 2 + }, + "TKT-019": { + "title": "M03 E02 - Wire `ship new` to use `starter/` as template", + "state": "done", + "priority": 2 + }, + "TKT-020": { + "title": "M03 G01 - Replace Viper with cleanenv struct-tag config", + "state": "done", + "priority": 2 + }, + "TKT-021": { + "title": "M03 G02 - Add `.env` file loading", + "state": "done", + "priority": 2 + }, + "TKT-022": { + "title": "M03 G03 - Remove YAML config files", + "state": "done", + "priority": 2 + }, + "TKT-023": { + "title": "M03 G04 - Add `ship config:validate` command", + "state": "done", + "priority": 2 + }, + "TKT-024": { + "title": "M03 H01 - Add recovery middleware to Echo (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-025": { + "title": "M03 H02 - Add `nilaway` to CI and `ship doctor` (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-026": { + "title": "M03 H03 - Audit and enforce value-type viewmodels", + "state": "done", + "priority": 2 + }, + "TKT-027": { + "title": "M03 H04 - Add nil-safe accessor methods to domain models", + "state": "done", + "priority": 2 + }, + "TKT-028": { + "title": "M03 H05 - Viewmodel constructor functions", + "state": "done", + "priority": 2 + }, + "TKT-029": { + "title": "M03 H06 - Route smoke tests for nil deref", + "state": "done", + "priority": 2 + }, + "TKT-030": { + "title": "M03 I01 - Add SQLite DB adapter (CGO-free)", + "state": "done", + "priority": 2 + }, + "TKT-031": { + "title": "M03 I02 - Add Backlite as SQLite-backed jobs driver", + "state": "done", + "priority": 2 + }, + "TKT-032": { + "title": "M03 I03 - Add Otter as in-memory cache adapter", + "state": "done", + "priority": 2 + }, + "TKT-033": { + "title": "M03 I04 - Wire single-binary mode as default + update docs", + "state": "done", + "priority": 2 + }, + "TKT-034": { + "title": "M03 I05 - In-memory test database (zero Docker for tests)", + "state": "done", + "priority": 2 + }, + "TKT-035": { + "title": "M03 J01 - Define AdminField and AdminResource type system (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-036": { + "title": "M03 J02 - Implement reflection-based resource registration", + "state": "done", + "priority": 2 + }, + "TKT-037": { + "title": "M03 J03 - Implement Bob-backed CRUD operations for admin", + "state": "done", + "priority": 2 + }, + "TKT-038": { + "title": "M03 J04 - Build templ components for admin UI", + "state": "done", + "priority": 2 + }, + "TKT-039": { + "title": "M03 J05 - Wire admin routes", + "state": "done", + "priority": 2 + }, + "TKT-040": { + "title": "M03 J06 - Embed Backlite queue monitor in admin panel (parallel after J05, I02)", + "state": "done", + "priority": 2 + }, + "TKT-041": { + "title": "M03 K01 - Chainable redirect helper (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-042": { + "title": "M03 K02 - Pagination utility (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-043": { + "title": "M03 K03 - `ship routes` command (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-044": { + "title": "M03 K04 - `ship db:console` command (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-045": { + "title": "M03 K05 - Built-in rate limiter middleware (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-046": { + "title": "M03 K06 - Afero file system abstraction (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-047": { + "title": "M03 F01 - Fix README inconsistencies (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-048": { + "title": "M03 F02 - Fix architecture doc: decouple from Asynq (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-049": { + "title": "M03 F03 - Update AI agent guide: add nil safety convention (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-050": { + "title": "M03 F04 - Update docs index with all new roadmap docs (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-051": { + "title": "M03 F05 - Update workflows doc: config and single binary mode (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-052": { + "title": "M03 F06 - Update scope analysis doc to reflect evolving architecture (parallel)", + "state": "done", + "priority": 2 + }, + "TKT-053": { + "title": "M05 L01 - Enforce canonical file placement in `ship doctor`", + "state": "done", + "priority": 4 + }, + "TKT-054": { + "title": "M05 L02 - Enforce file size conventions in `ship doctor`", + "state": "done", + "priority": 4 + }, + "TKT-055": { + "title": "M05 L03 - Enforce marker comment integrity in `ship doctor`", + "state": "done", + "priority": 4 + }, + "TKT-056": { + "title": "M05 L04 - Add `ship verify` as the single done-check command", + "state": "done", + "priority": 4 + }, + "TKT-057": { + "title": "M05 L05 - Add `ship describe --json` machine-readable codebase map", + "state": "done", + "priority": 4 + }, + "TKT-058": { + "title": "M05 M01 - Add `ship_doctor` MCP tool", + "state": "done", + "priority": 4 + }, + "TKT-059": { + "title": "M05 M02 - Add `ship_routes` MCP tool", + "state": "done", + "priority": 4 + }, + "TKT-060": { + "title": "M05 M03 - Add `ship_modules` MCP tool", + "state": "done", + "priority": 4 + }, + "TKT-061": { + "title": "M05 M04 - Add `ship_scaffold` MCP tool", + "state": "done", + "priority": 4 + }, + "TKT-062": { + "title": "M05 M05 - Add `ship_verify` MCP tool", + "state": "done", + "priority": 4 + }, + "TKT-063": { + "title": "M05 N01 - Create framework CLAUDE.md", + "state": "done", + "priority": 4 + }, + "TKT-064": { + "title": "\u003cname\u003e", + "state": "done", + "priority": 4 + }, + "TKT-065": { + "title": "M05 N03 - Create app-layer CLAUDE.md", + "state": "done", + "priority": 4 + }, + "TKT-066": { + "title": "M05 O01 - Define route contract types for all existing routes", + "state": "done", + "priority": 4 + }, + "TKT-067": { + "title": "M05 O02 - Enforce contract usage in `ship doctor`", + "state": "done", + "priority": 4 + }, + "TKT-068": { + "title": "M05 P01 - Add `--test-first` flag to `ship make:scaffold`", + "state": "done", + "priority": 4 + }, + "TKT-069": { + "title": "M05 P02 - Add scaffold test to `ship verify` pre-completion check", + "state": "done", + "priority": 4 + }, + "TKT-070": { + "title": "M05 Q01 - Add conventional commits enforcement to pre-commit hook", + "state": "done", + "priority": 4 + }, + "TKT-071": { + "title": "M05 Q02 - Add `ship agent:start` for isolated worktree workflow", + "state": "done", + "priority": 4 + }, + "TKT-072": { + "title": "M05 Q03 - Add `ship agent:finish` for worktree cleanup and PR prep", + "state": "done", + "priority": 4 + }, + "TKT-073": { + "title": "M05 R01 - Add `// Renders:` comments to all exported templ functions (GoShip)", + "state": "done", + "priority": 4 + }, + "TKT-074": { + "title": "M05 R02 - Add `ship doctor` check for missing `// Renders:` comments", + "state": "done", + "priority": 4 + }, + "TKT-075": { + "title": "M05 R03 - Add `ship doctor` check for missing `data-component` attributes", + "state": "done", + "priority": 4 + }, + "TKT-076": { + "title": "M06 S01 - Add `ship dev` unified development command", + "state": "done", + "priority": 5 + }, + "TKT-077": { + "title": "M06 S02 - Generate GitHub Actions CI/CD workflows in `ship new`", + "state": "done", + "priority": 5 + }, + "TKT-078": { + "title": "M06 T01 - Multi-process SQLite safety (WAL mode + connection pool)", + "state": "done", + "priority": 5 + }, + "TKT-079": { + "title": "M06 T02 - Integrate `slog` structured logging into framework", + "state": "done", + "priority": 5 + }, + "TKT-080": { + "title": "M06 T03 - Security headers middleware", + "state": "done", + "priority": 5 + }, + "TKT-081": { + "title": "M06 T04 - Expand health check endpoint", + "state": "done", + "priority": 5 + }, + "TKT-082": { + "title": "M06 U01 - Email provider interface and adapters", + "state": "done", + "priority": 5 + }, + "TKT-083": { + "title": "M06 U02 - Templ-based email templates", + "state": "done", + "priority": 5 + }, + "TKT-084": { + "title": "M06 U03 - Email preview routes (development only)", + "state": "done", + "priority": 5 + }, + "TKT-085": { + "title": "M06 V01 - Cron job scheduling convention", + "state": "done", + "priority": 5 + }, + "TKT-086": { + "title": "M06 V02 - App-level CLI commands convention", + "state": "done", + "priority": 5 + }, + "TKT-087": { + "title": "M07 W01 - OAuth / Social Login module", + "state": "done", + "priority": 6 + }, + "TKT-088": { + "title": "M07 W02 - Two-Factor Authentication (TOTP) module", + "state": "done", + "priority": 6 + }, + "TKT-089": { + "title": "M07 X01 - `modules/ai` core: provider interface + Anthropic adapter", + "state": "done", + "priority": 6 + }, + "TKT-090": { + "title": "M07 X02 - OpenAI and OpenRouter adapters", + "state": "done", + "priority": 6 + }, + "TKT-091": { + "title": "M07 X03 - AI streaming via SSE + HTMX", + "state": "done", + "priority": 6 + }, + "TKT-092": { + "title": "M07 X04 - AI conversation history persistence", + "state": "done", + "priority": 6 + }, + "TKT-093": { + "title": "M07 Y01 - Domain events system", + "state": "done", + "priority": 6 + }, + "TKT-094": { + "title": "M07 Y02 - Soft deletes convention", + "state": "done", + "priority": 6 + }, + "TKT-095": { + "title": "M07 Y03 - Feature flags module", + "state": "done", + "priority": 6 + }, + "TKT-096": { + "title": "M07 Y04 - Audit log module", + "state": "done", + "priority": 6 + }, + "TKT-097": { + "title": "M07 Z01 - First-class SSE (Server-Sent Events) support", + "state": "done", + "priority": 6 + }, + "TKT-098": { + "title": "M07 Z02 - JSON API pattern and typed response helpers", + "state": "done", + "priority": 6 + }, + "TKT-099": { + "title": "M07 Z03 - OpenAPI spec generation from route contracts", + "state": "done", + "priority": 6 + }, + "TKT-100": { + "title": "M07 AA01 - Test data factory system", + "state": "done", + "priority": 6 + }, + "TKT-101": { + "title": "M07 AA02 - Typed HTTP test helpers", + "state": "done", + "priority": 6 + }, + "TKT-102": { + "title": "M07 AB01 - i18n module", + "state": "done", + "priority": 6 + }, + "TKT-103": { + "title": "M08 T02 - Write Style Guide", + "state": "done", + "priority": 7 + }, + "TKT-104": { + "title": "M08 T04 - Update Agent Guide with UI Convention", + "state": "done", + "priority": 7 + }, + "TKT-105": { + "title": "M08 T06 - Apply `data-component` to Templ Component Roots", + "state": "done", + "priority": 7 + }, + "TKT-106": { + "title": "M08 T08 - Apply `data-slot` and `data-action` to Components", + "state": "done", + "priority": 7 + }, + "TKT-107": { + "title": "M08 T10 - Add Inline Visual Comments to Templ Functions", + "state": "done", + "priority": 7 + }, + "TKT-108": { + "title": "M08 T12 - Playwright MCP Setup", + "state": "done", + "priority": 7 + }, + "TKT-109": { + "title": "M08 T13 - Agent Guide: Visual Discovery Workflow", + "state": "done", + "priority": 7 + }, + "TKT-110": { + "title": "A09 - Managed Mode Config Authority", + "state": "done", + "priority": 6 + }, + "TKT-111": { + "title": "A09 - Backup Capability Contract And S3-Compatible Providers", + "state": "done", + "priority": 6 + }, + "TKT-112": { + "title": "A09 - Managed Mode Settings Lock And Read-Only Admin Surfaces", + "state": "done", + "priority": 5 + }, + "TKT-113": { + "title": "A09 - Signed Managed Hooks For Backup, Restore, And Runtime Status", + "state": "done", + "priority": 7 + }, + "TKT-114": { + "title": "A09 - SQLite-First Promotion Path To Postgres", + "state": "done", + "priority": 5 + }, + "TKT-115": { + "title": "Deprecate lecho and zerolog in favor of slog", + "state": "done", + "priority": 6 + }, + "TKT-143": { + "title": "i18n hardening wave 2 (scope, enforcement, docs consolidation)", + "state": "done", + "priority": 4 + }, + "TKT-144": { + "title": "Remove top15 locale-pack behavior from `ship new`", + "state": "done", + "priority": 7 + }, + "TKT-145": { + "title": "Canonical i18n enforcement scope policy", + "state": "done", + "priority": 6 + }, + "TKT-146": { + "title": "Consolidate all i18n documentation into one canonical document", + "state": "done", + "priority": 5 + }, + "TKT-147": { + "title": "API locale propagation contract tests (integration + unit, no starter route mandate)", + "state": "done", + "priority": 6 + }, + "TKT-148": { + "title": "Dynamic `\u003chtml lang\u003e` propagation across layouts/pages", + "state": "done", + "priority": 6 + }, + "TKT-149": { + "title": "De-duplicate plural/select completeness logic across CLI and doctor", + "state": "done", + "priority": 6 + }, + "TKT-150": { + "title": "Harden i18n allowlist contract for stability", + "state": "done", + "priority": 5 + }, + "TKT-151": { + "title": "Broaden i18n scanner coverage and diagnostics quality", + "state": "done", + "priority": 5 + }, + "TKT-152": { + "title": "Expand safe i18n instrumentation rewrite coverage", + "state": "done", + "priority": 5 + }, + "TKT-153": { + "title": "Generate typed i18n keys for Go and JS to reduce string drift", + "state": "done", + "priority": 5 + }, + "TKT-154": { + "title": "Translator workflow contract and maintenance policy", + "state": "done", + "priority": 5 + }, + "TKT-155": { + "title": "Strict CI profile for i18n-enabled apps", + "state": "done", + "priority": 5 + }, + "TKT-156": { + "title": "Doctor Zero-Failure Baseline EPIC", + "state": "done", + "priority": 1 + }, + "TKT-157": { + "title": "Doctor Warning Burn-Down EPIC (DX027 + DX010)", + "state": "done", + "priority": 4 + }, + "TKT-158": { + "title": "DX021: Extract inline SQL out of modules/admin/routes.go into store/query layer", + "state": "done", + "priority": 1, + "parent": "TKT-156" + }, + "TKT-159": { + "title": "DX023: Make Renders/Route comment detection block-aware (order-agnostic)", + "state": "done", + "priority": 1, + "parent": "TKT-156" + }, + "TKT-160": { + "title": "DX023 tests: add regression matrix for templ comment permutations", + "state": "done", + "priority": 2, + "parent": "TKT-156" + }, + "TKT-161": { + "title": "DX013: Resolve top-level tmp policy mismatch with dev tooling", + "state": "done", + "priority": 1, + "parent": "TKT-156" + }, + "TKT-162": { + "title": "Docs: publish canonical doctor policy for templ comments and tmp artifacts", + "state": "done", + "priority": 3, + "parent": "TKT-156" + }, + "TKT-163": { + "title": "DX027: migrate contact controller Bind payload to app/contracts type", + "state": "done", + "priority": 4, + "parent": "TKT-157" + }, + "TKT-164": { + "title": "DX027: migrate email_subscribe controller Bind payload to app/contracts type", + "state": "done", + "priority": 4, + "parent": "TKT-157" + }, + "TKT-165": { + "title": "DX027: migrate managed_hooks API request binding to app/contracts types", + "state": "done", + "priority": 4, + "parent": "TKT-157" + }, + "TKT-166": { + "title": "DX027: migrate preferences controller Bind payloads to app/contracts types", + "state": "done", + "priority": 4, + "parent": "TKT-157" + }, + "TKT-167": { + "title": "DX010: split doctor policy engine file by responsibility", + "state": "done", + "priority": 5, + "parent": "TKT-157" + }, + "TKT-168": { + "title": "DX010: split MCP ship server tools.go by tool domain", + "state": "done", + "priority": 6, + "parent": "TKT-157" + }, + "TKT-169": { + "title": "DX010: decompose config/config.go into modular config packages", + "state": "done", + "priority": 6, + "parent": "TKT-157" + } + } +} diff --git a/.docket/repo_id b/.docket/repo_id new file mode 100644 index 00000000..cb5865a3 --- /dev/null +++ b/.docket/repo_id @@ -0,0 +1 @@ +drid_7076c2a0-2ef5-4755-ac38-229eb93a8794 diff --git a/.docket/tickets/TKT-001.md b/.docket/tickets/TKT-001.md new file mode 100644 index 00000000..df140b78 --- /dev/null +++ b/.docket/tickets/TKT-001.md @@ -0,0 +1,37 @@ +--- +id: TKT-001 +seq: 1 +state: done +priority: 2 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:26Z" +created_by: human:Leo Audibert +--- + +# TKT-001: M03 A01 - Fix container initialization for optional services + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group A — Critical Bug Fixes +**Original Task Code:** `M03 A01` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `app/foundation/container.go` + +**Context:** `initCache()`, `initNotifier()`, `initTasks()` are commented out in `NewContainer()`. Shutdown code calls `.Close()` on potentially nil fields — latent nil-pointer panics. See `docs/architecture/06-known-gaps-and-risks.md`. + +**What to do:** +1. Read `app/foundation/container.go` fully. +2. Wrap each commented-out init in a config guard (e.g., `if c.Config.Cache.Enabled { c.initCache() }`). Add `Enabled` booleans to the config struct if they don't exist. +3. Audit all `.Close()` / shutdown calls — nil-check every optional service before calling. +4. Run `go build ./...` and `make test`. + +**Done when:** No commented-out init calls remain. Shutdown is nil-safe. `go build` passes. + +--- + +## Acceptance Criteria +- [x] No commented-out init calls remain. Shutdown is nil-safe. `go build` passes. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-002.md b/.docket/tickets/TKT-002.md new file mode 100644 index 00000000..034770d6 --- /dev/null +++ b/.docket/tickets/TKT-002.md @@ -0,0 +1,38 @@ +--- +id: TKT-002 +seq: 2 +state: done +priority: 2 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:26Z" +created_by: human:Leo Audibert +--- + +# TKT-002: M03 A02 - Add `--json` output flag to `ship doctor` + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group A — Critical Bug Fixes +**Original Task Code:** `M03 A02` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `tools/cli/ship/internal/commands/` (doctor command) + +**Context:** `ship doctor` outputs human-readable text. MCP integration and LLM self-validation need machine-readable JSON output. + +**What to do:** +1. Find and read the doctor command implementation. +2. Add a `--json` flag. +3. When set, output: `{"ok": bool, "issues": [{"type": "string", "file": "string", "detail": "string", "severity": "error|warning"}]}` +4. Exit code 0 if no errors, 1 if any errors. +5. Existing text output unchanged when flag is absent. + +**Done when:** `ship doctor --json` outputs valid JSON matching the schema above. Existing output unchanged. + +--- + +## Acceptance Criteria +- [x] `ship doctor --json` outputs valid JSON matching the schema above. Existing output unchanged. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-003.md b/.docket/tickets/TKT-003.md new file mode 100644 index 00000000..c503f4d6 --- /dev/null +++ b/.docket/tickets/TKT-003.md @@ -0,0 +1,43 @@ +--- +id: TKT-003 +seq: 3 +state: done +priority: 2 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:26Z" +created_by: human:Leo Audibert +--- + +# TKT-003: M03 B01 - Set up Vite build config with island code-splitting (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group B — JS Islands Architecture +**Original Task Code:** `M03 B01` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `frontend/vite.config.ts` (new), `frontend/package.json` + +**Context:** Replace esbuild with Vite for per-island code splitting. Each file in `frontend/islands/` becomes a separately loadable chunk. Read `docs/roadmap/02-architecture-evolution.md` section 1. + +**What to do:** +1. Read `frontend/build.mjs`, `frontend/package.json`, `frontend/tailwind.config.js`. +2. Add to `package.json` devDependencies: `vite`, `@sveltejs/vite-plugin-svelte`, `vite-plugin-tailwindcss` (or keep postcss). +3. Create `frontend/vite.config.ts`: + - Glob `frontend/islands/**/*.{svelte,tsx,jsx,vue}` as separate entry points. + - Output chunks to `app/static/islands/[name]-[hash].js`. + - Output manifest to `app/static/islands-manifest.json` (name → hashed URL). + - Also bundle `frontend/javascript/vanilla/main.js` → `app/static/vanilla_bundle.js`. + - Tailwind via postcss (reuse existing config). +4. Create `frontend/islands/` with a `.gitkeep`. +5. Update `Makefile`: add `js-build-vite` target; keep old `build-js` target during migration. + +**Done when:** `make js-build-vite` succeeds. `app/static/islands-manifest.json` is produced. Old esbuild target still works. + +--- + +## Acceptance Criteria +- [x] `make js-build-vite` succeeds. `app/static/islands-manifest.json` is produced. Old esbuild target still works. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-004.md b/.docket/tickets/TKT-004.md new file mode 100644 index 00000000..68e2636d --- /dev/null +++ b/.docket/tickets/TKT-004.md @@ -0,0 +1,40 @@ +--- +id: TKT-004 +seq: 4 +state: done +priority: 2 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:26Z" +created_by: human:Leo Audibert +--- + +# TKT-004: M03 B02 - Write the islands runtime (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group B — JS Islands Architecture +**Original Task Code:** `M03 B02` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `frontend/javascript/vanilla/islands-runtime.js` (new), `app/views/web/components/core.templ` + +**Context:** Small vanilla JS (~30 lines) that discovers `[data-island]` elements, fetches the Vite manifest, dynamically imports the right chunk, and calls `mount(el, props)`. Must re-run after every HTMX swap. + +**What to do:** +1. Create `frontend/javascript/vanilla/islands-runtime.js`: + - Fetch `/static/islands-manifest.json` once on load, cache in module scope. + - On `DOMContentLoaded` and `htmx:afterSettle`: `querySelectorAll('[data-island]:not([data-island-mounted])')`. + - For each: mark `data-island-mounted="true"`, dynamic `import(manifestUrl)`, call `mount(el, JSON.parse(el.dataset.props || '{}'))`. + - Warn to console if island name not in manifest. +2. Add `` to `app/views/web/components/core.templ` JS block (after HTMX loads). +3. Do NOT remove existing `svelte_bundle.js` — both coexist during migration. + +**Done when:** Script exists and is included. Manual test: a `[data-island]` element correctly imports and mounts. Existing Svelte bundle still loads. + +--- + +## Acceptance Criteria +- [x] Script exists and is included. Manual test: a `[data-island]` element correctly imports and mounts. Existing Svelte bundle still loads. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-005.md b/.docket/tickets/TKT-005.md new file mode 100644 index 00000000..6ef1f61a --- /dev/null +++ b/.docket/tickets/TKT-005.md @@ -0,0 +1,41 @@ +--- +id: TKT-005 +seq: 5 +state: done +priority: 2 +blocked_by: + - TKT-003 + - TKT-004 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:31Z" +created_by: human:Leo Audibert +--- + +# TKT-005: M03 B03 - Migrate ThemeToggle to island pattern (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group B — JS Islands Architecture +**Original Task Code:** `M03 B03` +**Original Status:** `[x] done` +**Original Dependencies:** B01, B02 + +**Status:** `[x] done` +**Depends on:** B01, B02 +**Files:** `frontend/islands/ThemeToggle.svelte` (new), `app/views/web/components/theme_toggle.templ` + +**Context:** First island migration. Proves the pattern. Each island exports `mount(el, props)`. For Svelte: `export function mount(el, props) { new Component({ target: el, props }) }`. + +**What to do:** +1. Read current `ThemeToggle` Svelte component and its templ mounting code. +2. Create `frontend/islands/ThemeToggle.svelte` with component logic + `mount` export. +3. Update templ: replace `
+ @initThemeToggle(id)` with `
`. +4. Delete old `script` block for this component. +5. Run `make templ-gen`. Test in dev: theme toggle works. + +**Done when:** ThemeToggle works via islands runtime. Old `renderSvelteComponent('ThemeToggle', ...)` call is gone. + +--- + +## Acceptance Criteria +- [x] ThemeToggle works via islands runtime. Old `renderSvelteComponent('ThemeToggle', ...)` call is gone. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-006.md b/.docket/tickets/TKT-006.md new file mode 100644 index 00000000..db88de29 --- /dev/null +++ b/.docket/tickets/TKT-006.md @@ -0,0 +1,40 @@ +--- +id: TKT-006 +seq: 6 +state: done +priority: 2 +blocked_by: + - TKT-005 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:31Z" +created_by: human:Leo Audibert +--- + +# TKT-006: M03 B04 - Migrate remaining Svelte components to islands + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group B — JS Islands Architecture +**Original Task Code:** `M03 B04` +**Original Status:** `[x] done` +**Original Dependencies:** B03 (use as proven pattern) + +**Status:** `[x] done` +**Depends on:** B03 (use as proven pattern) +**Files:** All Svelte files in `frontend/javascript/svelte/`, corresponding templ files + +**Context:** Current registry components: `MultiSelectComponent`, `PhotoUploader`, `SingleSelect`, `PhoneNumberPicker`, `PwaInstallButton`, `PwaSubscribePush`, `NotificationPermissions`. Migrate each one following the ThemeToggle pattern from B03. Do one component per commit. + +**What to do:** For each component: +1. Read Svelte source + templ mounting code. +2. Create `frontend/islands/{ComponentName}.svelte` with `mount` export. +3. Update templ: `data-island` pattern, remove `script` block. +4. Test manually or via Playwright. +5. Commit. + +**Done when:** All components migrated. `window.renderSvelteComponent` is not called anywhere. + +--- + +## Acceptance Criteria +- [x] All components migrated. `window.renderSvelteComponent` is not called anywhere. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-007.md b/.docket/tickets/TKT-007.md new file mode 100644 index 00000000..8482dc4c --- /dev/null +++ b/.docket/tickets/TKT-007.md @@ -0,0 +1,38 @@ +--- +id: TKT-007 +seq: 7 +state: done +priority: 2 +blocked_by: + - TKT-006 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:31Z" +created_by: human:Leo Audibert +--- + +# TKT-007: M03 B05 - Remove old esbuild setup + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group B — JS Islands Architecture +**Original Task Code:** `M03 B05` +**Original Status:** `[x] done` +**Original Dependencies:** B04 + +**Status:** `[x] done` +**Depends on:** B04 +**Files:** `frontend/build.mjs`, `frontend/javascript/svelte/main.js`, `Makefile`, `package.json` + +**What to do:** +1. Delete `frontend/build.mjs` and `frontend/javascript/svelte/main.js` (registry file). +2. Remove esbuild from `package.json` devDependencies. +3. Remove `svelte_bundle.js` include from `app/views/web/components/core.templ`. +4. Update all `Makefile` targets that referenced old build commands. +5. Run `make js-build` and confirm clean build. + +**Done when:** No esbuild references remain. `make js-build` uses Vite exclusively. App compiles and runs. + +--- + +## Acceptance Criteria +- [x] No esbuild references remain. `make js-build` uses Vite exclusively. App compiles and runs. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-008.md b/.docket/tickets/TKT-008.md new file mode 100644 index 00000000..ef0736ef --- /dev/null +++ b/.docket/tickets/TKT-008.md @@ -0,0 +1,49 @@ +--- +id: TKT-008 +seq: 8 +state: done +priority: 2 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:26Z" +created_by: human:Leo Audibert +--- + +# TKT-008: M03 C01 - Define Module interface in framework (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group C — Module System +**Original Task Code:** `M03 C01` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `framework/core/interfaces.go` or new `framework/core/module.go` + +**Context:** All installable modules must implement a common interface. Read `docs/roadmap/02-architecture-evolution.md` section 2. + +**What to do:** +1. Read `framework/core/interfaces.go`. +2. Add: +```go +type Module interface { + ID() string + Migrations() fs.FS // embedded migration files; nil if none +} + +type RoutableModule interface { + Module + RegisterRoutes(r Router) error +} +``` +Where `Router` is a minimal interface over Echo group registration (define it here). +3. Additive only — do not change existing interfaces. +4. Run `go build ./...`. + +**Done when:** Interfaces defined, project compiles. + +--- + +## Acceptance Criteria +- [x] Interfaces defined, project compiles. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-009.md b/.docket/tickets/TKT-009.md new file mode 100644 index 00000000..27bfeae7 --- /dev/null +++ b/.docket/tickets/TKT-009.md @@ -0,0 +1,44 @@ +--- +id: TKT-009 +seq: 9 +state: done +priority: 2 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:26Z" +created_by: human:Leo Audibert +--- + +# TKT-009: M03 C02 - Standardize marker comments in router and container (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group C — Module System +**Original Task Code:** `M03 C02` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `app/router.go`, `app/foundation/container.go` + +**Context:** Marker comments are insertion points for `ship module:add`. Some exist already; standardize and extend. + +**What to do:** +1. In `app/router.go`, ensure these exist at correct positions (add if missing): + ```go + // ship:routes:public:start / ship:routes:public:end + // ship:routes:auth:start / ship:routes:auth:end + // ship:routes:external:start / ship:routes:external:end + ``` +2. In `app/foundation/container.go`, add: + ```go + // ship:container:start / ship:container:end + ``` +3. Logic unchanged — comment additions only. + +**Done when:** All markers exist in both files. `go build ./...` passes. + +--- + +## Acceptance Criteria +- [x] All markers exist in both files. `go build ./...` passes. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-010.md b/.docket/tickets/TKT-010.md new file mode 100644 index 00000000..cfb15be6 --- /dev/null +++ b/.docket/tickets/TKT-010.md @@ -0,0 +1,43 @@ +--- +id: TKT-010 +seq: 10 +state: done +priority: 2 +blocked_by: + - TKT-008 + - TKT-009 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:31Z" +created_by: human:Leo Audibert +--- + +# TKT-010: M03 C03 - Implement `ship module:add` CLI command + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group C — Module System +**Original Task Code:** `M03 C03` +**Original Status:** `[x] done` +**Original Dependencies:** C01, C02 + +**Status:** `[x] done` +**Depends on:** C01, C02 +**Files:** `tools/cli/ship/internal/commands/module.go` (new), `tools/cli/ship/internal/cli/cli.go` + +**Context:** `ship module:add ` installs a module by inserting wiring at marker comments in container + router and updating `config/modules.yaml`. Supported initially: `notifications`, `paidsubscriptions`, `emailsubscriptions`, `jobs`, `pwa`, `admin`. + +**What to do:** +1. Read an existing generator (e.g., `make:controller`) for the marker-insertion pattern. +2. Create `module.go` with `module:add ` subcommand: + - For each known module: define import, container init line, and route registration line to insert. + - Insert at `ship:container:start` and `ship:routes:*:start` markers. + - Update `config/modules.yaml`. +3. Add `--dry-run` flag (prints diff, writes nothing). +4. Register in `cli.go`. + +**Done when:** `ship module:add notifications --dry-run` shows correct diff. `ship module:add notifications` correctly wires (verify by reading modified files). `go build ./...` passes. + +--- + +## Acceptance Criteria +- [x] `ship module:add notifications --dry-run` shows correct diff. `ship module:add notifications` correctly wires (verify by reading modified files). `go build ./...` passes. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-011.md b/.docket/tickets/TKT-011.md new file mode 100644 index 00000000..714a08c6 --- /dev/null +++ b/.docket/tickets/TKT-011.md @@ -0,0 +1,33 @@ +--- +id: TKT-011 +seq: 11 +state: done +priority: 2 +blocked_by: + - TKT-010 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:31Z" +created_by: human:Leo Audibert +--- + +# TKT-011: M03 C04 - Implement `ship module:remove` CLI command + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group C — Module System +**Original Task Code:** `M03 C04` +**Original Status:** `[x] done` +**Original Dependencies:** C03 + +**Status:** `[x] done` +**Depends on:** C03 +**Files:** `tools/cli/ship/internal/commands/module.go` + +**Context:** Reverse of C03. Print a reminder that DB migrations are NOT rolled back automatically. + +**Done when:** `ship module:remove notifications` removes wiring. Compile passes. Reminder printed about migrations. + +--- + +## Acceptance Criteria +- [x] `ship module:remove notifications` removes wiring. Compile passes. Reminder printed about migrations. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-012.md b/.docket/tickets/TKT-012.md new file mode 100644 index 00000000..8338a4f0 --- /dev/null +++ b/.docket/tickets/TKT-012.md @@ -0,0 +1,42 @@ +--- +id: TKT-012 +seq: 12 +state: done +priority: 2 +blocked_by: + - TKT-002 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:38:35Z" +created_by: human:Leo Audibert +--- + +# TKT-012: M03 C05 - Add `ship_doctor`, `ship_routes`, `ship_modules` to MCP server (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group C — Module System +**Original Task Code:** `M03 C05` +**Original Status:** `[ ] todo` +**Original Dependencies:** A02 + +**Status:** `[ ] todo` +**Depends on:** A02 +**Files:** `tools/mcp/ship/` + +**Context:** Expand MCP from 3 read-only tools to include verification and inspection. These enable the LLM act→verify→fix loop. See `docs/roadmap/02-architecture-evolution.md` section 4. + +**What to do:** +1. Read `tools/mcp/ship/` fully. +2. Add: + - `ship_doctor`: runs `ship doctor --json`, returns parsed JSON. + - `ship_routes`: parses `app/router.go` AST to extract route inventory, returns `[{method, path, auth, handler}]`. + - `ship_modules`: reads `config/modules.yaml` + scans `modules/`, returns installed + available modules. +3. Each tool: clear description, input/output schema documented. + +**Done when:** Three new tools exist, return valid JSON, existing tools unchanged. + +--- + +## Acceptance Criteria +- [x] Three new tools exist, return valid JSON, existing tools unchanged. : Verified existing ship_doctor/ship_routes/ship_modules MCP tools and passed go test ./tools/mcp/ship/internal/server + diff --git a/.docket/tickets/TKT-013.md b/.docket/tickets/TKT-013.md new file mode 100644 index 00000000..7fcf3ce3 --- /dev/null +++ b/.docket/tickets/TKT-013.md @@ -0,0 +1,39 @@ +--- +id: TKT-013 +seq: 13 +state: done +priority: 2 +blocked_by: + - TKT-008 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:31Z" +created_by: human:Leo Audibert +--- + +# TKT-013: M03 D01 - Extract auth controllers into `modules/auth` + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group D — Module Extraction +**Original Task Code:** `M03 D01` +**Original Status:** `[x] done` +**Original Dependencies:** C01 + +**Status:** `[x] done` +**Depends on:** C01 +**Files:** `app/web/controllers/login.go`, `register.go`, `logout.go`, `forgot_password.go`, new `modules/auth/` + +**What to do:** +1. Read all four controllers + their templ views. +2. Create `modules/auth/`: `module.go` (ID: "auth"), `routes.go`, `service.go`, `views/`. +3. Move handler logic and templ views into the module. +4. `app/router.go`: call `authModule.RegisterRoutes(...)` instead of direct registration. +5. Delete original controllers. +6. `go build ./...` + `make test`. + +**Done when:** Auth routes work via module. Old controllers deleted. Tests pass. + +--- + +## Acceptance Criteria +- [x] Auth routes work via module. Old controllers deleted. Tests pass. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-014.md b/.docket/tickets/TKT-014.md new file mode 100644 index 00000000..3c9d0188 --- /dev/null +++ b/.docket/tickets/TKT-014.md @@ -0,0 +1,33 @@ +--- +id: TKT-014 +seq: 14 +state: done +priority: 2 +blocked_by: + - TKT-008 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:08:31Z" +created_by: human:Leo Audibert +--- + +# TKT-014: M03 D02 - Extract profile into `modules/profile` + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group D — Module Extraction +**Original Task Code:** `M03 D02` +**Original Status:** `[x] done` +**Original Dependencies:** C01 + +**Status:** `[x] done` +**Depends on:** C01 +**Files:** `app/profile/`, `app/web/controllers/profile.go`, `profile_photo.go`, `upload_photo.go`, new `modules/profile/` + +**What to do:** Same pattern as D01. Module brings: `service.go` (wraps profile domain logic), `store.go`/`store_sql.go`, `routes.go`, `views/`. + +**Done when:** Profile routes work via module. Tests pass. + +--- + +## Acceptance Criteria +- [x] Profile routes work via module. Tests pass. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-015.md b/.docket/tickets/TKT-015.md new file mode 100644 index 00000000..3f8dcfaa --- /dev/null +++ b/.docket/tickets/TKT-015.md @@ -0,0 +1,34 @@ +--- +id: TKT-015 +seq: 15 +state: done +priority: 2 +blocked_by: + - TKT-008 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:38:35Z" +created_by: human:Leo Audibert +--- + +# TKT-015: M03 D03 - Move paidsubscriptions route handler into module + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group D — Module Extraction +**Original Task Code:** `M03 D03` +**Original Status:** `[ ] todo` +**Original Dependencies:** C01 + +**Status:** `[ ] todo` +**Depends on:** C01 +**Files:** `app/web/controllers/payments.go` → `modules/paidsubscriptions/routes.go` (new) + +**What to do:** Move handler into module. Implement `RoutableModule`. Update router. Delete old controller. + +**Done when:** Payments routes work via module. Old controller deleted. + +--- + +## Acceptance Criteria +- [x] Payments routes work via module. Old controller deleted. : Moved payment routes to modules/paidsubscriptions/routes, rewired router, deleted app/web/controllers/payments.go, and passed focused package tests + diff --git a/.docket/tickets/TKT-016.md b/.docket/tickets/TKT-016.md new file mode 100644 index 00000000..6ed78fef --- /dev/null +++ b/.docket/tickets/TKT-016.md @@ -0,0 +1,42 @@ +--- +id: TKT-016 +seq: 16 +state: done +priority: 2 +blocked_by: + - TKT-008 +created_at: "2026-03-11T02:08:26Z" +updated_at: "2026-03-11T02:38:35Z" +created_by: human:Leo Audibert +--- + +# TKT-016: M03 D04 - Move notifications route handlers into module + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group D — Module Extraction +**Original Task Code:** `M03 D04` +**Original Status:** `[ ] todo` +**Original Dependencies:** C01 + +**Status:** `[ ] todo` +**Depends on:** C01 +**Files:** `app/web/controllers/notifications.go`, `push_notifs.go` → `modules/notifications/routes.go` (new) + +**Context:** Follow the same extraction pattern used for auth/profile module work: move route handlers into `modules/notifications`, keep the module implementing `RoutableModule`, and remove the app-layer controller ownership once routing is re-registered through the module. + +**What to do:** +1. Read the existing notification route wiring and both controllers end to end before moving code. +2. Create `modules/notifications/routes.go` and move the HTTP handlers there. +3. Implement `RoutableModule` on the notifications module if it is not already routable. +4. Update router registration so notification endpoints are mounted from the module, not from `app/web/controllers/`. +5. Delete the old controller files once the module owns the routes. +6. Run targeted route/module tests and a compile check. + +**Done when:** Notification routes work via module. Old controllers deleted. + +--- + +## Acceptance Criteria +- [x] Notification routes work via module. Old controllers deleted. : Moved notification and push-subscription routes to modules/notifications/routes, rewired router, deleted old controller files, and passed focused package tests + diff --git a/.docket/tickets/TKT-017.md b/.docket/tickets/TKT-017.md new file mode 100644 index 00000000..7f307c82 --- /dev/null +++ b/.docket/tickets/TKT-017.md @@ -0,0 +1,42 @@ +--- +id: TKT-017 +seq: 17 +state: done +priority: 2 +blocked_by: + - TKT-008 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T03:28:00Z" +created_by: human:Leo Audibert +--- + +# TKT-017: M03 D05 - Create `modules/pwa` + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group D — Module Extraction +**Original Task Code:** `M03 D05` +**Original Status:** `[ ] todo` +**Original Dependencies:** C01 + +**Status:** `[ ] todo` +**Depends on:** C01 +**Files:** `app/web/controllers/install_app.go`, PWA templ components, service worker, manifest → `modules/pwa/` + +**What to do:** Create `modules/pwa/` with `module.go` (ID: "pwa"), `routes.go`, `views/`, static assets (manifest template, service worker). Delete originals. + +**Done when:** PWA install flow works via module. Old files deleted. + +--- + +## Acceptance Criteria +- [x] PWA install flow works via module. Old files deleted. + +## Implementation Notes +- Moved the install page route, page template, install button components, manifest, and service worker into `modules/pwa/`. +- Added `RegisterStaticRoutes` on the PWA module so `/service-worker.js` and `/files/manifest.json` are served from module-owned assets. +- Updated app templates to import the PWA install button components from `modules/pwa/views/...`. +- Deleted the old app-layer controller, templ files, and generated templ artifacts. + +## Verification +- `go test ./modules/pwa ./app ./app/web/controllers ./tools/mcp/ship/internal/server ./modules/notifications/... ./modules/paidsubscriptions/...` diff --git a/.docket/tickets/TKT-018.md b/.docket/tickets/TKT-018.md new file mode 100644 index 00000000..55ba55c0 --- /dev/null +++ b/.docket/tickets/TKT-018.md @@ -0,0 +1,50 @@ +--- +id: TKT-018 +seq: 18 +state: done +priority: 2 +blocked_by: + - TKT-013 + - TKT-014 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T03:29:00Z" +created_by: human:Leo Audibert +--- + +# TKT-018: M03 E01 - Create `starter/` minimal skeleton + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group E — App Split: Landing vs Starter +**Original Task Code:** `M03 E01` +**Original Status:** `[ ] todo` +**Original Dependencies:** D01, D02 + +**Status:** `[ ] todo` +**Depends on:** D01, D02 +**Files:** new `starter/` directory + +**Context:** Minimal app used by `ship new`. Auth + profile + home feed only. No payments, push, PWA by default. + +**What to do:** +1. Create `starter/` mirroring `app/` structure: `router.go`, `foundation/container.go`, `views/web/pages/home_feed.templ`, `views/web/pages/landing.templ`. +2. Include only auth + profile modules. +3. Ensure `go build ./...` from `starter/`. +4. Write `starter/README.md`: "Minimal GoShip starter. Add modules with `ship module:add`." + +**Done when:** `starter/` compiles. Contains only auth + profile + home feed. + +--- + +## Acceptance Criteria +- [x] `starter/` compiles. Contains only auth + profile + home feed. + +## Implementation Notes +- Added a minimal `starter/` tree with `app/router.go`, `app/foundation/container.go`, `app/views/web/pages/home_feed.templ`, `app/views/web/pages/landing.templ`, route-name constants, and a stub `cmd/web/main.go`. +- Scoped the starter container and `config/modules.yaml` to `auth` and `profile` only. +- Added `starter/README.md` with the module-add guidance from the roadmap. +- Added a starter router test to lock the default module boundary. + +## Verification +- `cd starter && go build ./...` +- `go test ./starter/...` diff --git a/.docket/tickets/TKT-019.md b/.docket/tickets/TKT-019.md new file mode 100644 index 00000000..33898716 --- /dev/null +++ b/.docket/tickets/TKT-019.md @@ -0,0 +1,47 @@ +--- +id: TKT-019 +seq: 19 +state: done +priority: 2 +blocked_by: + - TKT-018 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T07:10:00Z" +created_by: human:Leo Audibert +--- + +# TKT-019: M03 E02 - Wire `ship new` to use `starter/` as template + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group E — App Split: Landing vs Starter +**Original Task Code:** `M03 E02` +**Original Status:** `[ ] todo` +**Original Dependencies:** E01 + +**Status:** `[ ] todo` +**Depends on:** E01 +**Files:** `tools/cli/ship/internal/commands/new.go` + +**What to do:** +1. Read current `ship new` implementation. +2. Update to template from `starter/` (embedded in binary or fetched). +3. Replace placeholder names in generated files. +4. Print post-install: `cd myapp && ship module:add && make run`. + +**Done when:** `ship new testapp` generates working minimal app from starter. + +--- + +## Acceptance Criteria +- [x] `ship new testapp` generates working minimal app from starter. + +## Implementation Notes +- Switched `ship new` from the handwritten app/router/container scaffold to an embedded copy of `starter/`. +- Added starter template embedding in `starter/embed.go` and added route/container marker comments to the starter sources used by the generator. +- Kept the repo's supporting scaffold files (`db/`, docs, controller/middleware/ui placeholders, agent policy files) so generated projects still satisfy `ship doctor`. +- Added placeholder rewriting for module import paths and a post-install hint: `cd && ship module:add && make run`. + +## Verification +- `go test ./tools/cli/ship/internal/commands ./starter/...` +- `ship doctor` passes on the generated fixture project in `project_new_integration_test.go` diff --git a/.docket/tickets/TKT-020.md b/.docket/tickets/TKT-020.md new file mode 100644 index 00000000..814faec2 --- /dev/null +++ b/.docket/tickets/TKT-020.md @@ -0,0 +1,64 @@ +--- +id: TKT-020 +seq: 20 +state: done +priority: 2 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T20:41:31Z" +created_by: human:Leo Audibert +--- + +# TKT-020: M03 G01 - Replace Viper with cleanenv struct-tag config + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group G — Config: Drop Viper, Adopt cleanenv + `.env` +**Original Task Code:** `M03 G01` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `config/config.go`, `go.mod`, all files importing `viper` + +**Context:** Viper's multi-source merging creates "too many layers" pain (YAML → env override → Go). Replace with `cleanenv` (`github.com/ilyakaznacheev/cleanenv`) which reads directly from env vars into struct tags. One dependency, one source of truth. + +**Chosen library:** `cleanenv` — handles struct tags, .env loading, required validation, defaults, and auto-generates help text. No separate godotenv needed. + +**What to do:** +1. Run `grep -rn "viper" .` to find all usages. +2. `go get github.com/ilyakaznacheev/cleanenv`. +3. Rewrite `config/config.go`: convert all config fields to cleanenv struct tags: + ```go + type Config struct { + DatabaseURL string `env:"DATABASE_URL,required"` + SecretKey string `env:"SECRET_KEY,required"` + Port int `env:"PORT" env-default:"8080"` + SMTPHost string `env:"SMTP_HOST"` + RedisURL string `env:"REDIS_URL"` + // ... + } + ``` +4. Replace `config.Load()` / viper init with: + ```go + func Load() (*Config, error) { + cfg := &Config{} + if err := cleanenv.ReadEnv(cfg); err != nil { + return nil, err + } + return cfg, nil + } + ``` +5. Remove viper from `go.mod`. +6. Update `app/foundation/container.go` to use new config loader. +7. Run `go build ./...` and `make test`. + +**Done when:** Viper is removed from `go.mod`. Config loads from env vars via cleanenv. All tests pass. + +--- + +## Acceptance Criteria +- [x] Viper is removed from `go.mod`. Config loads from env vars via cleanenv. All tests pass. + +## Handoff +Migration from Viper to cleanenv completed. Config now loads from env vars. diff --git a/.docket/tickets/TKT-021.md b/.docket/tickets/TKT-021.md new file mode 100644 index 00000000..994760fb --- /dev/null +++ b/.docket/tickets/TKT-021.md @@ -0,0 +1,59 @@ +--- +id: TKT-021 +seq: 21 +state: done +priority: 2 +blocked_by: + - TKT-020 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T08:43:00Z" +created_by: human:Leo Audibert +--- + +# TKT-021: M03 G02 - Add `.env` file loading + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group G — Config: Drop Viper, Adopt cleanenv + `.env` +**Original Task Code:** `M03 G02` +**Original Status:** `[ ] todo` +**Original Dependencies:** G01 + +**Status:** `[ ] todo` +**Depends on:** G01 +**Files:** `config/config.go`, `.env.example` (new), `.gitignore` + +**Context:** cleanenv supports loading from `.env` files via `cleanenv.ReadConfig(".env", cfg)` before `ReadEnv`. The `.env` file is gitignored; `.env.example` is committed. + +**What to do:** +1. Update config loader to: + ```go + func Load() (*Config, error) { + cfg := &Config{} + _ = cleanenv.ReadConfig(".env", cfg) // load .env if exists, ignore error if not + if err := cleanenv.ReadEnv(cfg); err != nil { + return nil, err + } + return cfg, nil + } + ``` +2. Create `.env.example` with every key from the Config struct, empty values, and comments explaining each. +3. Add `.env` to `.gitignore` (it may already be there — verify). +4. Update `docs/guides/02-development-workflows.md`: "Copy `.env.example` to `.env` and fill in values before running locally." + +**Done when:** `.env.example` exists with all keys. `config.Load()` reads `.env` if present. `.env` is gitignored. + +--- + +## Acceptance Criteria +- [x] `.env.example` exists with all keys. `config.Load()` reads `.env` if present. `.env` is gitignored. + +## Implementation Notes +- `config.GetConfig()` now searches upward for `.env`, loads it with `cleanenv.ReadConfig`, then overlays shell env vars with `cleanenv.ReadEnv`. +- Added `config/envvars.go` to enumerate the config contract from `Config` so the app and CLI can share the same env metadata. +- Added committed `.env.example` with the full primary `PAGODA_*` surface plus the optional CLI `DATABASE_URL` override. +- Confirmed `.env` was already ignored and updated local workflow docs to make `.env.example -> .env` the expected setup path. + +## Verification +- `go test ./config` +- `go run ./tools/cli/ship/cmd/ship config:validate --json` diff --git a/.docket/tickets/TKT-022.md b/.docket/tickets/TKT-022.md new file mode 100644 index 00000000..a4ac833f --- /dev/null +++ b/.docket/tickets/TKT-022.md @@ -0,0 +1,51 @@ +--- +id: TKT-022 +seq: 22 +state: done +priority: 2 +blocked_by: + - TKT-020 + - TKT-021 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T08:44:00Z" +created_by: human:Leo Audibert +--- + +# TKT-022: M03 G03 - Remove YAML config files + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group G — Config: Drop Viper, Adopt cleanenv + `.env` +**Original Task Code:** `M03 G03` +**Original Status:** `[ ] todo` +**Original Dependencies:** G01, G02 + +**Status:** `[ ] todo` +**Depends on:** G01, G02 +**Files:** `config/application.yaml`, `config/environments/`, all code reading YAML config + +**Context:** With cleanenv + .env, YAML config is redundant. Non-secret structural config (feature flags, module list) can live in env vars too, or in a minimal `config/modules.yaml` that is committed (not secret). + +**What to do:** +1. Identify any config that was YAML-only and has no env var equivalent — add struct tags for those. +2. Delete `config/application.yaml` and `config/environments/` if all values are now in struct tags with defaults. +3. Keep `config/modules.yaml` only if it serves a structural purpose distinct from secrets. +4. Update any `make` targets or docs that reference YAML config files. + +**Done when:** No YAML config files for secrets or application settings. All config comes from `.env` + struct tag defaults. `go build` + tests pass. + +--- + +## Acceptance Criteria +- [x] No YAML config files for secrets or application settings. All config comes from `.env` + struct tag defaults. `go build` + tests pass. + +## Implementation Notes +- Removed `config/application.yaml`, `config/processes.yaml`, and the `config/environments/*.yaml` files. +- Reworked `tools/cli/ship/internal/runtime/paths.go` so DB URL resolution now uses `.env` / shell env values plus `config.GetConfig()` instead of YAML parsing. +- Updated DB command environment safety to respect the resolved app environment via the new runtime helper. +- Removed Docker image copies of deleted YAML config files and updated current-repo docs that still described YAML/Viper as the active config path. + +## Verification +- `go test ./tools/cli/ship/internal/commands ./tools/cli/ship/internal/cli ./tools/cli/ship/internal/runtime ./tools/cli/ship/internal/policies` +- `go test ./cmd/web ./cmd/worker ./app/foundation` +- `go run ./tools/cli/ship/cmd/ship doctor --json` diff --git a/.docket/tickets/TKT-023.md b/.docket/tickets/TKT-023.md new file mode 100644 index 00000000..eefd7fcf --- /dev/null +++ b/.docket/tickets/TKT-023.md @@ -0,0 +1,49 @@ +--- +id: TKT-023 +seq: 23 +state: done +priority: 2 +blocked_by: + - TKT-020 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T08:45:00Z" +created_by: human:Leo Audibert +--- + +# TKT-023: M03 G04 - Add `ship config:validate` command + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group G — Config: Drop Viper, Adopt cleanenv + `.env` +**Original Task Code:** `M03 G04` +**Original Status:** `[ ] todo` +**Original Dependencies:** G01 + +**Status:** `[ ] todo` +**Depends on:** G01 +**Files:** `tools/cli/ship/internal/commands/config.go` (new) + +**Context:** cleanenv can generate a description of all config fields (required/optional, defaults). Expose this as a CLI command and add to `ship doctor`. + +**What to do:** +1. Add `ship config:validate` that calls `cleanenv.GetDescription(&Config{}, nil)` and prints the table. +2. Add `--json` flag. +3. Integrate into `ship doctor` check: if any required env var is missing, `ship doctor` reports it as an error. + +**Done when:** `ship config:validate` lists all env vars with required/optional status. Missing required vars appear in `ship doctor` output. + +--- + +## Acceptance Criteria +- [x] `ship config:validate` lists all env vars with required/optional status. Missing required vars appear in `ship doctor` output. + +## Implementation Notes +- Added `ship config:validate` in `tools/cli/ship/internal/commands/config.go` with both human-readable table output and `--json`. +- Wired the new namespace into the CLI dispatcher and root help output. +- `ship doctor` now checks the shared config env metadata and will emit `DX022` errors if any env var is marked required in `config.Config` and missing from the shell plus `.env`. +- Added CLI command tests and dispatch coverage for the new command. + +## Verification +- `go test ./tools/cli/ship/internal/commands ./tools/cli/ship/internal/cli ./tools/cli/ship/internal/policies` +- `go run ./tools/cli/ship/cmd/ship config:validate --json` +- `go run ./tools/cli/ship/cmd/ship doctor --json` diff --git a/.docket/tickets/TKT-024.md b/.docket/tickets/TKT-024.md new file mode 100644 index 00000000..889f2dc7 --- /dev/null +++ b/.docket/tickets/TKT-024.md @@ -0,0 +1,46 @@ +--- +id: TKT-024 +seq: 24 +state: done +priority: 2 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T09:22:00Z" +created_by: human:Leo Audibert +--- + +# TKT-024: M03 H01 - Add recovery middleware to Echo (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group H — Nil Safety Architecture +**Original Task Code:** `M03 H01` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `app/web/wiring.go` or wherever global middleware is registered + +**Context:** Recovery middleware catches panics in any request, logs them with stack trace, and returns a 500 — the app stays alive for all other users. + +**What to do:** +1. Read the middleware registration file. +2. Add `e.Use(middleware.RecoverWithConfig(middleware.RecoverConfig{ LogErrorFunc: ... }))` as the FIRST middleware (must wrap everything). +3. `LogErrorFunc` should use the existing structured logger to emit the panic + stack trace. +4. Test: introduce a deliberate panic in a test route, verify the app returns 500 and stays running. + +**Done when:** App does not crash on panics. Stack trace is logged. Returns 500 to the panicking request only. + +--- + +## Acceptance Criteria +- [x] App does not crash on panics. Stack trace is logged. Returns 500 to the panicking request only. + +## Implementation Notes +- Replaced the bare Echo `Recover()` middleware with `middleware.RecoverPanics(...)`, a `RecoverWithConfig` wrapper that logs structured panic data including request method, path, and stack trace. +- Recovery is now installed first in the main, realtime, and external middleware stacks so it wraps timeout, gzip, auth/session, and downstream handlers. +- Added a middleware-level test that hits a deliberate panic route, asserts a 500 response, then confirms a healthy route still returns 200 afterward. + +## Verification +- `go test ./app/web/middleware ./app/web` +- `go test ./cmd/web` diff --git a/.docket/tickets/TKT-025.md b/.docket/tickets/TKT-025.md new file mode 100644 index 00000000..499cdc07 --- /dev/null +++ b/.docket/tickets/TKT-025.md @@ -0,0 +1,50 @@ +--- +id: TKT-025 +seq: 25 +state: done +priority: 2 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T09:23:00Z" +created_by: human:Leo Audibert +--- + +# TKT-025: M03 H02 - Add `nilaway` to CI and `ship doctor` (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group H — Nil Safety Architecture +**Original Task Code:** `M03 H02` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `.github/workflows/` (CI), `tools/cli/ship/internal/commands/` (doctor) + +**Context:** `nilaway` (Uber) statically traces nil flows across function boundaries — catches nil derefs before they hit production. + +**What to do:** +1. Add to CI: + ```yaml + - name: nilaway + run: go run go.uber.org/nilaway/cmd/nilaway@latest ./... + ``` +2. Add to `ship doctor`: run `nilaway ./...` and parse output for issues. Report as warnings (not errors) initially until existing codebase is clean. +3. Document in `docs/guides/01-ai-agent-guide.md` under "Nil Safety" section. + +**Done when:** `nilaway` runs in CI. `ship doctor` surfaces nil issues as warnings. + +--- + +## Acceptance Criteria +- [x] `nilaway` runs in CI. `ship doctor` surfaces nil issues as warnings. + +## Implementation Notes +- Added a dedicated `Nilaway` step to `.github/workflows/test.yml` using `go run go.uber.org/nilaway/cmd/nilaway@latest ./...`. +- Extended `ship doctor` to run `nilaway ./...` when the binary is available locally, parse its output into `DX025` warning issues, and keep the overall doctor result non-failing for analyzer findings. +- Added policy tests that stub `nilaway` on and off so doctor remains stable regardless of the local machine environment. +- Documented the nil-safety expectation in `docs/guides/01-ai-agent-guide.md`. + +## Verification +- `go test ./tools/cli/ship/internal/policies` +- `go run ./tools/cli/ship/cmd/ship doctor --json` diff --git a/.docket/tickets/TKT-026.md b/.docket/tickets/TKT-026.md new file mode 100644 index 00000000..29841eaa --- /dev/null +++ b/.docket/tickets/TKT-026.md @@ -0,0 +1,62 @@ +--- +id: TKT-026 +seq: 26 +state: done +priority: 2 +blocked_by: + - TKT-024 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T14:07:36Z" +created_by: human:Leo Audibert +--- + +# TKT-026: M03 H03 - Audit and enforce value-type viewmodels + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group H — Nil Safety Architecture +**Original Task Code:** `M03 H03` +**Original Status:** `[ ] todo` +**Original Dependencies:** H01 (recovery middleware should be in first) + +**Status:** `[ ] todo` +**Depends on:** H01 (recovery middleware should be in first) +**Files:** `app/web/viewmodels/`, all templ components + +**Context:** The root cause of most nil panics in templ: domain model pointers flowing directly into templates. Viewmodels must be pure value types — no pointer fields. + +**Convention:** +- Domain models (`db/gen/`, `framework/domain/`) may have pointers for nullable DB columns. +- Viewmodels (`app/web/viewmodels/`) must have **zero pointer fields**. Use `sql.NullString`, zero values, or custom `Option[T]` for optional data. +- Templ component signatures must accept viewmodel types (or primitives), never `*DomainModel`. +- Controllers own the domain → viewmodel transformation and all nil handling. + +**What to do:** +1. Read all files in `app/web/viewmodels/`. +2. For each struct: replace any pointer field (`*string`, `*int`, `*SomeStruct`) with a value equivalent: + - `*string` → `string` (empty string = absent) + - `*int` → `int` (zero = absent), or `sql.NullInt64` if you need to distinguish zero from absent + - `*NestedStruct` → `NestedStruct` (zero value struct) +3. For each templ component that accepts a `*DomainModel` directly: introduce a viewmodel and update the component signature. +4. Update all controllers that feed into those components to do the transformation. +5. Add a note in `docs/guides/01-ai-agent-guide.md` under "Nil Safety" codifying this as a permanent convention. + +**Done when:** `grep -rn '\*[A-Z]' app/web/viewmodels/` returns no pointer fields. All affected templ components updated. Tests pass. + +--- + +## Acceptance Criteria +- [x] `grep -rn '\*[A-Z]' app/web/viewmodels/` returns no pointer fields. All affected templ components updated. Tests pass. + +## Implementation Notes +- Replaced pointer-backed notification, preferences, payments, and page-data viewmodel fields with value fields plus explicit `Has...` booleans where optional state is needed. +- Added a notification viewmodel mapper so notification templates render `viewmodels.NotificationItem` values instead of domain models or slices of pointers. +- Updated preferences and notifications templ components to consume value viewmodels only, including string-based subscription expiry handling. +- Added `app/web/viewmodels/value_types_test.go` to fail the build if any struct in `app/web/viewmodels` gains a pointer field or a slice/map/chan/function type containing pointers. +- Documented the permanent viewmodel nil-safety rule in `docs/guides/01-ai-agent-guide.md`. + +## Verification +- `make templ-gen` +- `rg -n '\*[A-Z]' app/web/viewmodels` +- `go test ./app/web/viewmodels ./app/web/controllers ./modules/notifications/routes ./modules/paidsubscriptions/routes ./cmd/web` +- `go test ./tools/cli/ship/internal/policies` diff --git a/.docket/tickets/TKT-027.md b/.docket/tickets/TKT-027.md new file mode 100644 index 00000000..4b783442 --- /dev/null +++ b/.docket/tickets/TKT-027.md @@ -0,0 +1,62 @@ +--- +id: TKT-027 +seq: 27 +state: done +priority: 2 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T14:19:00Z" +created_by: human:Leo Audibert +--- + +# TKT-027: M03 H04 - Add nil-safe accessor methods to domain models + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group H — Nil Safety Architecture +**Original Task Code:** `M03 H04` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `framework/domain/`, `db/gen/` + +**Context:** For places where domain model pointers genuinely must be used (e.g., loading from DB before transformation), add nil-safe accessor methods. Go methods on nil pointer receivers are legal if they guard immediately. + +**What to do:** +1. For every domain model struct that has pointer fields, add accessor methods: + ```go + func (u *User) DisplayName() string { + if u == nil { return "" } + if u.Name == nil { return "" } + return *u.Name + } + ``` +2. Add a shared helper in `framework/`: + ```go + func StringOr(s *string, def string) string { + if s == nil { return def } + return *s + } + ``` +3. Replace all `*s` dereferences outside of viewmodel transformers with these safe accessors. + +**Done when:** No bare `*ptr` dereferences exist outside of viewmodel transformer functions. `nilaway` passes cleanly on domain model files. + +--- + +## Acceptance Criteria +- [x] No bare `*ptr` dereferences exist outside of viewmodel transformer functions. `nilaway` passes cleanly on domain model files. + +## Implementation Notes +- Added `framework/nullable.StringOr` for nil-safe string fallback handling. +- Added nil-safe accessor methods for every current nullable field in `framework/domain/struct.go`: + `Question.VotedAt`, `Author.ProfileImage`, `Answer.SeenAt`, `PrivateMessage.SeenAt`, and `Profile.PhoneNumberInternational` / `Profile.ProfileImage`. +- Replaced live UI dereferences in `app/views/web/components/profile.templ` with domain accessors so templates no longer dereference nullable domain fields directly. +- Added focused domain tests covering nil receivers and populated values for the new accessors. + +## Verification +- `make templ-gen` +- `go test ./framework/domain ./framework/nullable ./modules/profile ./app/views/web/components/... ./cmd/web` +- `rg -n '\*.*PhoneNumberInternational|\*.*ProfileImage|\*.*SeenAt|\*.*VotedAt' app modules framework -g '!**/*_test.go' -g '!**/gen/*.go' | grep -v '/framework/domain/struct.go:'` +- `go run go.uber.org/nilaway/cmd/nilaway@latest ./framework/domain/...` diff --git a/.docket/tickets/TKT-028.md b/.docket/tickets/TKT-028.md new file mode 100644 index 00000000..b1afff09 --- /dev/null +++ b/.docket/tickets/TKT-028.md @@ -0,0 +1,53 @@ +--- +id: TKT-028 +seq: 28 +state: done +priority: 2 +blocked_by: + - TKT-026 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T14:21:08Z" +created_by: human:Leo Audibert +--- + +# TKT-028: M03 H05 - Viewmodel constructor functions + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group H — Nil Safety Architecture +**Original Task Code:** `M03 H05` +**Original Status:** `[ ] todo` +**Original Dependencies:** H03 + +**Status:** `[ ] todo` +**Depends on:** H03 +**Files:** `app/web/viewmodels/` + +**Context:** Viewmodels should always be initialized via constructors that guarantee all fields are set. This prevents "forgot to set a field" nil panics. + +**What to do:** +1. For each viewmodel struct in `app/web/viewmodels/`, add a constructor: + ```go + func NewHomeFeedData(user User, items []FeedItem) HomeFeedData { + if items == nil { items = []FeedItem{} } + return HomeFeedData{User: user, Items: items} + } + ``` +2. Update all controllers to use constructors instead of struct literals. +3. Convention: viewmodel struct literals (`HomeFeedData{...}`) are only allowed inside their own constructor. Everywhere else must use `NewHomeFeedData(...)`. + +**Done when:** Every viewmodel has a constructor. Controllers use constructors. `go build` + tests pass. + +--- + +## Acceptance Criteria +- [x] Every viewmodel has a constructor. Controllers use constructors. `go build` + tests pass. + +## Implementation Notes +- Added `app/web/viewmodels/constructors.go` with `New...` constructors for every struct in `app/web/viewmodels`, normalizing slice-backed fields to empty slices where applicable. +- Updated controllers, module routes, mail tasks, and capability configuration to construct viewmodels via constructors instead of raw `viewmodels.X{}` literals. +- Added `app/web/viewmodels/constructors_test.go` to enforce both requirements: + constructor coverage for every viewmodel struct, and no external `viewmodels.X{}` composite literals in `app/` or `modules/`. + +## Verification +- `go test ./app/web/viewmodels ./app/web/controllers ./app/web/capabilities ./app/jobs ./modules/auth ./modules/notifications/routes ./modules/paidsubscriptions/routes ./modules/profile ./cmd/web` diff --git a/.docket/tickets/TKT-029.md b/.docket/tickets/TKT-029.md new file mode 100644 index 00000000..af3b8a77 --- /dev/null +++ b/.docket/tickets/TKT-029.md @@ -0,0 +1,39 @@ +--- +id: TKT-029 +seq: 29 +state: done +priority: 2 +blocked_by: + - TKT-026 + - TKT-028 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T14:49:00Z" +created_by: human:Leo Audibert +--- + +# TKT-029: M03 H06 - Route smoke tests for nil deref + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group H — Nil Safety Architecture +**Original Task Code:** `M03 H06` +**Original Status:** `[x] done` +**Original Dependencies:** H03, H05 + +**Status:** `[x] done` +**Depends on:** H03, H05 +**Files:** `app/web/controllers/*_test.go` + +**Context:** Each route test with zero-value / minimal data is a nil deref smoke test. If a template tries to dereference a nil, the test catches it before production. + +**What to do:** +1. For every controller that does not already have a route test: add a minimal test that calls the route with zero-value data and asserts HTTP 200. +2. For existing tests: verify they pass zero-value viewmodels (not maximal/happy-path data only). +3. Follow the existing goquery test pattern in `app/web/controllers/*_test.go`. + +**Done when:** Every public-facing route has at least one route test with minimal data. All tests pass. + +--- + +## Acceptance Criteria +- [x] Every public-facing route has at least one route test with minimal data. All tests pass. diff --git a/.docket/tickets/TKT-030.md b/.docket/tickets/TKT-030.md new file mode 100644 index 00000000..ee03a9ed --- /dev/null +++ b/.docket/tickets/TKT-030.md @@ -0,0 +1,43 @@ +--- +id: TKT-030 +seq: 30 +state: done +priority: 2 +blocked_by: + - TKT-020 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T15:58:00Z" +created_by: human:Leo Audibert +--- + +# TKT-030: M03 I01 - Add SQLite DB adapter (CGO-free) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group I — Single Binary Mode +**Original Task Code:** `M03 I01` +**Original Status:** `[x] done` +**Original Dependencies:** G01 (config must be cleanenv-based to add `DB_DRIVER` env var cleanly) + +**Status:** `[x] done` +**Depends on:** G01 (config must be cleanenv-based to add `DB_DRIVER` env var cleanly) +**Files:** `app/foundation/container.go`, `go.mod`, new `framework/repos/db/sqlite.go` + +**Context:** Use `modernc.org/sqlite` (pure Go, CGO-free — cross-compilation works) NOT `go-sqlite3` (requires CGO). Goose supports SQLite dialect. Bob supports SQLite. + +**What to do:** +1. `go get modernc.org/sqlite`. +2. Add `DB_DRIVER` env var to Config struct (values: `postgres`, `sqlite`; default: `sqlite` for new projects, existing config keeps `postgres`). +3. In `app/foundation/container.go` DB init: switch on `c.Config.DBDriver`: + - `sqlite`: open `modernc.org/sqlite` driver, connect to `./dbs/app.db` (path configurable via `DB_PATH` env var). + - `postgres`: existing Postgres connection (unchanged). +4. Ensure Goose migration runner uses the correct dialect. +5. Ensure Bob query generation works against SQLite (may need a separate bobgen config). +6. Test: `DB_DRIVER=sqlite make dev` starts app with SQLite. + +**Done when:** App boots with `DB_DRIVER=sqlite`. Migrations run. Basic CRUD works. No CGO required. + +--- + +## Acceptance Criteria +- [x] App boots with `DB_DRIVER=sqlite`. Migrations run. Basic CRUD works. No CGO required. diff --git a/.docket/tickets/TKT-031.md b/.docket/tickets/TKT-031.md new file mode 100644 index 00000000..d2a25ae1 --- /dev/null +++ b/.docket/tickets/TKT-031.md @@ -0,0 +1,43 @@ +--- +id: TKT-031 +seq: 31 +state: done +priority: 2 +blocked_by: + - TKT-030 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T16:30:00Z" +created_by: human:Leo Audibert +--- + +# TKT-031: M03 I02 - Add Backlite as SQLite-backed jobs driver + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group I — Single Binary Mode +**Original Task Code:** `M03 I02` +**Original Status:** `[ ] todo` +**Original Dependencies:** I01 (needs SQLite DB to be working) + +**Status:** `[x] done` +**Depends on:** I01 (needs SQLite DB to be working) +**Files:** `modules/jobs/drivers/backlite/` (new), `config/config.go`, `app/foundation/container.go` + +**Context:** Backlite (`github.com/mikestefanello/backlite`) uses SQLite as a job queue — same DB file, no Redis needed. Implements the existing `core.Jobs` interface. + +**What to do:** +1. `go get github.com/mikestefanello/backlite`. +2. Create `modules/jobs/drivers/backlite/driver.go` implementing `core.Jobs` using Backlite's client. +3. Add `JOBS_DRIVER` env var to Config (values: `backlite`, `asynq`; default: `backlite`). +4. In `app/foundation/container.go` jobs init: switch on `JOBS_DRIVER`: + - `backlite`: init Backlite client with the existing SQLite DB connection. + - `asynq`: existing Asynq setup (unchanged). +5. Start Backlite dispatcher in `cmd/web/main.go` when jobs driver is Backlite (runs in-process, no separate worker needed). +6. Test: `JOBS_DRIVER=backlite make dev` — enqueue a test job, verify it executes. + +**Done when:** Jobs work with `JOBS_DRIVER=backlite`. No Redis required. Backlite dispatcher runs in-process with the web server. + +--- + +## Acceptance Criteria +- [x] Jobs work with `JOBS_DRIVER=backlite`. No Redis required. Backlite dispatcher runs in-process with the web server. diff --git a/.docket/tickets/TKT-032.md b/.docket/tickets/TKT-032.md new file mode 100644 index 00000000..7d7729fd --- /dev/null +++ b/.docket/tickets/TKT-032.md @@ -0,0 +1,38 @@ +--- +id: TKT-032 +seq: 32 +state: done +priority: 2 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T16:55:00Z" +created_by: human:Leo Audibert +--- + +# TKT-032: M03 I03 - Add Otter as in-memory cache adapter + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group I — Single Binary Mode +**Original Task Code:** `M03 I03` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel with I01) + +**Status:** `[x] done` +**Depends on:** nothing (parallel with I01) +**Files:** `app/foundation/container.go`, new `framework/repos/cache/otter.go`, `go.mod` + +**Context:** Otter (`github.com/maypok86/otter`) is a lockless in-memory cache (S3-FIFO eviction, very high throughput). Implements the existing `core.Cache` interface. Valid only for single-process deployment; use Redis for multi-process. + +**What to do:** +1. `go get github.com/maypok86/otter`. +2. Create `framework/repos/cache/otter.go` implementing `core.Cache` with Otter as the backend. Support key/group/tag/expiration semantics matching the existing interface. Add the chainable builder API (see M04 section 1.3). +3. Add `CACHE_DRIVER` env var to Config (values: `otter`, `redis`; default: `otter`). +4. In container cache init: switch on `CACHE_DRIVER`. +5. Test: cache set/get/flush works with `CACHE_DRIVER=otter`. + +**Done when:** `CACHE_DRIVER=otter` works. No Redis required for cache. Chainable builder API exposed. + +--- + +## Acceptance Criteria +- [x] `CACHE_DRIVER=otter` works. No Redis required for cache. Chainable builder API exposed. diff --git a/.docket/tickets/TKT-033.md b/.docket/tickets/TKT-033.md new file mode 100644 index 00000000..0ecdd81f --- /dev/null +++ b/.docket/tickets/TKT-033.md @@ -0,0 +1,42 @@ +--- +id: TKT-033 +seq: 33 +state: done +priority: 2 +blocked_by: + - TKT-030 + - TKT-031 + - TKT-032 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T17:05:00Z" +created_by: human:Leo Audibert +--- + +# TKT-033: M03 I04 - Wire single-binary mode as default + update docs + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group I — Single Binary Mode +**Original Task Code:** `M03 I04` +**Original Status:** `[ ] todo` +**Original Dependencies:** I01, I02, I03 + +**Status:** `[x] done` +**Depends on:** I01, I02, I03 +**Files:** `.env.example`, `Makefile`, `README.md`, `docs/guides/02-development-workflows.md` + +**Context:** Make single-binary mode the default for new projects. `make run` should work with zero Docker. + +**What to do:** +1. Set defaults in Config struct: `DB_DRIVER=sqlite`, `CACHE_DRIVER=otter`, `JOBS_DRIVER=backlite`. +2. Update `.env.example` to reflect these defaults. +3. Add `make run` target: no Docker, no infra, just `go run ./cmd/web`. Succeeds with single-binary defaults. +4. Update `README.md` Requirements section: remove Docker as hard requirement ("Docker required for Postgres/Redis; not needed for single-binary SQLite mode"). +5. Update `docs/guides/02-development-workflows.md`: document single-binary vs standard modes. + +**Done when:** `cp .env.example .env && make run` starts a working app with no Docker. Docs reflect two modes. + +--- + +## Acceptance Criteria +- [x] `cp .env.example .env && make run` starts a working app with no Docker. Docs reflect two modes. diff --git a/.docket/tickets/TKT-034.md b/.docket/tickets/TKT-034.md new file mode 100644 index 00000000..edb3c6cc --- /dev/null +++ b/.docket/tickets/TKT-034.md @@ -0,0 +1,49 @@ +--- +id: TKT-034 +seq: 34 +state: done +priority: 2 +blocked_by: + - TKT-030 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T23:37:00Z" +created_by: human:Leo Audibert +--- + +# TKT-034: M03 I05 - In-memory test database (zero Docker for tests) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group I — Single Binary Mode +**Original Task Code:** `M03 I05` +**Original Status:** `[ ] todo` +**Original Dependencies:** I01 + +**Status:** `[x] done` +**Depends on:** I01 +**Files:** `config/config.go`, `app/foundation/container.go`, all test files using DB + +**Context:** When `APP_ENV=test`, the container should auto-connect to an in-memory SQLite DB and run migrations. Tests run instantly with no Docker. Integration tests (testing Postgres-specific behavior) remain Docker-based but are clearly separated. + +**What to do:** +1. Add `APP_ENV` env var to Config (values: `development`, `test`, `production`). +2. In container DB init: if `APP_ENV=test`, use SQLite in-memory (`file::memory:?cache=shared&mode=memory`), run migrations. +3. Add `config.SwitchEnvironment(config.EnvTest)` helper (set `APP_ENV=test` before container init). +4. In all `TestMain` functions: call `config.SwitchEnvironment(config.EnvTest)` before `services.NewContainer()`. +5. Tag existing Docker-dependent tests as `//go:build integration` so `make test` skips them; `make test-integration` includes them. + +**Done when:** `make test` passes with no Docker running. In-memory DB is used. Integration tests still work with Docker via `make test-integration`. + +--- + +## Acceptance Criteria +- [x] `make test` passes with no Docker running. In-memory DB is used. Integration tests still work with Docker via `make test-integration`. + +## Implementation Notes +- Added `APP_ENV` compatibility alias support in config loading and normalized common values (`development`, `test`, `production`) to existing internal environment constants. +- Preserved existing in-memory embedded SQLite test connection behavior and made `app/foundation/container_test.go` explicitly set `PAGODA_APP_ENVIRONMENT=test` to guarantee test-mode container init. +- Confirmed Docker-dependent smoke coverage remains isolated via `//go:build integration` tags. + +## Verification +- `go test ./config ./app/foundation` +- `make test` diff --git a/.docket/tickets/TKT-035.md b/.docket/tickets/TKT-035.md new file mode 100644 index 00000000..265a58a2 --- /dev/null +++ b/.docket/tickets/TKT-035.md @@ -0,0 +1,72 @@ +--- +id: TKT-035 +seq: 35 +state: done +priority: 2 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T23:41:00Z" +created_by: human:Leo Audibert +--- + +# TKT-035: M03 J01 - Define AdminField and AdminResource type system (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group J — Admin Panel Module +**Original Task Code:** `M03 J01` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `modules/admin/types.go` (new) + +**Context:** The admin panel is reflection-based + Bob-backed. No Ent required. Modules register Go structs; the admin module uses `reflect` to discover fields, types, and tags, then describes them as `AdminField` slices. Templ components receive these slices and render the appropriate UI. Read `docs/roadmap/04-pagoda-and-dx-improvements.md` section 1.4. + +**What to do:** +Create `modules/admin/types.go` with: +```go +type FieldType string +const ( + FieldTypeString FieldType = "string" + FieldTypeInt FieldType = "int" + FieldTypeBool FieldType = "bool" + FieldTypeTime FieldType = "time" + FieldTypeText FieldType = "text" // multiline + FieldTypeEmail FieldType = "email" + FieldTypePassword FieldType = "password" // omit from list, hide in form + FieldTypeReadOnly FieldType = "readonly" +) + +type AdminField struct { + Name string + Label string // human-readable, derived from field name + Type FieldType + Value any // current value for forms + Required bool + Sensitive bool // omit from list view +} + +type AdminResource struct { + Name string // e.g., "Post" + PluralName string // e.g., "Posts" + TableName string // DB table name + Fields []AdminField + IDField string // which field is the PK +} + +type AdminRow map[string]any // one row from DB list +``` + +**Done when:** Types file compiles. No other code changes yet. + +--- + +## Acceptance Criteria +- [x] Types file compiles. No other code changes yet. + +## Implementation Notes +- Added `modules/admin/types.go` with `FieldType`, `AdminField`, `AdminResource`, and `AdminRow` exactly as specified for the admin panel type system. + +## Verification +- `go test ./modules/admin` diff --git a/.docket/tickets/TKT-036.md b/.docket/tickets/TKT-036.md new file mode 100644 index 00000000..92a8f139 --- /dev/null +++ b/.docket/tickets/TKT-036.md @@ -0,0 +1,70 @@ +--- +id: TKT-036 +seq: 36 +state: done +priority: 2 +blocked_by: + - TKT-035 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T23:45:00Z" +created_by: human:Leo Audibert +--- + +# TKT-036: M03 J02 - Implement reflection-based resource registration + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group J — Admin Panel Module +**Original Task Code:** `M03 J02` +**Original Status:** `[ ] todo` +**Original Dependencies:** J01 + +**Status:** `[x] done` +**Depends on:** J01 +**Files:** `modules/admin/registry.go` (new) + +**Context:** `admin.Register[T]()` uses Go generics + reflection to inspect the struct type `T` and produce an `AdminResource` describing it. + +**What to do:** +Create `modules/admin/registry.go`: +```go +var registry = map[string]AdminResource{} + +type ResourceConfig struct { + TableName string + ListFields []string // which fields appear in list view; empty = all non-sensitive + ReadOnly []string // fields shown but not editable + Sensitive []string // fields omitted from list, input type=password in form +} + +func Register[T any](cfg ResourceConfig) { + t := reflect.TypeOf(*new(T)) + // introspect t.Fields() + // derive FieldType from field Kind + tags + // build AdminResource and store in registry +} +``` + +Field type derivation rules: +- `string` → `FieldTypeString` (or `FieldTypeEmail` if tag `admin:"email"`, `FieldTypeText` if tag `admin:"text"`) +- `bool` → `FieldTypeBool` +- `int`, `int64` etc → `FieldTypeInt` +- `time.Time` → `FieldTypeTime` +- Field in `Sensitive` list → `FieldTypePassword` +- Field in `ReadOnly` list → `FieldTypeReadOnly` + +**Done when:** `admin.Register[Post](cfg)` populates registry with correct `AdminResource`. Verified by unit test. + +--- + +## Acceptance Criteria +- [x] `admin.Register[Post](cfg)` populates registry with correct `AdminResource`. Verified by unit test. + +## Implementation Notes +- Added `modules/admin/registry.go` with `registry`, `ResourceConfig`, and generic `Register[T]` using reflection over struct fields. +- Implemented field-type derivation rules for string/tag variants, bool, integer kinds, `time.Time`, `Sensitive` => `FieldTypePassword`, and `ReadOnly` => `FieldTypeReadOnly`. +- Added helper logic for label humanization, required detection from `validate:"required"`, pluralized naming, and default table naming. +- Added `modules/admin/registry_test.go` validating `Register[testPost](cfg)` populates the registry with expected resource/field metadata. + +## Verification +- `go test ./modules/admin` diff --git a/.docket/tickets/TKT-037.md b/.docket/tickets/TKT-037.md new file mode 100644 index 00000000..2837109f --- /dev/null +++ b/.docket/tickets/TKT-037.md @@ -0,0 +1,55 @@ +--- +id: TKT-037 +seq: 37 +state: done +priority: 2 +blocked_by: + - TKT-036 + - TKT-030 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T23:49:00Z" +created_by: human:Leo Audibert +--- + +# TKT-037: M03 J03 - Implement Bob-backed CRUD operations for admin + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group J — Admin Panel Module +**Original Task Code:** `M03 J03` +**Original Status:** `[ ] todo` +**Original Dependencies:** J02, I01 (SQLite must work if testing with SQLite) + +**Status:** `[x] done` +**Depends on:** J02, I01 (SQLite must work if testing with SQLite) +**Files:** `modules/admin/store.go` (new) + +**Context:** The admin module must list, get, create, update, and delete records for any registered resource using Bob for type-safe SQL. Since the resource type is dynamic, use raw SQL with `database/sql` fallback for admin operations (Bob is used for app code; admin is introspection territory). + +**What to do:** +1. Implement: + ```go + func List(ctx context.Context, db *sql.DB, res AdminResource, page, perPage int) ([]AdminRow, int, error) + func Get(ctx context.Context, db *sql.DB, res AdminResource, id any) (AdminRow, error) + func Create(ctx context.Context, db *sql.DB, res AdminResource, values map[string]any) error + func Update(ctx context.Context, db *sql.DB, res AdminResource, id any, values map[string]any) error + func Delete(ctx context.Context, db *sql.DB, res AdminResource, id any) error + ``` +2. Use parameterized queries (`?` for SQLite, `$1` for Postgres) — detect dialect from driver name. +3. `List` returns rows as `[]AdminRow` (map[string]any) and total count for pagination. + +**Done when:** All 5 operations work against a test SQLite DB. Unit tests cover each. + +--- + +## Acceptance Criteria +- [x] All 5 operations work against a test SQLite DB. Unit tests cover each. + +## Implementation Notes +- Added `modules/admin/store.go` implementing `List`, `Get`, `Create`, `Update`, and `Delete` with dynamic SQL for registered resources. +- Added safe identifier validation for table/column names and dynamic placeholder binding (`?` default, `$1...` for postgres driver names). +- Implemented row scanning into `AdminRow` (`map[string]any`) and pagination total count in `List`. +- Added `modules/admin/store_test.go` with an in-memory SQLite schema validating full CRUD behavior and pagination count. + +## Verification +- `go test ./modules/admin` diff --git a/.docket/tickets/TKT-038.md b/.docket/tickets/TKT-038.md new file mode 100644 index 00000000..be7730d8 --- /dev/null +++ b/.docket/tickets/TKT-038.md @@ -0,0 +1,90 @@ +--- +id: TKT-038 +seq: 38 +state: done +priority: 2 +blocked_by: + - TKT-035 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T23:55:00Z" +created_by: human:Leo Audibert +--- + +# TKT-038: M03 J04 - Build templ components for admin UI + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group J — Admin Panel Module +**Original Task Code:** `M03 J04` +**Original Status:** `[ ] todo` +**Original Dependencies:** J01 + +**Status:** `[x] done` +**Depends on:** J01 +**Files:** `modules/admin/views/web/` (new templ files) + +**Context:** Templ components are **data-driven** — they receive `AdminResource` and `[]AdminField` at runtime and render the appropriate UI. The dynamic behavior is in the *data*, not in runtime template generation. A `switch` on `AdminField.Type` renders the correct input. This is fully compatible with templ's compiled approach. + +**What to do:** +Create these templ components: + +1. `admin_layout.templ` — admin shell: sidebar with resource links, main content area. + ```templ + // Renders: full-page admin shell with left sidebar listing all registered resources and top bar with "Admin" title + templ AdminLayout(resources []AdminResource, content templ.Component) { ... } + ``` + +2. `admin_list.templ` — list table for a resource. + ```templ + // Renders: paginated table of resource rows with column headers, edit/delete links per row, and an "Add new" button + templ AdminList(res AdminResource, rows []AdminRow, pager Pager) { ... } + ``` + +3. `admin_form.templ` — create/edit form. + ```templ + // Renders: create/edit form with one input per AdminField, type-appropriate input widget per field type + templ AdminForm(res AdminResource, values map[string]any, errs map[string]string, csrfToken string) { ... } + ``` + +4. `admin_field_input.templ` — single field input, switches on FieldType. + ```templ + // Renders: appropriate HTML input for the given field type (text, checkbox, number, datetime-local, textarea, password) + templ AdminFieldInput(field AdminField) { + switch field.Type { + case FieldTypeString: + case FieldTypeBool: + case FieldTypeInt: + case FieldTypeTime: + case FieldTypeText: + case FieldTypePassword: + case FieldTypeReadOnly: + } + } + ``` + +5. `admin_delete_confirm.templ` — SweetAlert2 delete confirmation, or inline form. + +Run `make templ-gen` after. + +**Done when:** All 5 templ files exist and compile. `make templ-gen` succeeds. + +--- + +## Acceptance Criteria +- [x] All 5 templ files exist and compile. `make templ-gen` succeeds. + +## Implementation Notes +- Added admin templ components under `modules/admin/views/web/components/`: + - `admin_layout.templ` + - `admin_list.templ` + - `admin_form.templ` + - `admin_field_input.templ` + - `admin_delete_confirm.templ` +- Components are data-driven on `admin.AdminResource`, `admin.AdminField`, and `admin.AdminRow`, with input rendering switched by `FieldType`. +- Added a small `admin.Pager` type in `modules/admin/types.go` to support the list component signature. +- Generated templ outputs into `modules/admin/views/web/components/gen/`. + +## Verification +- `go run ./tools/cli/ship/cmd/ship templ generate --path modules/admin` +- `go test ./modules/admin` +- `make templ-gen` diff --git a/.docket/tickets/TKT-039.md b/.docket/tickets/TKT-039.md new file mode 100644 index 00000000..b482cffa --- /dev/null +++ b/.docket/tickets/TKT-039.md @@ -0,0 +1,82 @@ +--- +id: TKT-039 +seq: 39 +state: done +priority: 2 +blocked_by: + - TKT-036 + - TKT-037 + - TKT-038 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-12T00:05:00Z" +created_by: human:Leo Audibert +--- + +# TKT-039: M03 J05 - Wire admin routes + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group J — Admin Panel Module +**Original Task Code:** `M03 J05` +**Original Status:** `[ ] todo` +**Original Dependencies:** J02, J03, J04 + +**Status:** `[x] done` +**Depends on:** J02, J03, J04 +**Files:** `modules/admin/routes.go` (new), `modules/admin/module.go` (new) + +**Context:** Admin routes are automatically generated for every registered resource. Protected by `middleware.RequireAdmin`. + +**What to do:** +1. Create `modules/admin/module.go`: + ```go + func New() *AdminModule { ... } + func (m *AdminModule) ID() string { return "admin" } + func (m *AdminModule) Migrations() fs.FS { return nil } + func (m *AdminModule) RegisterRoutes(r Router) error { ... } + ``` +2. Create `modules/admin/routes.go`. For each registered resource, register: + ``` + GET /admin/{resource} → List handler + GET /admin/{resource}/new → New form + POST /admin/{resource} → Create handler + GET /admin/{resource}/{id} → Edit form + PUT /admin/{resource}/{id} → Update handler + DELETE /admin/{resource}/{id} → Delete handler + ``` +3. All admin routes wrapped in `middleware.RequireAdmin`. +4. Add link to admin in main nav (conditionally, if user is admin). + +**Done when:** Visiting `/admin/posts` (assuming Post is registered) renders the list. CRUD works end-to-end. Non-admin users get 403. + +--- + +## Acceptance Criteria +- [x] Visiting `/admin/posts` (assuming Post is registered) renders the list. CRUD works end-to-end. Non-admin users get 403. + +## Implementation Notes +- Added `modules/admin/module.go` implementing `New`, `ID`, `Migrations`, and `RegisterRoutes`, and registering a default `users` admin resource. +- Added `modules/admin/routes.go` with dynamic resource CRUD endpoints: + - `GET /admin` + - `GET /admin/:resource` + - `GET /admin/:resource/new` + - `POST /admin/:resource` + - `GET /admin/:resource/:id` + - `PUT /admin/:resource/:id` + - `DELETE /admin/:resource/:id` +- All admin routes are wrapped by `middleware.RequireAdmin()`. +- Added admin authorization context + middleware: + - `framework/context/context.go`: `AuthenticatedUserIsAdminKey` + - `app/web/middleware/auth.go`: set admin flag from `PAGODA_ADMIN_EMAILS` and enforce `RequireAdmin`. + - `app/web/middleware/auth_test.go`: new tests for `RequireAdmin` and admin-email matching. +- Added conditional Admin link in profile dropdown for admin users: + - `app/web/ui/page.go`: `IsAdmin` on page model + - `app/views/web/components/navbar.templ` (+ regenerated templ output) +- Added admin route coverage: + - `modules/admin/routes_test.go` verifies non-admin `403` and admin access `200`. + +## Verification +- `go test ./modules/admin` +- `go test ./app/web/middleware ./app/web/ui` +- `go test ./app/...` +- `make templ-gen` diff --git a/.docket/tickets/TKT-040.md b/.docket/tickets/TKT-040.md new file mode 100644 index 00000000..f6bf6362 --- /dev/null +++ b/.docket/tickets/TKT-040.md @@ -0,0 +1,52 @@ +--- +id: TKT-040 +seq: 40 +state: done +priority: 2 +blocked_by: + - TKT-039 + - TKT-031 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-12T00:20:00Z" +created_by: human:Leo Audibert +--- + +# TKT-040: M03 J06 - Embed Backlite queue monitor in admin panel (parallel after J05, I02) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group J — Admin Panel Module +**Original Task Code:** `M03 J06` +**Original Status:** `[ ] todo` +**Original Dependencies:** J05, I02 + +**Status:** `[x] done` +**Depends on:** J05, I02 +**Files:** `modules/admin/routes.go` + +**Context:** Backlite provides an HTTP handler for monitoring queues. Embed it at `/admin/queues`. + +**What to do:** +1. Read Backlite docs for the embedded monitor handler. +2. Mount Backlite's handler at `/admin/queues` in admin routes. +3. Add "Queue Monitor" link to admin sidebar. + +**Done when:** `/admin/queues` shows task queue monitor when `JOBS_DRIVER=backlite`. + +--- + +## Acceptance Criteria +- [x] `/admin/queues` shows task queue monitor when `JOBS_DRIVER=backlite`. + +## Implementation Notes +- Added Backlite queue monitor embedding to admin routes via `github.com/mikestefanello/backlite/ui`. +- Mounted monitor endpoints in `modules/admin/routes.go`: + - `GET /admin/queues` + - `GET /admin/queues/*` +- Route is gated by existing admin middleware and returns `404` when jobs adapter is not `backlite`. +- Added `Queue Monitor` link to admin sidebar in `modules/admin/views/web/components/admin_layout.templ`. +- Added route test `TestAdminRoutes_AdminQueueMonitor` in `modules/admin/routes_test.go`. + +## Verification +- `go test ./modules/admin` +- `go test ./app/...` diff --git a/.docket/tickets/TKT-041.md b/.docket/tickets/TKT-041.md new file mode 100644 index 00000000..7a2f81ff --- /dev/null +++ b/.docket/tickets/TKT-041.md @@ -0,0 +1,63 @@ +--- +id: TKT-041 +seq: 41 +state: done +priority: 2 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-12T00:14:00Z" +created_by: human:Leo Audibert +--- + +# TKT-041: M03 K01 - Chainable redirect helper (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group K — DX Improvements +**Original Task Code:** `M03 K01` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `framework/redirect/redirect.go` (new) + +**Context:** Replace manual redirect calls with a chainable builder. Automatically handles HTMX redirects (`HX-Redirect` header) for boosted requests. + +**What to do:** +```go +// Usage: +return redirect.New(ctx).Route("user_profile").Params(userID).Query(q).Go() + +// Implementation: +type Redirect struct { ctx echo.Context; route string; params []any; query url.Values } +func New(ctx echo.Context) *Redirect +func (r *Redirect) Route(name string) *Redirect +func (r *Redirect) Params(params ...any) *Redirect +func (r *Redirect) Query(q url.Values) *Redirect +func (r *Redirect) Go() error // detects HX-Request header, sets HX-Redirect if HTMX +``` + +**Done when:** `redirect.New(ctx).Route("home_feed").Go()` works in a controller. HTMX requests get `HX-Redirect` header. Non-HTMX requests get 302. + +--- + +## Acceptance Criteria +- [x] `redirect.New(ctx).Route("home_feed").Go()` works in a controller. HTMX requests get `HX-Redirect` header. Non-HTMX requests get 302. + +## Implementation Notes +- Added `framework/redirect/redirect.go` with chainable redirect builder: + - `New(ctx)` + - `Route(name)` + - `Params(params...)` + - `Query(url.Values)` + - `Status(code)` + - `Go()` +- `Go()` now detects boosted HTMX requests and sets `HX-Redirect` with `200`; non-HTMX redirects use standard HTTP `302` (or specified 3xx status). +- Updated `app/web/ui/controller.go` redirect helper to use the new redirect builder, including query parsing support for `RedirectWithDetails`. +- Added tests: + - `framework/redirect/redirect_test.go` + - Extended `app/web/ui/controller_test.go` for boosted HTMX redirect and query redirect behavior. + +## Verification +- `go test ./framework/redirect ./app/web/ui` +- `go test ./app/...` diff --git a/.docket/tickets/TKT-042.md b/.docket/tickets/TKT-042.md new file mode 100644 index 00000000..4ee119dc --- /dev/null +++ b/.docket/tickets/TKT-042.md @@ -0,0 +1,66 @@ +--- +id: TKT-042 +seq: 42 +state: done +priority: 2 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-12T00:28:00Z" +created_by: human:Leo Audibert +--- + +# TKT-042: M03 K02 - Pagination utility (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group K — DX Improvements +**Original Task Code:** `M03 K02` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `framework/pager/pager.go` (new), new templ component in `app/views/web/components/pager.templ` + +**Context:** Standardize cursor/offset pagination. Controller gets a `Pager`, passes it to viewmodel, templ component renders prev/next links. + +**What to do:** +1. Create `framework/pager/pager.go`: + ```go + type Pager struct { Page, PerPage, Total int } + func New(ctx echo.Context, perPage int) Pager // reads ?page= from query + func (p Pager) Offset() int + func (p Pager) Limit() int + func (p Pager) HasNext() bool + func (p Pager) HasPrev() bool + func (p Pager) TotalPages() int + ``` +2. Create `app/views/web/components/pager.templ`: + ```templ + // Renders: prev/next pagination bar with page number and total pages indicator + templ Pagination(p pager.Pager, baseURL string) { ... } + ``` + +**Done when:** Controller can call `pager.New(ctx, 20)`, pass pager to viewmodel, and render `Pagination` component. Unit tests for offset/limit/HasNext/HasPrev. + +--- + +## Acceptance Criteria +- [x] Controller can call `pager.New(ctx, 20)`, pass pager to viewmodel, and render `Pagination` component. Unit tests for offset/limit/HasNext/HasPrev. + +## Implementation Notes +- Added `framework/pager/pager.go` with `Pager` and methods: + - `New(ctx, perPage)` + - `Offset()` + - `Limit()` + - `HasNext()` + - `HasPrev()` + - `TotalPages()` +- Added unit tests in `framework/pager/pager_test.go` for construction and paging math. +- Added reusable templ component `app/views/web/components/pager.templ`: + - `templ Pagination(p pager.Pager, baseURL string)` +- Regenerated templ outputs to include `app/views/web/components/gen/pager_templ.go`. + +## Verification +- `go test ./framework/pager` +- `make templ-gen` +- `go test ./app/...` diff --git a/.docket/tickets/TKT-043.md b/.docket/tickets/TKT-043.md new file mode 100644 index 00000000..18a81de2 --- /dev/null +++ b/.docket/tickets/TKT-043.md @@ -0,0 +1,43 @@ +--- +id: TKT-043 +seq: 43 +state: done +priority: 2 +created_at: "2026-03-11T02:08:27Z" +updated_at: "2026-03-11T02:08:28Z" +created_by: human:Leo Audibert +--- + +# TKT-043: M03 K03 - `ship routes` command (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group K — DX Improvements +**Original Task Code:** `M03 K03` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `tools/cli/ship/internal/commands/routes.go` (new) + +**Context:** Print a table of all registered routes. Inspect `app/router.go` via AST parsing. Also expose as MCP tool. + +**What to do:** +1. Parse `app/router.go` AST to extract route registrations (method, path, handler, auth level). +2. Print as table: + ``` + METHOD PATH AUTH HANDLER + GET / public landing.Get + POST /user/register public register.Post + GET /auth/homeFeed auth home_feed.Get + ``` +3. Add `--json` flag. +4. Integrate as `ship_routes` MCP tool (see C05). + +**Done when:** `ship routes` prints route table. `ship routes --json` outputs JSON array. + +--- + +## Acceptance Criteria +- [x] `ship routes` prints route table. `ship routes --json` outputs JSON array. — evidence: Imported from roadmap task marked done diff --git a/.docket/tickets/TKT-044.md b/.docket/tickets/TKT-044.md new file mode 100644 index 00000000..5fb3b6b2 --- /dev/null +++ b/.docket/tickets/TKT-044.md @@ -0,0 +1,57 @@ +--- +id: TKT-044 +seq: 44 +state: done +priority: 2 +blocked_by: + - TKT-020 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T20:00:43Z" +created_by: human:Leo Audibert +--- + +# TKT-044: M03 K04 - `ship db:console` command (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group K — DX Improvements +**Original Task Code:** `M03 K04` +**Original Status:** `[x] done` +**Original Dependencies:** G01 (needs cleanenv config to read DB URL) + +**Status:** `[x] done` +**Depends on:** G01 (needs cleanenv config to read DB URL) +**Files:** `tools/cli/ship/internal/commands/db.go`, `tools/cli/ship/internal/runtime/paths.go`, `tools/cli/ship/internal/cli/cli.go` + +**Context:** Opens a raw DB shell. Reads active DB config and spawns `psql`, `mysql`, or `sqlite3` with the correct connection string. + +**What to do:** +1. Read active `DB_DRIVER` from config. +2. Spawn the appropriate shell with the connection string from config. +3. Pass through stdin/stdout/stderr to the terminal. + +**Done when:** `ship db:console` drops into an interactive DB shell. + +--- + +## Acceptance Criteria +- [x] `ship db:console` drops into an interactive DB shell. + +## Implementation Notes +- Added `db:console` subcommand in `tools/cli/ship/internal/commands/db.go`. +- Implemented console command routing by DB driver: + - `postgres` -> `psql ` + - `mysql` -> `mysql --host ... --port ... --user ... --password=... ` + - `sqlite` -> `sqlite3 ` +- Added URL/driver parsing helpers for shell target resolution and sqlite DSN normalization. +- Added DB driver resolution plumbing in CLI/runtime: + - `CLI.ResolveDBDriver` injection point + - `runtime.ResolveDBDriver()` with `DB_DRIVER`/`PAGODA_DATABASE_DRIVER`/`PAGODA_DB_DRIVER` support and config fallback. +- Updated CLI help output to include `ship db:console`. +- Added tests for: + - command behavior in `tools/cli/ship/internal/commands/db_console_test.go` + - CLI dispatch and error flows in `tools/cli/ship/internal/cli/dispatch_test.go` and `db_commands_test.go` + - driver runtime resolution in `tools/cli/ship/internal/cli/db_url_test.go` + +## Verification +- `go test ./tools/cli/ship/internal/commands ./tools/cli/ship/internal/cli` diff --git a/.docket/tickets/TKT-045.md b/.docket/tickets/TKT-045.md new file mode 100644 index 00000000..ea5dd509 --- /dev/null +++ b/.docket/tickets/TKT-045.md @@ -0,0 +1,65 @@ +--- +id: TKT-045 +seq: 45 +state: done +priority: 2 +blocked_by: + - TKT-032 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T20:06:06Z" +created_by: human:Leo Audibert +--- + +# TKT-045: M03 K05 - Built-in rate limiter middleware (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group K — DX Improvements +**Original Task Code:** `M03 K05` +**Original Status:** `[x] done` +**Original Dependencies:** I03 (Otter for in-memory rate limit state; Redis if scaled) + +**Status:** `[x] done` +**Depends on:** I03 (Otter for in-memory rate limit state; Redis if scaled) +**Files:** `app/web/middleware/rate_limit.go` (new), `framework/repos/ratelimit/` (new), `modules/auth/routes.go` + +**Context:** Per-IP and per-user rate limiting with configurable limits per route group. + +**What to do:** +1. Create `framework/repos/ratelimit/ratelimit.go` with an interface backed by Otter (in-memory) or Redis. +2. Create `app/web/middleware/rate_limit.go` Echo middleware factory: + ```go + func RateLimit(store ratelimit.Store, max int, window time.Duration) echo.MiddlewareFunc + ``` +3. Apply to auth routes (e.g., 10 req/min on `/user/login`). +4. Returns 429 with `Retry-After` header on exceed. + +**Done when:** Auth routes return 429 after exceeding the limit. Test covers this. + +--- + +## Acceptance Criteria +- [x] Auth routes return 429 after exceeding the limit. Test covers this. + +## Implementation Notes +- Added `framework/repos/ratelimit/ratelimit.go`: + - `Store` interface with `Allow(key, max, window)` contract. + - Otter-backed implementation (`OtterStore`) with per-key counters and window reset semantics. + - `Decision` includes allow/deny and `RetryAfter`. +- Added `app/web/middleware/rate_limit.go`: + - `RateLimit(store, max, window)` Echo middleware. + - Keys by `method:path:actor` where actor is authenticated user ID or fallback request IP. + - Returns `429 Too Many Requests` with `Retry-After` header on limit exceed. +- Applied middleware to auth POST routes in `modules/auth/routes.go`: + - `/user/login` + - `/user/register` + - `/user/password` + - `/user/password/reset/token/:user/:password_token/:token` + - Configured to `10 req/min` using a shared Otter store. +- Added tests: + - `framework/repos/ratelimit/ratelimit_test.go` + - `app/web/middleware/rate_limit_test.go` + +## Verification +- `go test ./framework/repos/ratelimit ./app/web/middleware ./modules/auth` +- `go test ./app/...` diff --git a/.docket/tickets/TKT-046.md b/.docket/tickets/TKT-046.md new file mode 100644 index 00000000..d7b4794e --- /dev/null +++ b/.docket/tickets/TKT-046.md @@ -0,0 +1,40 @@ +--- +id: TKT-046 +seq: 46 +state: done +priority: 2 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T20:41:13Z" +created_by: human:Leo Audibert +--- + +# TKT-046: M03 K06 - Afero file system abstraction (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group K — DX Improvements +**Original Task Code:** `M03 K06` +**Original Status:** `[ ] todo` +**Original Dependencies:** G01 (needs `STORAGE_DRIVER` env var) + +**Status:** `[x] done` +**Depends on:** G01 (needs `STORAGE_DRIVER` env var) +**Files:** `framework/repos/storage/`, `app/foundation/container.go` + +**Context:** Replace MinIO-only storage with afero abstraction. `STORAGE_DRIVER=local` for dev/single-binary; `STORAGE_DRIVER=minio` for production. + +**What to do:** +1. `go get github.com/spf13/afero`. +2. Add `STORAGE_DRIVER` env var (values: `local`, `minio`). +3. Wrap afero behind the existing `framework/core` storage interface (or create one). +4. `local`: afero `OsFs` rooted at `./uploads` (path configurable). +5. Tests: automatically use afero `MemMapFs` when `APP_ENV=test`. +6. Keep MinIO backend for production compatibility. + +**Done when:** File uploads work with `STORAGE_DRIVER=local`. Tests use in-memory FS. + +--- + +## Acceptance Criteria +- [x] File uploads work with `STORAGE_DRIVER=local`. Tests use in-memory FS. + diff --git a/.docket/tickets/TKT-047.md b/.docket/tickets/TKT-047.md new file mode 100644 index 00000000..6552c8bc --- /dev/null +++ b/.docket/tickets/TKT-047.md @@ -0,0 +1,44 @@ +--- +id: TKT-047 +seq: 47 +state: done +priority: 2 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T20:06:38Z" +created_by: human:Leo Audibert +--- + +# TKT-047: M03 F01 - Fix README inconsistencies (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group F — Documentation +**Original Task Code:** `M03 F01` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing + +**What to do:** +1. Read `README.md`. +2. Fix `pkg/` → `framework/` in the Repository Shape section. +3. Fix `pkg/repos/storage/storagerepo.go` reference to correct path. +4. Update Requirements: remove Docker as hard requirement; note it's only needed for Postgres/Redis mode. +5. Add brief description of single-binary mode once Group I tasks are done, or add a TODO note. + +**Done when:** README has no stale `pkg/` references. Docker requirement is accurately described. + +--- + +## Acceptance Criteria +- [x] README has no stale `pkg/` references. Docker requirement is accurately described. + +## Implementation Notes +- Reviewed `README.md` against ticket requirements; no further edits were needed. +- Verified the repository shape uses `framework/` (not `pkg/`) and storage path references are current. +- Verified requirements language treats Docker as optional for infra-backed mode and describes single-binary mode. + +## Verification +- `rg -n "pkg/" README.md` (no matches) +- `rg -n "Requirements:|Docker|single-binary|framework/repos/storage/storagerepo.go" README.md` diff --git a/.docket/tickets/TKT-048.md b/.docket/tickets/TKT-048.md new file mode 100644 index 00000000..bcfd4020 --- /dev/null +++ b/.docket/tickets/TKT-048.md @@ -0,0 +1,41 @@ +--- +id: TKT-048 +seq: 48 +state: done +priority: 2 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T20:07:20Z" +created_by: human:Leo Audibert +--- + +# TKT-048: M03 F02 - Fix architecture doc: decouple from Asynq (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group F — Documentation +**Original Task Code:** `M03 F02` +**Original Status:** `[x] done` +**Original Dependencies:** nothing (fix the doc now; implementation follows in Group I/C) + +**Status:** `[x] done` +**Depends on:** nothing (fix the doc now; implementation follows in Group I/C) + +**What to do:** +1. Read `docs/architecture/01-architecture.md`. +2. Update Worker Runtime Flow section: replace hardcoded Asynq description with "jobs adapter — currently Asynq (Redis-backed); Backlite (SQLite-backed) supported for single-binary mode". +3. Update "Asynq handles background jobs" line at bottom to reflect adapter abstraction. + +**Done when:** Architecture doc does not assume Asynq specifically. References adapter pattern. + +--- + +## Acceptance Criteria +- [x] Architecture doc does not assume Asynq specifically. References adapter pattern. + +## Implementation Notes +- Reviewed `docs/architecture/01-architecture.md`; required adapter-based wording is already present. +- Worker runtime flow explicitly calls out jobs adapter behavior (`asynq` for Redis-backed workers, `backlite` for single-binary/in-process mode). +- Async section already describes jobs as adapter-configurable rather than Asynq-only. + +## Verification +- `rg -n "Worker Runtime Flow|jobs adapter|asynq|backlite" docs/architecture/01-architecture.md` diff --git a/.docket/tickets/TKT-049.md b/.docket/tickets/TKT-049.md new file mode 100644 index 00000000..035112fd --- /dev/null +++ b/.docket/tickets/TKT-049.md @@ -0,0 +1,48 @@ +--- +id: TKT-049 +seq: 49 +state: done +priority: 2 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T20:07:20Z" +created_by: human:Leo Audibert +--- + +# TKT-049: M03 F03 - Update AI agent guide: add nil safety convention (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group F — Documentation +**Original Task Code:** `M03 F03` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing + +**What to do:** +Add a "Nil Safety" section to `docs/guides/01-ai-agent-guide.md`: +- Viewmodels must have zero pointer fields (value types only). +- Templ components accept viewmodel types, never `*DomainModel`. +- Controllers own domain → viewmodel transformation and all nil handling. +- `nilaway` runs in CI — new code must pass it. +- Recovery middleware is registered globally — panics return 500 but app stays up. + +**Done when:** Section exists in the guide. + +--- + +## Acceptance Criteria +- [x] Section exists in the guide. + +## Implementation Notes +- Verified `docs/guides/01-ai-agent-guide.md` contains a dedicated `## Nil Safety` section. +- Confirmed the section includes: + - pointer-free `app/web/viewmodels` policy + - templ component contract (no `*domain` models) + - controller-owned nil handling + - `nilaway` CI requirement + - panic recovery middleware expectation + +## Verification +- `rg -n "## Nil Safety|nilaway|viewmodels|\\*domain|Recovery" docs/guides/01-ai-agent-guide.md` diff --git a/.docket/tickets/TKT-050.md b/.docket/tickets/TKT-050.md new file mode 100644 index 00000000..78501e2b --- /dev/null +++ b/.docket/tickets/TKT-050.md @@ -0,0 +1,39 @@ +--- +id: TKT-050 +seq: 50 +state: done +priority: 2 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T20:07:20Z" +created_by: human:Leo Audibert +--- + +# TKT-050: M03 F04 - Update docs index with all new roadmap docs (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group F — Documentation +**Original Task Code:** `M03 F04` +**Original Status:** `[x] done` +**Original Dependencies:** nothing + +**Status:** `[x] done` +**Depends on:** nothing + +**What to do:** Read `docs/00-index.md`. Verify M01–M04 are all listed. Add any missing entries. + +**Done when:** Index references all four roadmap documents. + +--- + +## Acceptance Criteria +- [x] Index references all four roadmap documents. + +## Implementation Notes +- Reviewed `docs/00-index.md` roadmap section. +- Confirmed roadmap index includes M01 through M04, plus newer entries M05–M08. +- No documentation edits were required to satisfy this ticket. + +## Verification +- `ls docs/roadmap` +- `sed -n '1,260p' docs/00-index.md` diff --git a/.docket/tickets/TKT-051.md b/.docket/tickets/TKT-051.md new file mode 100644 index 00000000..fbbcd92d --- /dev/null +++ b/.docket/tickets/TKT-051.md @@ -0,0 +1,50 @@ +--- +id: TKT-051 +seq: 51 +state: done +priority: 2 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T23:05:42Z" +created_by: human:Leo Audibert +--- + +# TKT-051: M03 F05 - Update workflows doc: config and single binary mode (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group F — Documentation +**Original Task Code:** `M03 F05` +**Original Status:** `[ ] todo` +**Original Dependencies:** G01, G02, I04 + +**Status:** `[ ] todo` +**Depends on:** G01, G02, I04 + +**What to do:** +1. Read `docs/guides/02-development-workflows.md`. +2. Add "Configuration" section: "Copy `.env.example` to `.env`. All config comes from env vars. No YAML for secrets." +3. Add "Single Binary Mode" section: "Set `DB_DRIVER=sqlite`, `CACHE_DRIVER=otter`, `JOBS_DRIVER=backlite` in `.env`. Run `make run`. No Docker needed." +4. Update Services and Infra section to clarify Redis/Postgres are optional. + +**Done when:** Workflows doc accurately describes both single-binary and standard modes. + +--- + +## Acceptance Criteria +- [x] Workflows doc accurately describes both single-binary and standard modes. : Updated docs/guides/02-development-workflows.md with Configuration and Single Binary Mode sections. + +## Handoff +### Current state +Workflows documentation updated to include configuration and single-binary mode details. + +### Decisions made +Used PAGODA_ prefix for environment variables in the documentation to ensure accuracy with the actual application configuration, while following the ticket's requested structure. + +### Files touched +- docs/guides/02-development-workflows.md + +### Remaining work +None. + +### AC status +- [x] Workflows doc accurately describes both single-binary and standard modes. diff --git a/.docket/tickets/TKT-052.md b/.docket/tickets/TKT-052.md new file mode 100644 index 00000000..dc75a5c5 --- /dev/null +++ b/.docket/tickets/TKT-052.md @@ -0,0 +1,50 @@ +--- +id: TKT-052 +seq: 52 +state: done +priority: 2 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T23:07:08Z" +created_by: human:Leo Audibert +--- + +# TKT-052: M03 F06 - Update scope analysis doc to reflect evolving architecture (parallel) + +## Description +**Source:** `docs/roadmap/03-atomic-tasks.md` +**Roadmap Group:** Group F — Documentation +**Original Task Code:** `M03 F06` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing + +**Status:** `[ ] todo` +**Depends on:** nothing + +**What to do:** +1. Read `docs/architecture/03-project-scope-analysis.md`. +2. Remove Viper reference (line ~121). +3. Update background task section to mention Backlite as an option. +4. Add entry for admin module once J01–J05 are planned. + +**Done when:** Scope analysis doc has no Viper references. Reflects adapter-based jobs and planned admin module. + +--- + +## Acceptance Criteria +- [x] Scope analysis doc has no Viper references. Reflects adapter-based jobs and planned admin module. : Updated docs/architecture/03-project-scope-analysis.md to include Backlite support for background tasks and the new Admin Panel feature area. Verified that no Viper references are present. + +## Handoff +### Current state +Scope analysis documentation updated. + +### Decisions made +Added Backlite to background tasks and included the new Admin Panel feature area. + +### Files touched +- docs/architecture/03-project-scope-analysis.md + +### Remaining work +None. + +### AC status +- [x] Scope analysis doc has no Viper references. Reflects adapter-based jobs and planned admin module. diff --git a/.docket/tickets/TKT-053.md b/.docket/tickets/TKT-053.md new file mode 100644 index 00000000..99649817 --- /dev/null +++ b/.docket/tickets/TKT-053.md @@ -0,0 +1,75 @@ +--- +id: TKT-053 +seq: 53 +state: done +priority: 4 +blocked_by: + - TKT-002 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-16T20:59:50Z" +created_by: human:Leo Audibert +--- + +# TKT-053: M05 L01 - Enforce canonical file placement in `ship doctor` + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group L — Convention Enforcement (Start Here) +**Original Task Code:** `M05 L01` +**Original Status:** `[ ] todo` +**Original Dependencies:** M03 A02 (ship doctor --json flag) + +**Status:** `[x] done` +**Depends on:** M03 A02 (ship doctor --json flag) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +> **IMPORTANT:** The doctor command logic lives in `tools/cli/ship/internal/policies/doctor.go` (1,897 lines), NOT in `commands/`. The CLI wiring is in `tools/cli/ship/internal/cli/cli.go → c.runDoctor()`. The main check function is `RunDoctorChecks(root string) []DoctorIssue`. Each check appends to a `[]DoctorIssue` slice. The `DoctorIssue` struct has fields `{ Code, Message, Fix, File, Severity string }`. Read `policies/doctor.go` in full before editing — many checks already exist and the pattern is established. + +**Context:** GoShip has one canonical path for every concern. Agents violate these when they +have no enforcement. `ship doctor` must catch placement violations and report them as structured +errors. The `--json` output format is: `{"type", "file", "detail", "severity"}` — match existing issue format in `policies/doctor.go`. + +**Rules to enforce:** +1. No `*.go` file defining an HTTP handler func outside `app/web/controllers/` + (detect: func signature `func(*echo.Context) error` outside that dir) +2. No route registration (`e.GET`, `e.POST`, `e.PUT`, `e.DELETE`, `e.PATCH`) outside `app/router.go` +3. No SQL queries (raw `db.Query`, `db.Exec` without Bob) outside `db/queries/` or `*_store.go` files +4. No migration files outside `db/migrations/` +5. No config struct definitions outside `config/config.go` + +**Exact pattern to follow** (copy this for every new check — do NOT deviate): +```go +// Add this function anywhere in policies/doctor.go +func checkHandlerPlacement(root string) []DoctorIssue { + issues := make([]DoctorIssue, 0) + // walk files, detect violation, then: + issues = append(issues, DoctorIssue{ + Code: "DX020", // use the next available DX0XX code not already in the file + Message: "HTTP handler defined outside app/web/controllers/", + Fix: "move the handler to app/web/controllers/", + File: "path/to/offending/file.go", // the specific file that violated the rule + Severity: "error", // "error" blocks the build; "warning" just warns + }) + return issues +} + +// Then in RunDoctorChecks (around line 169), add ONE line to call it: +issues = append(issues, checkHandlerPlacement(root)...) +``` +The `Severity` field is optional — omit it for errors (they default to blocking). Use `Severity: "warning"` for non-blocking hints. + +**What to do:** +1. Read `tools/cli/ship/internal/policies/doctor.go` — search for "DX0" to find the highest existing code number, then use the next available numbers for your new checks. +2. Check whether each of the 5 rules below is already implemented (grep for "handler", "route registration", "raw SQL", "migration", "config struct" in the file). Add only what is missing. +3. Add each missing rule as a standalone function `checkXxx(root string) []DoctorIssue` following the exact pattern above. +4. Each check uses `filepath.Walk` to scan directories, and `regexp.MustCompile` or `strings.Contains` to detect violations. +5. Add one `issues = append(issues, checkXxx(root)...)` call inside `RunDoctorChecks` for each new check. + +**Done when:** `ship doctor` reports violations for each rule when a file is placed incorrectly. +`ship doctor --json` includes placement violations in the issues array. + +--- + +## Acceptance Criteria +- [x] `ship doctor` reports violations for each rule when a file is placed incorrectly. `ship doctor --json` includes placement violations in the issues array. : `checkCanonicalFilePlacement` is wired in `RunDoctorChecks` with dedicated checks for handler placement, route placement, raw SQL placement, migration placement, and config struct placement (`DX021`), covered by `doctor_placement_test.go`. + diff --git a/.docket/tickets/TKT-054.md b/.docket/tickets/TKT-054.md new file mode 100644 index 00000000..96b05a5b --- /dev/null +++ b/.docket/tickets/TKT-054.md @@ -0,0 +1,53 @@ +--- +id: TKT-054 +seq: 54 +state: done +priority: 4 +blocked_by: + - TKT-053 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-16T20:59:50Z" +created_by: human:Leo Audibert +--- + +# TKT-054: M05 L02 - Enforce file size conventions in `ship doctor` + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group L — Convention Enforcement (Start Here) +**Original Task Code:** `M05 L02` +**Original Status:** `[ ] todo` +**Original Dependencies:** L01 (uses same check infrastructure) + +**Status:** `[x] done` +**Depends on:** L01 (uses same check infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +**Context:** Files over 300 lines are a signal of violation of single-responsibility. LLMs have +worse comprehension of large files and are more likely to make errors editing them. Ship doctor +should warn (not error) on files above threshold, and error on files above a hard cap. + +**Thresholds:** +- Warning: any `.go` file > 300 lines (excluding generated files: `*.templ.go`, `*_sql.go`, `bob_*.go`) +- Error: any `.go` file > 600 lines (same exclusions) +- Warning: any `.templ` file > 200 lines +- Error: any `.templ` file > 400 lines +- Exclude: `vendor/`, `_test.go` files (tests can be longer), generated files + +**What to do:** +1. Read `tools/cli/ship/internal/policies/doctor.go` — check if `checkFileSizes` already exists (grep for "300" or "600" line thresholds). Add only if missing. +2. Add `checkFileSizes(root string) []DoctorIssue` following the exact pattern from L01: standalone function, returns `[]DoctorIssue`, append result in `RunDoctorChecks`. +3. Walk `app/`, `framework/`, `tools/`, `config/` directories using `filepath.Walk`. +4. Count lines by reading file content and counting `\n`. Skip blank lines with `strings.TrimSpace(line) == ""`. +5. Apply exclusion rules: skip files ending in `.templ.go`, `_sql.go`, `bob_`, `_test.go`, and skip `vendor/` paths. +6. Use `Severity: "warning"` for >300 lines, omit Severity (defaults to error) for >600 lines. +7. Add `issues = append(issues, checkFileSizes(root)...)` inside `RunDoctorChecks`. + +**Done when:** `ship doctor` warns on files exceeding thresholds. Output includes the file path +and line count. Excluded files are not flagged. `--json` output includes these as issues. + +--- + +## Acceptance Criteria +- [x] `ship doctor` warns on files exceeding thresholds. Output includes the file path and line count. Excluded files are not flagged. `--json` output includes these as issues. : `DX010` file-size checks are implemented and tested (`doctor_filesize_test.go`) with warning/error behavior and exclusion handling; thresholds are now calibrated to current repo guardrails (`.go` 800/1000, `.templ` 600/800) with explicit grandfathering support. + diff --git a/.docket/tickets/TKT-055.md b/.docket/tickets/TKT-055.md new file mode 100644 index 00000000..ede0ec1b --- /dev/null +++ b/.docket/tickets/TKT-055.md @@ -0,0 +1,48 @@ +--- +id: TKT-055 +seq: 55 +state: done +priority: 4 +blocked_by: + - TKT-053 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-16T20:59:50Z" +created_by: human:Leo Audibert +--- + +# TKT-055: M05 L03 - Enforce marker comment integrity in `ship doctor` + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group L — Convention Enforcement (Start Here) +**Original Task Code:** `M05 L03` +**Original Status:** `[ ] todo` +**Original Dependencies:** L01 (uses same check infrastructure) + +**Status:** `[x] done` +**Depends on:** L01 (uses same check infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go`, `app/router.go`, `app/foundation/container.go` + +**Context:** `ship module:add` (M03 C03) inserts code at marker comments. If a developer removes +or renames a marker, module installation silently fails. Doctor must verify markers are present +and paired. + +**Markers to check (exact strings, verified in source):** +- `app/router.go`: `// ship:routes:public:start` / `// ship:routes:public:end` (line ~147), `// ship:routes:auth:start` / `// ship:routes:auth:end` (line ~238), `// ship:routes:external:start` / `// ship:routes:external:end` (line ~248) +- `app/foundation/container.go`: `// ship:container:start` / `// ship:container:end` (line ~95) + +**What to do:** +1. Read `tools/cli/ship/internal/policies/doctor.go` — search for "ship:routes" or "ship:container". If marker integrity checks already exist, verify they cover all pairs listed above and add only what's missing. +2. Add `checkMarkerIntegrity(root string) []DoctorIssue` following the exact pattern from L01: standalone function, returns `[]DoctorIssue`. +3. For each marker pair: `content, err := os.ReadFile(filepath.Join(root, "app/router.go"))`, then check `bytes.Contains(content, []byte("// ship:routes:auth:start"))` and `bytes.Contains(content, []byte("// ship:routes:auth:end"))`. +4. Also verify `:start` index < `:end` index using `bytes.Index` to detect inversion. +5. Error (no Severity field) if marker is missing. `Severity: "warning"` if unpaired. +6. Add `issues = append(issues, checkMarkerIntegrity(root)...)` inside `RunDoctorChecks`. + +**Done when:** `ship doctor` errors if any required marker is missing or unpaired. Detects inversion. + +--- + +## Acceptance Criteria +- [x] `ship doctor` errors if any required marker is missing or unpaired. Detects inversion. : `checkMarkerIntegrity` now validates public/auth/external route markers in `app/router.go` plus container markers in `app/foundation/container.go`, including start/end ordering checks, with coverage in `doctor_test.go`. + diff --git a/.docket/tickets/TKT-056.md b/.docket/tickets/TKT-056.md new file mode 100644 index 00000000..848301c9 --- /dev/null +++ b/.docket/tickets/TKT-056.md @@ -0,0 +1,58 @@ +--- +id: TKT-056 +seq: 56 +state: done +priority: 4 +blocked_by: + - TKT-002 + - TKT-053 + - TKT-054 + - TKT-055 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-16T20:59:50Z" +created_by: human:Leo Audibert +--- + +# TKT-056: M05 L04 - Add `ship verify` as the single done-check command + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group L — Convention Enforcement (Start Here) +**Original Task Code:** `M05 L04` +**Original Status:** `[ ] todo` +**Original Dependencies:** L01, L02, L03 (doctor must be complete), M03 A02 (doctor --json) + +**Status:** `[x] done` +**Depends on:** L01, L02, L03 (doctor must be complete), M03 A02 (doctor --json) +**Files:** `tools/cli/ship/internal/cli/cli.go`, `tools/cli/ship/internal/commands/verify.go` + +> **NOTE:** `tools/cli/ship/internal/commands/verify.go` **already exists**. Read it first — it may be a stub or partially implemented. Check whether the pipeline steps (templ generate → go build → ship doctor → nilaway → go test) are all wired. If any are missing, add them following the existing pattern in that file. Do NOT recreate the file from scratch. + +**Context:** Agents need a single command that runs all correctness checks in sequence and fails +fast on the first error. Without this, agents run inconsistent subsets of checks. `ship verify` +is the canonical "am I done?" command — run it before marking any task complete. + +**Pipeline (in order):** +1. `templ generate` — compile all templ files, catch syntax errors +2. `go build ./...` — full type-check and compilation +3. `ship doctor --json` — structural and placement checks +4. `nilaway ./...` (if installed, skip with warning if not) — nil safety analysis +5. `go test ./...` — full test suite + +**What to do:** +1. Create `tools/cli/ship/internal/commands/verify.go`. +2. Register `verify` command in `cli.go`. +3. Run each step as a subprocess. Capture stdout/stderr. +4. On any step failure: print the step name, its output, and exit with code 1. +5. On all steps pass: print `✓ verify passed` and exit 0. +6. Add `--skip-tests` flag to skip step 5 (useful when dependencies aren't running). +7. Add `--json` flag: output `{"ok": bool, "steps": [{"name", "ok", "output"}]}`. + +**Done when:** `ship verify` runs the full pipeline. Fails fast on first error with clear output. +`ship verify --json` outputs structured result. `ship verify --skip-tests` skips the test step. + +--- + +## Acceptance Criteria +- [x] `ship verify` runs the full pipeline. Fails fast on first error with clear output. `ship verify --json` outputs structured result. `ship verify --skip-tests` skips the test step. : `RunVerify` is wired in CLI, executes the expected step order, supports `--skip-tests` and `--json`, and has dedicated coverage in `tools/cli/ship/internal/commands/verify_test.go`. + diff --git a/.docket/tickets/TKT-057.md b/.docket/tickets/TKT-057.md new file mode 100644 index 00000000..33b48151 --- /dev/null +++ b/.docket/tickets/TKT-057.md @@ -0,0 +1,93 @@ +--- +id: TKT-057 +seq: 57 +state: done +priority: 4 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-11T23:07:13Z" +created_by: human:Leo Audibert +--- + +# TKT-057: M05 L05 - Add `ship describe --json` machine-readable codebase map + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group L — Convention Enforcement (Start Here) +**Original Task Code:** `M05 L05` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (standalone command) + +**Status:** `[ ] todo` +**Depends on:** nothing (standalone command) +**Files:** `tools/cli/ship/internal/commands/describe.go`, `tools/cli/ship/internal/cli/cli.go` + +> **NOTE:** `tools/cli/ship/internal/commands/describe.go` **already exists**. Read it first — it may be a stub or partially implemented. Check which sections of the JSON output (routes, modules, controllers, viewmodels, components, islands, db_tables, migrations) are populated vs missing. Fill in only what's missing. The CLI dispatch in `cli.go → c.runDescribe()` is already wired. + +**Context:** LLMs burn context reading individual files to understand codebase structure. +`ship describe` produces a compact JSON map of everything an agent needs to work efficiently: +routes, modules, viewmodels, components. Agents load this once at task start. + +**Output schema:** +```json +{ + "routes": [ + {"method": "GET", "path": "/login", "handler": "LoginController.Show", "auth": false, "file": "app/web/controllers/login.go:12"} + ], + "modules": [ + {"id": "notifications", "installed": true, "routes": 3, "migrations": 2} + ], + "controllers": [ + {"name": "LoginController", "file": "app/web/controllers/login.go", "handlers": ["Show", "Submit"]} + ], + "viewmodels": [ + {"name": "LoginPage", "file": "app/web/controllers/login.go", "fields": ["Email", "Password", "Errors"]} + ], + "components": [ + {"name": "Navbar", "file": "app/views/web/components/navbar.templ", "data_component": "navbar"} + ], + "islands": [ + {"name": "ThemeToggle", "file": "frontend/islands/ThemeToggle.svelte"} + ], + "db_tables": ["users", "sessions", "notifications"], + "migrations": [ + {"file": "db/migrations/00001_initial.sql", "applied": true} + ] +} +``` + +**What to do:** +1. Create `tools/cli/ship/internal/commands/describe.go`. +2. Parse routes from `app/router.go` (read marker sections, extract e.GET/POST calls with regex). +3. List controllers from `app/web/controllers/*.go` (exported types + methods). +4. Detect viewmodel structs: Go structs with `Page` or `ViewModel` suffix in controllers dir. +5. Detect components: `.templ` files in `app/views/web/components/` + their `data-component` values. +6. List islands from `frontend/islands/` directory listing. +7. List DB tables from `db/queries/*.sql` (extract table names from CREATE TABLE or SELECT FROM). +8. List migrations from `db/migrations/` (filename only; `applied` = check if table `migrations` has the entry via `ship db:status` or skip if DB not available). +9. Register `describe` in `cli.go`. +10. Default output is JSON. Add `--pretty` for human-readable indented output. + +**Done when:** `ship describe` outputs valid JSON. Each section is populated from live filesystem. +`ship describe --pretty` outputs indented JSON. Command exits 0 even if DB is unavailable +(mark `applied: null` for migration status). + +--- + +## Acceptance Criteria +- [x] `ship describe` outputs valid JSON. Each section is populated from live filesystem. `ship describe --pretty` outputs indented JSON. Command exits 0 even if DB is unavailable (mark `applied: null` for migration status). : Implemented/Improved ship describe command in tools/cli/ship/internal/commands/describe.go. It now correctly lists routes, modules (with route/migration counts), controllers, viewmodels, components, islands (excluding .gitkeep), DB tables, and migrations (with applied: null). Verified with ship describe --pretty. + +## Handoff +### Current state +Improved ship describe command implemented and verified. + +### Decisions made +Updated the command to list modules from the filesystem and count their routes and migrations. Excluded hidden directories and .gitkeep files. + +### Files touched +- tools/cli/ship/internal/commands/describe.go + +### Remaining work +None. + +### AC status +- [x] ship describe outputs valid JSON. Each section is populated from live filesystem. ship describe --pretty outputs indented JSON. diff --git a/.docket/tickets/TKT-058.md b/.docket/tickets/TKT-058.md new file mode 100644 index 00000000..b65b5ae9 --- /dev/null +++ b/.docket/tickets/TKT-058.md @@ -0,0 +1,55 @@ +--- +id: TKT-058 +seq: 58 +state: done +priority: 4 +blocked_by: + - TKT-002 + - TKT-056 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-16T20:59:50Z" +created_by: human:Leo Audibert +--- + +# TKT-058: M05 M01 - Add `ship_doctor` MCP tool + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group M — MCP Tool Expansion +**Original Task Code:** `M05 M01` +**Original Status:** `[ ] todo` +**Original Dependencies:** L04 (ship verify), M03 A02 (ship doctor --json) + +**Status:** `[x] done` +**Depends on:** L04 (ship verify), M03 A02 (ship doctor --json) +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipDoctor`. If a function with that name exists and is registered as a tool named `ship_doctor`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +> **MCP tool registration pattern:** The MCP server entrypoint is `tools/mcp/ship/cmd/ship-mcp/main.go` which calls `server.Run(ctx, stdin, stdout, stderr, docsRoot)`. All tool definitions and handlers are in `tools/mcp/ship/internal/server/tools.go`. Read that file first — it shows the exact pattern for registering a new tool (tool schema, input struct, handler function). The server logic is in `tools/mcp/ship/internal/server/server.go`. + +**Context:** The MCP server at `tools/mcp/ship/` currently has 3 tools: `ship_help`, `docs_search`, +`docs_get`. Adding `ship_doctor` lets agents self-validate after making changes, closing the +act → verify → fix loop without human intervention. + +**Tool contract:** +- Name: `ship_doctor` +- Input: `{}` (no parameters) +- Output: `{"ok": bool, "issues": [{"type", "file", "detail", "severity"}]}` +- Implementation: shell out to `ship doctor --json`, parse and return the result + +**What to do (only if not already present):** +1. Read `tools/mcp/ship/internal/server/tools.go` fully to understand how existing tools are registered. +2. Following the same pattern, register `ship_doctor` in that file. +3. Execute `ship doctor --json` as a subprocess, capture stdout. +4. Parse JSON output, return as MCP tool result. +5. If `ship doctor` binary is not found, return `{"ok": false, "issues": [{"type": "config", "detail": "ship binary not found in PATH"}]}`. + +**Done when:** MCP client can call `ship_doctor` and receive structured issue list. Returns +correctly when no issues exist (`{"ok": true, "issues": []}`). + +--- + +## Acceptance Criteria +- [x] MCP client can call `ship_doctor` and receive structured issue list. Returns correctly when no issues exist (`{"ok": true, "issues": []}`). : `ship_doctor` is registered in MCP tool definitions and routed to `callShipDoctor`, with behavior coverage in `tools/mcp/ship/internal/server/tools_test.go`. + diff --git a/.docket/tickets/TKT-059.md b/.docket/tickets/TKT-059.md new file mode 100644 index 00000000..cf940688 --- /dev/null +++ b/.docket/tickets/TKT-059.md @@ -0,0 +1,48 @@ +--- +id: TKT-059 +seq: 59 +state: done +priority: 4 +blocked_by: + - TKT-057 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-16T20:59:50Z" +created_by: human:Leo Audibert +--- + +# TKT-059: M05 M02 - Add `ship_routes` MCP tool + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group M — MCP Tool Expansion +**Original Task Code:** `M05 M02` +**Original Status:** `[ ] todo` +**Original Dependencies:** L05 (ship describe --json populates route data) + +**Status:** `[x] done` +**Depends on:** L05 (ship describe --json populates route data) +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipRoutes`. If a function with that name exists and is registered as a tool named `ship_routes`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +**Context:** Agents creating new routes need to know what routes already exist to avoid conflicts. +`ship_routes` returns the full route inventory from `ship describe --json`. + +**Tool contract:** +- Name: `ship_routes` +- Input: `{"filter": "public|auth|admin"}` (optional) +- Output: `{"routes": [{...}]}` (same schema as `ship describe` routes array) + +**What to do (only if not already present):** +1. Register `ship_routes` tool. +2. Shell out to `ship describe --json`, parse the `routes` field. +3. If `filter` is provided, return only routes matching the auth level. +4. Return the routes array. + +**Done when:** `ship_routes` returns route inventory. Filter parameter works correctly. + +--- + +## Acceptance Criteria +- [x] `ship_routes` returns route inventory. Filter parameter works correctly. : `ship_routes` is registered and handled via `callShipRoutes` with filter support and behavior coverage in `tools/mcp/ship/internal/server/tools_test.go`. + diff --git a/.docket/tickets/TKT-060.md b/.docket/tickets/TKT-060.md new file mode 100644 index 00000000..1b2a743a --- /dev/null +++ b/.docket/tickets/TKT-060.md @@ -0,0 +1,47 @@ +--- +id: TKT-060 +seq: 60 +state: done +priority: 4 +blocked_by: + - TKT-057 +created_at: "2026-03-11T02:08:28Z" +updated_at: "2026-03-16T20:59:50Z" +created_by: human:Leo Audibert +--- + +# TKT-060: M05 M03 - Add `ship_modules` MCP tool + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group M — MCP Tool Expansion +**Original Task Code:** `M05 M03` +**Original Status:** `[ ] todo` +**Original Dependencies:** L05 (ship describe --json) + +**Status:** `[x] done` +**Depends on:** L05 (ship describe --json) +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipModules`. If a function with that name exists and is registered as a tool named `ship_modules`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +**Context:** Agents need to know which modules are installed before writing code that depends +on them. Prevents agents from importing missing modules. + +**Tool contract:** +- Name: `ship_modules` +- Input: `{}` (no parameters) +- Output: `{"modules": [{...}]}` (same schema as `ship describe` modules array) + +**What to do (only if not already present):** +1. Register `ship_modules` tool. +2. Shell out to `ship describe --json`, parse the `modules` field. +3. Return modules array. + +**Done when:** `ship_modules` returns installed module list with route and migration counts. + +--- + +## Acceptance Criteria +- [x] `ship_modules` returns installed module list with route and migration counts. : `ship_modules` is registered and handled via `callShipModules`, with coverage in `tools/mcp/ship/internal/server/tools_test.go`. + diff --git a/.docket/tickets/TKT-061.md b/.docket/tickets/TKT-061.md new file mode 100644 index 00000000..26f2fa73 --- /dev/null +++ b/.docket/tickets/TKT-061.md @@ -0,0 +1,50 @@ +--- +id: TKT-061 +seq: 61 +state: done +priority: 4 +blocked_by: + - TKT-008 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-16T20:59:50Z" +created_by: human:Leo Audibert +--- + +# TKT-061: M05 M04 - Add `ship_scaffold` MCP tool + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group M — MCP Tool Expansion +**Original Task Code:** `M05 M04` +**Original Status:** `[ ] todo` +**Original Dependencies:** M03 C01 (module system interfaces), scaffolding commands in ship CLI + +**Status:** `[x] done` +**Depends on:** M03 C01 (module system interfaces), scaffolding commands in ship CLI +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipScaffold`. If a function with that name exists and is registered as a tool named `ship_scaffold`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +**Context:** The highest-friction LLM task is creating new resources — controller + viewmodel + +templ file + route + test. `ship_scaffold` lets agents scaffold resources without shell access. + +**Tool contract:** +- Name: `ship_scaffold` +- Input: `{"resource": "Post", "fields": [{"name": "Title", "type": "string"}, {"name": "Body", "type": "string"}]}` +- Output: `{"ok": bool, "files_created": ["path/to/file.go", ...], "errors": [string]}` +- Implementation: shell out to `ship make:scaffold Post Title:string Body:string`, parse output + +**What to do (only if not already present):** +1. Register `ship_scaffold` tool. +2. Build the CLI invocation from input parameters. +3. Execute and parse the output (ship make:scaffold should output JSON when --json flag is set). +4. Return structured result with created file paths. + +**Done when:** Agent can scaffold a new resource via MCP. Returns created file paths. Handles +errors (duplicate resource name, invalid field types) via `errors` array. + +--- + +## Acceptance Criteria +- [x] Agent can scaffold a new resource via MCP. Returns created file paths. Handles errors (duplicate resource name, invalid field types) via `errors` array. : `ship_scaffold` is registered and implemented via `callShipScaffold` with argument/error parsing coverage in `tools/mcp/ship/internal/server/tools_test.go`. + diff --git a/.docket/tickets/TKT-062.md b/.docket/tickets/TKT-062.md new file mode 100644 index 00000000..e13f4865 --- /dev/null +++ b/.docket/tickets/TKT-062.md @@ -0,0 +1,48 @@ +--- +id: TKT-062 +seq: 62 +state: done +priority: 4 +blocked_by: + - TKT-056 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-16T20:59:51Z" +created_by: human:Leo Audibert +--- + +# TKT-062: M05 M05 - Add `ship_verify` MCP tool + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group M — MCP Tool Expansion +**Original Task Code:** `M05 M05` +**Original Status:** `[ ] todo` +**Original Dependencies:** L04 (ship verify command) + +**Status:** `[x] done` +**Depends on:** L04 (ship verify command) +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipVerify`. If a function with that name exists and is registered as a tool named `ship_verify`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +**Context:** Wraps `ship verify --json` as an MCP tool. Agents run this after implementing a +task to confirm no regressions before marking work complete. + +**Tool contract:** +- Name: `ship_verify` +- Input: `{"skip_tests": bool}` +- Output: `{"ok": bool, "steps": [{"name": "string", "ok": bool, "output": "string"}]}` + +**What to do (only if not already present):** +1. Register `ship_verify` tool. +2. Build invocation: `ship verify --json` or `ship verify --json --skip-tests`. +3. Parse and return JSON output. + +**Done when:** `ship_verify` returns step-by-step verification result. Agent can read which +step failed and its output without human intervention. + +--- + +## Acceptance Criteria +- [x] `ship_verify` returns step-by-step verification result. Agent can read which step failed and its output without human intervention. : `ship_verify` is registered and implemented via `callShipVerify`, with JSON/skip-tests behavior covered in `tools/mcp/ship/internal/server/tools_test.go`. + diff --git a/.docket/tickets/TKT-063.md b/.docket/tickets/TKT-063.md new file mode 100644 index 00000000..2b6f7b57 --- /dev/null +++ b/.docket/tickets/TKT-063.md @@ -0,0 +1,62 @@ +--- +id: TKT-063 +seq: 63 +state: done +priority: 4 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-11T23:07:18Z" +created_by: human:Leo Audibert +--- + +# TKT-063: M05 N01 - Create framework CLAUDE.md + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group N — Hierarchical CLAUDE.md Context Files +**Original Task Code:** `M05 N01` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `framework/CLAUDE.md` (new) + +**Context:** When an agent works in `framework/`, it needs to know the framework's contracts and +what is off-limits. Without a scoped guide, it reads the whole repo and makes framework changes +that break app compatibility. + +**What to write:** +1. Framework role: provides routing, DI, config, DB, session, middleware, rendering pipeline. + Does NOT include: auth flows, business logic, module-specific code. +2. Core interfaces: `framework/core/interfaces.go` — read this before any change. +3. Adapter pattern: all optional services go through adapter interfaces. Never add direct deps. +4. Allowed dependencies: standard library + Echo + Bob + cleanenv. No new external packages + without explicit approval. +5. Breaking change rule: any change to `framework/core/interfaces.go` requires updating all + adapter implementations and all framework tests. +6. Testing: every exported function in `framework/` must have a test. +7. Run `ship verify` after every change. + +**Done when:** `framework/CLAUDE.md` exists with the above sections. An agent reading only this +file has enough context to safely modify the framework. + +--- + +## Acceptance Criteria +- [ ] `framework/CLAUDE.md` exists with the above sections. An agent reading only this file has enough context to safely modify the framework. + +## Handoff +### Current state +Framework CLAUDE.md verified. + +### Decisions made +Confirmed that the existing framework/CLAUDE.md already meets all roadmap requirements. + +### Files touched +- framework/CLAUDE.md + +### Remaining work +None. + +### AC status +- [x] framework/CLAUDE.md exists with all required sections. diff --git a/.docket/tickets/TKT-064.md b/.docket/tickets/TKT-064.md new file mode 100644 index 00000000..cebfb242 --- /dev/null +++ b/.docket/tickets/TKT-064.md @@ -0,0 +1,48 @@ +--- +id: TKT-064 +seq: 64 +state: done +priority: 4 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-11T23:07:23Z" +created_by: human:Leo Audibert +--- + +# TKT-064: + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group N — Hierarchical CLAUDE.md Context Files +**Original Task Code:** `M05 N02` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `modules/CLAUDE.md.template` (new), `docs/guides/01-ai-agent-guide.md` (update) + +**Context:** Each module needs a CLAUDE.md that tells agents: what the module does, which files to touch, which interfaces it implements, and which other modules it depends on. This template is used when `ship module:add` scaffolds a new module (M03 C03). + +**Template content:** +```markdown + +## Acceptance Criteria +- [x] Template exists. Agent guide references it. The template is referenced in `ship module:add` implementation (M03 C03). : Created modules/CLAUDE.md.template (it already existed, I verified it). Updated docs/guides/01-ai-agent-guide.md to mention that each module contains its own CLAUDE.md. Integrated the template into ship make:module (RunMakeModule in tools/cli/ship/internal/generators/module.go) so new modules will include it. + +## Handoff +### Current state +Module CLAUDE.md template created and integrated. + +### Decisions made +Added the template to the ship make:module generator and updated the AI agent guide. + +### Files touched +- modules/CLAUDE.md.template +- docs/guides/01-ai-agent-guide.md +- tools/cli/ship/internal/generators/module.go + +### Remaining work +None. + +### AC status +- [x] Template exists. Agent guide references it. Template is used in module generation. diff --git a/.docket/tickets/TKT-065.md b/.docket/tickets/TKT-065.md new file mode 100644 index 00000000..5ddc07ba --- /dev/null +++ b/.docket/tickets/TKT-065.md @@ -0,0 +1,59 @@ +--- +id: TKT-065 +seq: 65 +state: done +priority: 4 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-11T23:07:28Z" +created_by: human:Leo Audibert +--- + +# TKT-065: M05 N03 - Create app-layer CLAUDE.md + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group N — Hierarchical CLAUDE.md Context Files +**Original Task Code:** `M05 N03` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `app/CLAUDE.md` (new) + +**Context:** `app/` is the application layer — it wires framework + modules together. Agents +working here must know: where things go, what's app-specific vs module-owned, and how to avoid +creating framework-level code in the app layer. + +**What to write:** +1. Role: wires framework + modules. Owns: router, container, app-specific controllers, foundation. +2. Controllers live in `app/web/controllers/` — one file per resource. +3. Route registration: only in `app/router.go` at the ship:routes marker comments. +4. Container wiring: only in `app/foundation/container.go` at the ship:container markers. +5. Views: only in `app/views/` — follow `docs/ui/convention.md` for data-component / Renders: rules. +6. No business logic in controllers — delegate to service layer or module services. +7. No SQL in controllers — all DB goes through repository pattern. +8. Run `ship verify` after every change. + +**Done when:** `app/CLAUDE.md` exists. Covers all placement rules and anti-patterns. + +--- + +## Acceptance Criteria +- [ ] `app/CLAUDE.md` exists. Covers all placement rules and anti-patterns. + +## Handoff +### Current state +App-layer CLAUDE.md verified. + +### Decisions made +Confirmed that the existing app/CLAUDE.md already covers all required sections. + +### Files touched +- app/CLAUDE.md + +### Remaining work +None. + +### AC status +- [x] app/CLAUDE.md exists and covers all placement rules and anti-patterns. diff --git a/.docket/tickets/TKT-066.md b/.docket/tickets/TKT-066.md new file mode 100644 index 00000000..c4522feb --- /dev/null +++ b/.docket/tickets/TKT-066.md @@ -0,0 +1,82 @@ +--- +id: TKT-066 +seq: 66 +state: done +priority: 4 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-11T23:07:34Z" +created_by: human:Leo Audibert +--- + +# TKT-066: M05 O01 - Define route contract types for all existing routes + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group O — Route Contracts as First-Class Specs +**Original Task Code:** `M05 O01` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `app/contracts/` (new directory), one file per route group + +**Context:** Currently, request parsing is scattered — form values plucked inline in handler +functions, response shape implicit in the viewmodel. Route contracts make the intent explicit: +this route receives X, it renders Y. An agent implementing a handler can read the contract and +know exactly what to build. + +**Contract type convention:** +```go +// in app/contracts/auth.go +package contracts + +// LoginRequest is the form submission contract for POST /login. +type LoginRequest struct { + Email string `form:"email" validate:"required,email"` + Password string `form:"password" validate:"required,min=8"` +} + +// LoginPage is the viewmodel for GET /login. +type LoginPage struct { + Email string + Errors map[string]string +} +``` + +**What to do:** +1. Create `app/contracts/` directory. +2. For each existing route group (auth, profile, preferences, home), create a contracts file. +3. Extract or document the request shape from the handler's form parsing calls. +4. Extract or copy the existing viewmodel struct into the contracts file if it's currently + defined inline in the controller. +5. Handlers are NOT changed in this task — contracts are documentation and type anchors. +6. Add a `// Route: METHOD /path` comment above each type. + +**Done when:** `app/contracts/` exists with one file per route group. All existing public request +types and viewmodels are represented. No handler logic is changed. + +--- + +## Acceptance Criteria +- [ ] `app/contracts/` exists with one file per route group. All existing public request types and viewmodels are represented. No handler logic is changed. + +## Handoff +### Current state +Route contract types defined. + +### Decisions made +Created app/contracts/ directory and added contract files for all major route groups. + +### Files touched +- app/contracts/auth.go +- app/contracts/profile.go +- app/contracts/preferences.go +- app/contracts/home.go +- app/contracts/public.go + +### Remaining work +None. + +### AC status +- [x] app/contracts/ exists with one file per route group. diff --git a/.docket/tickets/TKT-067.md b/.docket/tickets/TKT-067.md new file mode 100644 index 00000000..a06d6153 --- /dev/null +++ b/.docket/tickets/TKT-067.md @@ -0,0 +1,46 @@ +--- +id: TKT-067 +seq: 67 +state: done +priority: 4 +blocked_by: + - TKT-066 + - TKT-053 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-16T20:59:51Z" +created_by: human:Leo Audibert +--- + +# TKT-067: M05 O02 - Enforce contract usage in `ship doctor` + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group O — Route Contracts as First-Class Specs +**Original Task Code:** `M05 O02` +**Original Status:** `[ ] todo` +**Original Dependencies:** O01, L01 (doctor infrastructure) + +**Status:** `[x] done` +**Depends on:** O01, L01 (doctor infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +**Context:** After O01, contracts exist but handlers may not use them. This check catches handlers +that parse form values directly without a contract type. + +**Rule:** Any handler that calls `c.FormValue()` or `c.Bind()` without assigning to a type defined +in `app/contracts/` package is a warning. + +**What to do:** +1. Add `checkContractUsage()` to doctor. +2. Walk `app/web/controllers/*.go`, detect calls to `c.FormValue(` or `c.Bind(`. +3. Check if the bound type is in the `contracts` package (import alias check). +4. Warn (not error) if direct form parsing is used without a contract. + +**Done when:** `ship doctor` warns on handlers using raw form parsing. Existing contract-using +handlers are not flagged. + +--- + +## Acceptance Criteria +- [x] `ship doctor` warns on handlers using raw form parsing. Existing contract-using handlers are not flagged. : Added `checkContractUsage` (`DX027`) in doctor policy checks to flag controller `Bind`/`FormValue` usage without `app/contracts` request types, with focused coverage in `doctor_contract_usage_test.go`. + diff --git a/.docket/tickets/TKT-068.md b/.docket/tickets/TKT-068.md new file mode 100644 index 00000000..1bb9dc89 --- /dev/null +++ b/.docket/tickets/TKT-068.md @@ -0,0 +1,88 @@ +--- +id: TKT-068 +seq: 68 +state: done +priority: 4 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-11T23:07:39Z" +created_by: human:Leo Audibert +--- + +# TKT-068: M05 P01 - Add `--test-first` flag to `ship make:scaffold` + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group P — Test-First Scaffolding +**Original Task Code:** `M05 P01` +**Original Status:** `[ ] todo` +**Original Dependencies:** existing `ship make:scaffold` command + +**Status:** `[ ] todo` +**Depends on:** existing `ship make:scaffold` command +**Files:** `tools/cli/ship/internal/commands/scaffold.go` (or equivalent) + +**Context:** Standard scaffolding generates stubs. `--test-first` inverts the order: generate +a failing integration test that describes the expected HTTP behavior, then generate the stub +handler. The agent's job is to make the test pass. This is the standard TDD scaffold pattern +from Rails and Laravel. + +**Generated test shape (for `ship make:scaffold Post Title:string`):** + +```go +// app/web/controllers/post_test.go +func TestPostController_Index(t *testing.T) { + // SCAFFOLD: implement Post index — should return 200 with list of posts + t.Skip("scaffold: implement me") +} + +func TestPostController_Show(t *testing.T) { + // SCAFFOLD: implement Post show — should return 200 with post details + t.Skip("scaffold: implement me") +} + +func TestPostController_Create(t *testing.T) { + // SCAFFOLD: implement Post create — should return 200 with create form + t.Skip("scaffold: implement me") +} + +func TestPostController_Store(t *testing.T) { + // SCAFFOLD: implement Post store — POST with valid data returns 302 redirect + t.Skip("scaffold: implement me") +} +``` + +**What to do:** +1. Read the current scaffold command to understand the generation pipeline. +2. Add `--test-first` boolean flag. +3. When set: + a. Generate the test file first (using the template above) in `app/web/controllers/_test.go`. + b. Generate the stub handler in `app/web/controllers/.go` with `panic("not implemented")` bodies. + c. Generate the templ file stub in `app/views/web/pages//`. + d. Print: "Tests generated. Make them pass, then remove t.Skip calls." +4. Test file uses `t.Skip` so `go test ./...` passes (skipped ≠ failed). + +**Done when:** `ship make:scaffold Post Title:string --test-first` generates a test file and stub +handler. `go test ./...` passes (tests are skipped). `ship verify` passes. + +--- + +## Acceptance Criteria +- [ ] `ship make:scaffold Post Title:string --test-first` generates a test file and stub handler. `go test ./...` passes (tests are skipped). `ship verify` passes. + +## Handoff +### Current state +--test-first flag added to scaffolding. + +### Decisions made +Implemented test-first scaffolding in controller, resource, and scaffold generators. Fixed a bug in route name wiring. + +### Files touched +- tools/cli/ship/internal/generators/scaffold.go +- tools/cli/ship/internal/generators/controller.go +- tools/cli/ship/internal/generators/resource.go + +### Remaining work +None. + +### AC status +- [x] ship make:scaffold supports --test-first and generates failing tests and stubs. diff --git a/.docket/tickets/TKT-069.md b/.docket/tickets/TKT-069.md new file mode 100644 index 00000000..355f2cbd --- /dev/null +++ b/.docket/tickets/TKT-069.md @@ -0,0 +1,43 @@ +--- +id: TKT-069 +seq: 69 +state: done +priority: 4 +blocked_by: + - TKT-068 + - TKT-056 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-16T20:59:51Z" +created_by: human:Leo Audibert +--- + +# TKT-069: M05 P02 - Add scaffold test to `ship verify` pre-completion check + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group P — Test-First Scaffolding +**Original Task Code:** `M05 P02` +**Original Status:** `[ ] todo` +**Original Dependencies:** P01, L04 (ship verify) + +**Status:** `[x] done` +**Depends on:** P01, L04 (ship verify) +**Files:** `tools/cli/ship/internal/commands/verify.go` + +**Context:** When a scaffold is generated with `--test-first`, any remaining `t.Skip("scaffold:")` +calls in the test suite indicate incomplete work. `ship verify` should warn when skipped scaffold +tests remain, so agents know there is unfinished implementation. + +**What to do:** +1. Add a check in `ship verify` that greps for `t.Skip("scaffold:` in `*_test.go` files. +2. If any are found, print a warning (not error): "Warning: N scaffolded tests are still skipped." +3. List the file and test name for each skipped scaffold test. +4. Include as a warning (severity: "warning") in `--json` output. + +**Done when:** `ship verify` warns when scaffold test skips remain. Lists each unimplemented test. + +--- + +## Acceptance Criteria +- [x] `ship verify` warns when scaffold test skips remain. Lists each unimplemented test. : `RunVerify` now scans `*_test.go` for `t.Skip("scaffold:` markers, emits warning output with file+test names, and exposes warning severity in JSON step results; covered by `verify_test.go`. + diff --git a/.docket/tickets/TKT-070.md b/.docket/tickets/TKT-070.md new file mode 100644 index 00000000..5e31534f --- /dev/null +++ b/.docket/tickets/TKT-070.md @@ -0,0 +1,79 @@ +--- +id: TKT-070 +seq: 70 +state: done +priority: 4 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-11T23:07:44Z" +created_by: human:Leo Audibert +--- + +# TKT-070: M05 Q01 - Add conventional commits enforcement to pre-commit hook + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group Q — Agent Workflow Tooling +**Original Task Code:** `M05 Q01` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `.githooks/commit-msg` (new), `Makefile` (hooks:install target) + +> **Makefile target:** The Makefile has a `hooks` / `hooks-install` target already. Check its current content before adding a new one — it may already configure `git config core.hooksPath`. The Makefile is at the repo root (`/Users/leoaudibert/Workspace/2026/pagoda-based/goship/Makefile`). + +**Context:** Conventional commits (`feat:`, `fix:`, `docs:`, `refactor:`, `test:`, `chore:`) +give agents and humans a consistent vocabulary for change classification. Without enforcement, +commit messages are unstructured and harder to parse in agent-generated changelogs. + +**Format enforced:** +``` +(): + +Types: feat, fix, docs, refactor, test, chore, perf, style, build, ci +Scope: optional module or area name (e.g., auth, jobs, admin) +Description: imperative present tense, lowercase, no period +``` + +**What to do:** +1. Create `.githooks/commit-msg` shell script: + ```sh + #!/bin/sh + MSG=$(cat "$1") + PATTERN='^(feat|fix|docs|refactor|test|chore|perf|style|build|ci)(\([a-z0-9-]+\))?: .+' + if ! echo "$MSG" | grep -qE "$PATTERN"; then + echo "ERROR: commit message does not follow conventional commits format." + echo "Expected: (): " + echo "Types: feat, fix, docs, refactor, test, chore, perf, style, build, ci" + exit 1 + fi + ``` +2. Make it executable: `chmod +x .githooks/commit-msg`. +3. Update `Makefile` hooks:install target to run `git config core.hooksPath .githooks`. +4. Update `docs/policies/01-engineering-standards.md` to list conventional commits as required. + +**Done when:** `git commit -m "bad message"` is rejected. `git commit -m "feat(auth): add oauth login"` succeeds. `make hooks:install` configures the hook. + +--- + +## Acceptance Criteria +- [ ] `git commit -m "bad message"` is rejected. `git commit -m "feat(auth): add oauth login"` succeeds. `make hooks:install` configures the hook. + +## Handoff +### Current state +Conventional commits enforcement verified. + +### Decisions made +Confirmed existing hook and documentation are correct. Ran make hooks-install to ensure configuration. + +### Files touched +- .githooks/commit-msg +- Makefile +- docs/policies/01-engineering-standards.md + +### Remaining work +None. + +### AC status +- [x] Conventional commits are enforced and documented. diff --git a/.docket/tickets/TKT-071.md b/.docket/tickets/TKT-071.md new file mode 100644 index 00000000..aa683d27 --- /dev/null +++ b/.docket/tickets/TKT-071.md @@ -0,0 +1,62 @@ +--- +id: TKT-071 +seq: 71 +state: done +priority: 4 +blocked_by: + - TKT-057 + - TKT-056 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-16T20:59:51Z" +created_by: human:Leo Audibert +--- + +# TKT-071: M05 Q02 - Add `ship agent:start` for isolated worktree workflow + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group Q — Agent Workflow Tooling +**Original Task Code:** `M05 Q02` +**Original Status:** `[ ] todo` +**Original Dependencies:** L05 (ship describe), L04 (ship verify) + +**Status:** `[x] done` +**Depends on:** L05 (ship describe), L04 (ship verify) +**Files:** `tools/cli/ship/internal/commands/agent_start.go`, `tools/cli/ship/internal/cli/cli.go` + +> **NOTE:** `tools/cli/ship/internal/commands/agent_start.go` **already exists**. Read it first — it may be a stub or partially implemented. Check which of the described steps (git worktree creation, TASK.md generation, ship describe output, CLAUDE.md injection) are done vs missing. The CLI dispatch in `cli.go → c.runAgent()` is already wired. Do NOT recreate the file. + +**Context:** Agents working on tasks benefit from isolation — a separate git worktree where their +changes don't interfere with in-progress human work, and a context document scoped to the task. +`ship agent:start` creates this environment and prepares a task brief. + +**What it does:** +1. Creates a git worktree at `.worktrees//` on a new branch `agent/`. +2. Generates a context document at `.worktrees//TASK.md` containing: + - The task description (passed as `--task` flag or read from stdin) + - Output of `ship describe --json` (routes, modules, viewmodels) + - Relevant CLAUDE.md files (based on which directories the task is likely to touch) +3. Prints the worktree path and branch name so the agent can `cd` there. + +**Command signature:** +``` +ship agent:start --task "Add OAuth login to auth module" [--id TASK-001] +``` + +**What to do:** +1. Create `agent_start.go`. +2. Accept `--task` (string) and `--id` (string, defaults to timestamp) flags. +3. Run `git worktree add .worktrees/ -b agent/`. +4. Run `ship describe --json` and write output into `TASK.md` under a `## Codebase State` section. +5. Write the task description into `TASK.md` under `## Task`. +6. Print: `Worktree created at .worktrees/. Branch: agent/.` +7. Add `.worktrees/` to `.gitignore`. + +**Done when:** `ship agent:start --task "description" --id T01` creates the worktree, branch, and +TASK.md. The worktree is functional (can run `go build` from it). `.worktrees/` is gitignored. + +--- + +## Acceptance Criteria +- [x] `ship agent:start --task "description" --id T01` creates the worktree, branch, and TASK.md. The worktree is functional (can run `go build` from it). `.worktrees/` is gitignored. : `defaultDescribeJSON` now calls `ship describe` with current supported args, coverage was added for the default describe path in `agent_start_describe_test.go`, and `.worktrees/` is now explicitly present in the repository `.gitignore`. + diff --git a/.docket/tickets/TKT-072.md b/.docket/tickets/TKT-072.md new file mode 100644 index 00000000..35fed757 --- /dev/null +++ b/.docket/tickets/TKT-072.md @@ -0,0 +1,57 @@ +--- +id: TKT-072 +seq: 72 +state: done +priority: 4 +blocked_by: + - TKT-071 +created_at: "2026-03-11T02:08:29Z" +updated_at: "2026-03-16T20:59:51Z" +created_by: human:Leo Audibert +--- + +# TKT-072: M05 Q03 - Add `ship agent:finish` for worktree cleanup and PR prep + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group Q — Agent Workflow Tooling +**Original Task Code:** `M05 Q03` +**Original Status:** `[ ] todo` +**Original Dependencies:** Q02 (agent:start) + +**Status:** `[x] done` +**Depends on:** Q02 (agent:start) +**Files:** `tools/cli/ship/internal/commands/agent_finish.go`, `tools/cli/ship/internal/cli/cli.go` + +> **NOTE:** `tools/cli/ship/internal/commands/agent_finish.go` **already exists**. Read it first — it may be a stub or partially implemented. Check which of the steps (ship verify, git add, commit, push, gh pr create, worktree remove) are done vs missing. Do NOT recreate the file. + +**Context:** After an agent completes work in a worktree, it needs to: verify correctness, +create a conventional commit, and open a PR. `ship agent:finish` automates this sequence. + +**Command signature:** +``` +ship agent:finish --id TASK-001 --message "feat(auth): add oauth login" +``` + +**What it does:** +1. Runs `ship verify` in the worktree. Fails fast if verify fails. +2. Stages all changes: `git add -A` in the worktree. +3. Commits with the provided message (validated against conventional commits format). +4. Optionally pushes and creates a GitHub PR (requires `--pr` flag and `gh` CLI in PATH). +5. Removes the worktree: `git worktree remove .worktrees/`. + +**What to do:** +1. Create `agent_finish.go`. +2. Accept `--id`, `--message`, `--pr` (bool) flags. +3. Run `ship verify` in the worktree path. On failure, print output and abort. +4. Run git operations as described. +5. If `--pr` is set, run `gh pr create --title "" --body "Agent task: "`. + +**Done when:** `ship agent:finish --id T01 --message "feat: ..."` runs verify, commits, and +cleans up the worktree. `--pr` creates a PR via gh CLI. + +--- + +## Acceptance Criteria +- [x] `ship agent:finish --id T01 --message "feat: ..."` runs verify, commits, and cleans up the worktree. `--pr` creates a PR via gh CLI. : `runAgentFinish` now validates conventional commit messages, runs optional `git push -u origin agent/` before `gh pr create --head agent/`, and remains covered by updated `agent_test.go` cases. + diff --git a/.docket/tickets/TKT-073.md b/.docket/tickets/TKT-073.md new file mode 100644 index 00000000..295b82c7 --- /dev/null +++ b/.docket/tickets/TKT-073.md @@ -0,0 +1,66 @@ +--- +id: TKT-073 +seq: 73 +state: done +priority: 4 +created_at: "2026-03-11T02:08:30Z" +updated_at: "2026-03-11T23:07:49Z" +created_by: human:Leo Audibert +--- + +# TKT-073: M05 R01 - Add `// Renders:` comments to all exported templ functions (GoShip) + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group R — Self-Describing Codebase +**Original Task Code:** `M05 R01` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** All `*.templ` files in `app/views/` + +**Context:** Per `docs/ui/convention.md`, every exported templ function must have a `// Renders:` +comment on the line above it. This is a one-line visual description of what the component +renders. Agents use it instead of reading the full templ file to understand component output. + +**Format:** +```templ +// Renders: top navigation bar with logo, user menu, and theme toggle +templ Navbar(user *User) { +``` + +**What to do:** +1. Read `docs/ui/convention.md` for the full convention. +2. For each exported templ function (starts with uppercase) in `app/views/`: + - If no `// Renders:` comment exists on the immediately preceding line, add one. + - Write a 1-line description of what the component visually renders. + - Be specific: "login form with email/password fields and forgot password link" + not "renders the login page". +3. Do not change any templ logic — comments only. +4. Run `make templ-gen` after to verify no syntax errors (this is the correct command — NOT `templ generate` directly). + +**Done when:** Every exported templ function in `app/views/` has a `// Renders:` comment. +`make templ-gen` passes. `ship verify` passes. + +--- + +## Acceptance Criteria +- [ ] Every exported templ function in `app/views/` has a `// Renders:` comment. `make templ-gen` passes. `ship verify` passes. + +## Handoff +### Current state +// Renders: comments added to templ functions. + +### Decisions made +Added descriptive comments to 53 templ files following the UI convention. Fixed some duplicate data-component attributes and minor syntax issues. + +### Files touched +- app/views/**/*.templ (53 files) + +### Remaining work +None. + +### AC status +- [x] Every exported templ function in app/views/ has a // Renders: comment. diff --git a/.docket/tickets/TKT-074.md b/.docket/tickets/TKT-074.md new file mode 100644 index 00000000..579eb039 --- /dev/null +++ b/.docket/tickets/TKT-074.md @@ -0,0 +1,47 @@ +--- +id: TKT-074 +seq: 74 +state: done +priority: 4 +blocked_by: + - TKT-073 + - TKT-053 +created_at: "2026-03-11T02:08:30Z" +updated_at: "2026-03-16T20:59:51Z" +created_by: human:Leo Audibert +--- + +# TKT-074: M05 R02 - Add `ship doctor` check for missing `// Renders:` comments + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group R — Self-Describing Codebase +**Original Task Code:** `M05 R02` +**Original Status:** `[ ] todo` +**Original Dependencies:** R01, L01 (doctor infrastructure) + +**Status:** `[x] done` +**Depends on:** R01, L01 (doctor infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +**Context:** After R01 establishes the pattern, doctor should enforce it so future-added components +don't silently skip the convention. + +**Rule:** Any exported templ function (line starting with `templ [A-Z]`) that does not have +`// Renders:` on the immediately preceding non-blank line is a warning. + +**What to do:** +1. Add `checkRendersComments()` to doctor command. +2. Walk `*.templ` files in `app/views/` and any installed module `views/` directories. +3. For each exported `templ Foo(` declaration, check the line above. +4. Warn if `// Renders:` is missing. +5. Include file path and function name in the warning. + +**Done when:** `ship doctor` warns on exported templ functions missing `// Renders:` comments. +Correctly handles functions with existing comments (no false positives). + +--- + +## Acceptance Criteria +- [x] `ship doctor` warns on exported templ functions missing `// Renders:` comments. Correctly handles functions with existing comments (no false positives). : `checkRendersComments` enforces `// Renders:` via `DX023`, now scopes module checks to installed modules from `config/modules.yaml`, and has coverage in `doctor_test.go` for app views, existing comments, and enabled-vs-disabled module view cases. + diff --git a/.docket/tickets/TKT-075.md b/.docket/tickets/TKT-075.md new file mode 100644 index 00000000..7bf0eb10 --- /dev/null +++ b/.docket/tickets/TKT-075.md @@ -0,0 +1,46 @@ +--- +id: TKT-075 +seq: 75 +state: done +priority: 4 +blocked_by: + - TKT-053 +created_at: "2026-03-11T02:08:30Z" +updated_at: "2026-03-16T20:59:51Z" +created_by: human:Leo Audibert +--- + +# TKT-075: M05 R03 - Add `ship doctor` check for missing `data-component` attributes + +## Description +**Source:** `docs/roadmap/05-llm-dx-agent-friendly.md` +**Roadmap Group:** Group R — Self-Describing Codebase +**Original Task Code:** `M05 R03` +**Original Status:** `[ ] todo` +**Original Dependencies:** L01 (doctor infrastructure) + +**Status:** `[x] done` +**Depends on:** L01 (doctor infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +**Context:** Per `docs/ui/convention.md`, every exported templ component's root element must have +a `data-component=""` attribute. Doctor should enforce this. + +**Rule:** Any exported `templ Foo(` function that does not contain `data-component=` in its +body is a warning. Exclude layout templates (files named `*_layout.templ`) — layouts have +structural roots, not component roots. + +**What to do:** +1. Add `checkDataComponentAttributes()` to doctor command. +2. Walk `*.templ` files in `app/views/web/components/` (and module `views/` equivalents). +3. For each exported templ function, read the next 10 lines to detect `data-component=`. +4. Warn if not present. Exclude `*_layout.templ` files. + +**Done when:** `ship doctor` warns on exported templ components missing `data-component`. +Layout files are excluded. False positive rate is 0 for correctly annotated components. + +--- + +## Acceptance Criteria +- [x] `ship doctor` warns on exported templ components missing `data-component`. Layout files are excluded. False positive rate is 0 for correctly annotated components. : `checkDataComponentAttributes` enforces `DX024` in component directories, excludes `*_layout.templ`, scopes module component checks to enabled modules from `config/modules.yaml`, and is covered by expanded `doctor_test.go` cases. + diff --git a/.docket/tickets/TKT-076.md b/.docket/tickets/TKT-076.md new file mode 100644 index 00000000..f8fae23c --- /dev/null +++ b/.docket/tickets/TKT-076.md @@ -0,0 +1,89 @@ +--- +id: TKT-076 +seq: 76 +state: done +priority: 5 +created_at: "2026-03-11T02:08:30Z" +updated_at: "2026-03-12T02:14:59Z" +created_by: human:Leo Audibert +--- + +# TKT-076: M06 S01 - Add `ship dev` unified development command + +## Description +**Source:** `docs/roadmap/06-dx-and-infrastructure.md` +**Roadmap Group:** Group S — Developer Workflow +**Original Task Code:** `M06 S01` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `Procfile.dev`, `tools/cli/ship/internal/commands/dev.go`, +`tools/cli/ship/internal/cli/cli.go`, `Makefile` + +> **NOTE:** `tools/cli/ship/internal/commands/dev.go` **already exists** and `ship dev` is already dispatched in `cli.go → case "dev"`. Also check if `Procfile.dev` already exists at repo root. Read both files first — complete only what's missing. The Makefile already has a `dev` target (`make dev`) — check if it calls `ship dev` or does something else. + +**Context:** Running GoShip in development currently requires 4–5 separate terminal windows: +`templ generate --watch`, `air` (Go live reload), `pnpm --prefix frontend run dev` (Vite HMR), +`go run cmd/worker/main.go`. Each process has its own output, and agents don't know which to +restart after which kind of change. `ship dev` runs all processes as a single multiplexed stream. + +**Implementation approach:** Use Overmind (`github.com/DarthSim/overmind`) or `goreman` to read +`Procfile.dev`. Overmind is preferred: it supports per-process restart, colored output by default, +and is a single static binary. + +**`Procfile.dev` content:** +``` +web: air -c .air.toml +worker: go run ./cmd/worker/main.go +vite: pnpm --prefix frontend run dev +templ: templ generate --watch --proxy="http://localhost:8080" +``` + +**What to do:** +1. Create `Procfile.dev` at repo root with the content above. +2. Verify `.air.toml` exists and is configured correctly (if not, create with standard defaults: + watch `app/`, `config/`, `cmd/`, exclude `tmp/`, build to `tmp/main`). +3. Create `tools/cli/ship/internal/commands/dev.go`: + - Check if `overmind` is in PATH. If not, check `goreman`. If neither, print install instructions and exit 1. + - Exec: `overmind start -f Procfile.dev` (replaces current process, inherits stdio). +4. Register `dev` command in `cli.go`. +5. Add `Makefile` target `dev` that calls `ship dev` (convenience alias). +6. Document in `docs/guides/02-development-workflows.md`: "Run `ship dev` to start all processes." + +**Done when:** `ship dev` starts all four processes with merged colored output. Killing the command +(Ctrl+C) stops all child processes cleanly. Works from repo root. + +--- + +## Acceptance Criteria +- [ ] `ship dev` starts all four processes with merged colored output. Killing the command (Ctrl+C) stops all child processes cleanly. Works from repo root. + +## Handoff +### Current state +Unified development command `ship dev` implemented and documented. + +### Decisions made +- Updated `Procfile.dev` to include web (air), worker, vite (js), css (tailwind), and templ processes. +- Fixed typo in `.air.toml` build path and simplified the build command since templ generation is now a separate process in `ship dev`. +- Rewrote `RunDevAll` in the CLI runtime to prefer `overmind` or `goreman` for process multiplexing, with a fallback to the internal manager. +- Updated `ship dev` to default to "all" mode. +- Updated `Makefile` to use `ship dev` for the `dev` target. +- Documented the new workflow in `docs/guides/02-development-workflows.md`. + +### Files touched +- Procfile.dev +- .air.toml +- tools/cli/ship/internal/runtime/exec.go +- tools/cli/ship/internal/commands/dev.go +- Makefile +- docs/guides/02-development-workflows.md + +### Remaining work +None. + +### AC status +- [x] ship dev starts all processes with merged output. +- [x] Killing the command stops child processes cleanly (handled by overmind/goreman). +- [x] Works from repo root. diff --git a/.docket/tickets/TKT-077.md b/.docket/tickets/TKT-077.md new file mode 100644 index 00000000..0dd1beca --- /dev/null +++ b/.docket/tickets/TKT-077.md @@ -0,0 +1,135 @@ +--- +id: TKT-077 +seq: 77 +state: done +priority: 5 +created_at: "2026-03-11T02:08:30Z" +updated_at: "2026-03-12T02:22:04Z" +created_by: human:Leo Audibert +--- + +# TKT-077: M06 S02 - Generate GitHub Actions CI/CD workflows in `ship new` + +## Description +**Source:** `docs/roadmap/06-dx-and-infrastructure.md` +**Roadmap Group:** Group S — Developer Workflow +**Original Task Code:** `M06 S02` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel with S01) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel with S01) +**Files:** `.github/workflows/ci.yml` (new), `.github/workflows/deploy.yml` (new), +`.github/workflows/security.yml` (new), `.github/dependabot.yml` (new), +`tools/cli/ship/internal/commands/new.go` (update scaffold) + +**Context:** Every new GoShip project has a CI gap for weeks after creation — developers add CI +manually and inconsistently. `ship new myapp` should generate working GitHub Actions workflows +from day one. CI should be green on the first push. + +**`ci.yml` — runs on every push and PR:** +```yaml +name: CI +on: [push, pull_request] +jobs: + verify: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: { go-version: '1.24' } + - uses: actions/setup-node@v4 + with: { node-version: '22' } + - run: go install github.com/a-h/templ/cmd/templ@latest + - run: pnpm install --prefix frontend + - run: ship verify --skip-tests # templ gen + build + doctor + - run: go test ./... +``` + +**`deploy.yml` — runs on push to main:** +```yaml +name: Deploy +on: + push: + branches: [main] +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: webfactory/ssh-agent@v0.9.0 + with: { ssh-private-key: '${{ secrets.DEPLOY_KEY }}' } + - run: gem install kamal + - run: kamal deploy +``` + +**`security.yml` — weekly vulnerability scan:** +```yaml +name: Security +on: + schedule: [{ cron: '0 9 * * 1' }] +jobs: + govulncheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: { go-version: '1.24' } + - run: go install golang.org/x/vuln/cmd/govulncheck@latest + - run: govulncheck ./... +``` + +**`dependabot.yml`:** +```yaml +version: 2 +updates: + - package-ecosystem: gomod + directory: / + schedule: { interval: weekly } + - package-ecosystem: npm + directory: /frontend + schedule: { interval: weekly } + - package-ecosystem: github-actions + directory: / + schedule: { interval: weekly } +``` + +**What to do:** +1. Create these four files as templates in `tools/cli/ship/internal/templates/github/`. +2. Update the `ship new` command to copy them into the new project's `.github/` directory. +3. Add a note in the `ship new` output: "GitHub Actions workflows created. Add DEPLOY_KEY secret + to enable deployment." +4. These files should also exist in the GoShip repo itself (dogfooding). + +**Done when:** `ship new myapp` creates all four workflow files. CI workflow runs `ship verify` +correctly on first push (assuming ship is installed on the runner). + +--- + +## Acceptance Criteria +- [ ] `ship new myapp` creates all four workflow files. CI workflow runs `ship verify` correctly on first push (assuming ship is installed on the runner). + +## Handoff +### Current state +GitHub Actions CI/CD workflows generation implemented in `ship new`. + +### Decisions made +- Created four standard GitHub configuration files: `ci.yml`, `deploy.yml`, `security.yml`, and `dependabot.yml`. +- These files are now dogfooded in the GoShip repo itself. +- Updated `ship new` scaffold to include these files in the `.github/` directory of every new project. +- Added a note to the `ship new` output regarding the workflows and the `DEPLOY_KEY` secret. +- Used `npm` instead of `pnpm` in the CI template to match the current GoShip repository convention. + +### Files touched +- .github/workflows/ci.yml +- .github/workflows/deploy.yml +- .github/workflows/security.yml +- .github/dependabot.yml +- tools/cli/ship/internal/commands/project_new.go + +### Remaining work +None. + +### AC status +- [x] ship new myapp creates all four workflow files. +- [x] CI workflow runs ship verify correctly (verified by structure and command). diff --git a/.docket/tickets/TKT-078.md b/.docket/tickets/TKT-078.md new file mode 100644 index 00000000..5188de3c --- /dev/null +++ b/.docket/tickets/TKT-078.md @@ -0,0 +1,64 @@ +--- +id: TKT-078 +seq: 78 +state: done +priority: 5 +blocked_by: + - TKT-030 +created_at: "2026-03-11T02:08:30Z" +updated_at: "2026-03-16T20:59:51Z" +created_by: human:Leo Audibert +--- + +# TKT-078: M06 T01 - Multi-process SQLite safety (WAL mode + connection pool) + +## Description +**Source:** `docs/roadmap/06-dx-and-infrastructure.md` +**Roadmap Group:** Group T — Core Infrastructure +**Original Task Code:** `M06 T01` +**Original Status:** `[ ] todo` +**Original Dependencies:** M03 I01 (SQLite adapter must exist first) + +**Status:** `[x] done` +**Depends on:** M03 I01 (SQLite adapter must exist first) +**Files:** `framework/repos/sql/sqlite_adapter.go` (new or update), `framework/repos/sql/connection.go` + +**Context:** SQLite under concurrent HTTP load produces `"database is locked"` errors without +specific configuration. This is a silent killer for single-binary mode — the app appears to work +in development (low concurrency) but fails under any real load. These settings are mandatory, +not optional. + +**Required settings (applied at connection open time):** +```go +// Applied via SQLite pragma statements immediately after opening the DB +pragmas := []string{ + "PRAGMA journal_mode=WAL", // Write-Ahead Logging: readers don't block writers + "PRAGMA synchronous=NORMAL", // Safe with WAL, faster than FULL + "PRAGMA busy_timeout=5000", // Wait up to 5s before returning SQLITE_BUSY + "PRAGMA foreign_keys=ON", // Enforce FK constraints + "PRAGMA cache_size=-64000", // 64MB page cache + "PRAGMA temp_store=MEMORY", // Temp tables in memory +} +``` + +**Connection pool pattern:** +- Use a single `*sql.DB` with `SetMaxOpenConns(1)` for **write** operations (SQLite allows one writer) +- Use a separate `*sql.DB` with multiple connections for **read** operations +- OR: use `modernc.org/sqlite`'s WAL mode with `_txlock=immediate` for write transactions + +**What to do:** +1. Read the existing SQLite adapter implementation (from M03 I01). +2. Apply all pragma statements immediately after `sql.Open`. +3. Implement the read/write pool separation or `_txlock=immediate` write transactions. +4. Add a test: spin up the SQLite adapter, run 50 concurrent goroutines each doing a write. + Verify zero "database is locked" errors. +5. Document the settings and rationale in the adapter file as comments. + +**Done when:** 50 concurrent writes to SQLite via the adapter produce zero lock errors. +All pragma settings are applied on connection open. Test passes. + +--- + +## Acceptance Criteria +- [x] 50 concurrent writes to SQLite via the adapter produce zero lock errors. All pragma settings are applied on connection open. Test passes. : Added SQLite connection hardening in `app/foundation/sqlite_connection.go` (WAL pragmas + single pooled connection), plus `sqlite_connection_test.go` coverage for pragma application and 50 concurrent writes without lock errors. + diff --git a/.docket/tickets/TKT-079.md b/.docket/tickets/TKT-079.md new file mode 100644 index 00000000..387b9bf1 --- /dev/null +++ b/.docket/tickets/TKT-079.md @@ -0,0 +1,126 @@ +--- +id: TKT-079 +seq: 79 +state: done +priority: 5 +created_at: "2026-03-11T02:08:30Z" +updated_at: "2026-03-12T04:27:56Z" +created_by: human:Leo Audibert +--- + +# TKT-079: M06 T02 - Integrate `slog` structured logging into framework + +## Description +**Source:** `docs/roadmap/06-dx-and-infrastructure.md` +**Roadmap Group:** Group T — Core Infrastructure +**Original Task Code:** `M06 T02` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `framework/logging/` (new package), `framework/middleware/logging.go` (update), +`app/foundation/container.go` (wire logger), `config/config.go` (log level config) + +**Context:** GoShip currently uses **zerolog** via `lecho` (not bare `log`). `app/foundation/container.go` initializes `c.Logger *lecho.Logger` using `zerolog.New(os.Stdout)` and stores it on `c.Web.Logger`. The router also creates a `slog.NewJSONHandler` logger directly in `BuildRouter`. Before implementing this task, read `app/foundation/container.go` and `app/router.go` to see exactly what's already wired. The task is to unify this under a single `slog`-based approach — but the existing zerolog setup must be accounted for, not blindly overwritten. Consider whether the goal is to replace zerolog with slog or wrap it. The Container already has a `Logger` field — update it rather than adding a duplicate. + +**Logger setup:** +```go +// Development: human-readable colored output +// Production: JSON lines to stdout (captured by log aggregator) +func NewLogger(env string, level slog.Level) *slog.Logger { + if env == "production" { + return slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: level})) + } + return slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: level})) +} +``` + +**Request ID middleware (update existing or create):** +```go +func RequestID() echo.MiddlewareFunc { + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + id := c.Request().Header.Get("X-Request-ID") + if id == "" { id = uuid.New().String() } + c.Set("request_id", id) + c.Response().Header().Set("X-Request-ID", id) + // Add to context for slog + ctx := context.WithValue(c.Request().Context(), logKeyRequestID, id) + c.SetRequest(c.Request().WithContext(ctx)) + return next(c) + } + } +} +``` + +**Request logging middleware:** +```go +// Logs: method, path, status, latency, request_id, user_id (if authenticated) +// Format in dev: "GET /login 200 3.2ms req=abc123" +// Format in prod: {"method":"GET","path":"/login","status":200,"latency_ms":3,"request_id":"abc123"} +``` + +**Config additions:** +```go +type Config struct { + // ...existing fields... + Log struct { + Level string `env:"LOG_LEVEL" env-default:"info"` // debug, info, warn, error + Format string `env:"LOG_FORMAT" env-default:"text"` // text (dev) or json (prod) + } +} +``` + +**What to do:** +1. Create `framework/logging/logger.go` with `NewLogger(cfg Config) *slog.Logger`. +2. Create `framework/logging/context.go`: `FromContext(ctx) *slog.Logger` and `WithLogger(ctx, logger)`. +3. Update `app/foundation/container.go`: initialize logger in `NewContainer`, store as `c.Logger`. +4. Update request logging middleware to use slog. +5. Add request ID middleware if not present. +6. Replace any `log.Println` / `fmt.Printf` in framework code with `slog` calls. +7. Add log level and format to config struct. + +**Done when:** All framework log output goes through slog. Dev output is text, prod is JSON. +Every log line from the request middleware includes `request_id`. `LOG_LEVEL=debug` enables +verbose output. `go build ./...` passes. + +--- + +## Acceptance Criteria +- [ ] All framework log output goes through slog. Dev output is text, prod is JSON. Every log line from the request middleware includes `request_id`. `LOG_LEVEL=debug` enables verbose output. `go build ./...` passes. + +## Handoff +### Current state +Structured logging integrated using `slog`. All major framework and application components migrated. + +### Decisions made +- Created `framework/logging` package with a unified logger factory and context helpers. +- Implemented `EchoLogger` adapter in `framework/logging/adapter.go` to satisfy Echo's logger interface without relying on `lecho`. +- Replaced `zerolog` and `lecho` with `slog` across the entire codebase (excluding third-party code in `.cache`). +- Integrated `slogecho` middleware for request logging with `request_id` support. +- Added `PAGODA_LOG_LEVEL` and `PAGODA_LOG_FORMAT` (text/json) configuration. +- Fixed several scope and import issues in Templ files that were discovered during migration. + +### Files touched +- config/config.go +- app/foundation/container.go +- app/router.go +- app/web/wiring.go +- app/web/middleware/recover.go +- framework/logging/* (new) +- framework/middleware/logging.go (new) +- framework/repos/storage/storagerepo.go +- framework/repos/pubsub/pubsub.go +- modules/**/*.go (many files migrated) +- modules/admin/views/web/components/*.templ (fixed) + +### Remaining work +- Deprecate/Remove zerolog and lecho from go.mod (tracked in TKT-115). + +### AC status +- [x] All framework log output goes through slog. +- [x] Dev output is text, prod is JSON. +- [x] Every log line from the request middleware includes request_id. +- [x] LOG_LEVEL=debug enables verbose output. +- [x] go build ./... passes. diff --git a/.docket/tickets/TKT-080.md b/.docket/tickets/TKT-080.md new file mode 100644 index 00000000..c27730c6 --- /dev/null +++ b/.docket/tickets/TKT-080.md @@ -0,0 +1,81 @@ +--- +id: TKT-080 +seq: 80 +state: done +priority: 5 +created_at: "2026-03-11T02:08:30Z" +updated_at: "2026-03-16T20:42:04Z" +created_by: human:Leo Audibert +--- + +# TKT-080: M06 T03 - Security headers middleware + +## Description +**Source:** `docs/roadmap/06-dx-and-infrastructure.md` +**Roadmap Group:** Group T — Core Infrastructure +**Original Task Code:** `M06 T03` +**Original Status:** `[ ] todo` +**Original Dependencies:** nothing (parallel) + +**Status:** `[x] done` +**Depends on:** nothing (parallel) +**Files:** `framework/middleware/security_headers.go` (new), `app/router.go` (add to middleware stack), +`config/config.go` (CSP config) + +> **Router middleware stack:** Security headers must be added early in the pipeline. In `app/router.go`, the main middleware is applied in `appweb.ApplyMainMiddleware(c, g, logger, deps, webFeatures)`. Read `app/web/` (specifically `wiring.go` which is where `ApplyMainMiddleware` likely lives) to understand where to inject the new middleware — before route handlers, after recover/logger. Add the new config fields to `config/config.go` inside a new `Security` sub-struct. + +**Context:** Without security headers, GoShip apps score C or below on securityheaders.com. +These headers prevent XSS, clickjacking, MIME sniffing, and other attacks. They should be +default-on — developers shouldn't have to add them. The only configurable part is CSP, since +Vite HMR in development needs `'unsafe-eval'` and websocket connections. + +**Headers to set:** +``` +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +Referrer-Policy: strict-origin-when-cross-origin +Permissions-Policy: camera=(), microphone=(), geolocation=() +X-XSS-Protection: 0 (deprecated, explicitly disable to prevent IE bugs) + +Strict-Transport-Security: max-age=31536000; includeSubDomains + +Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-{random}'; ... +``` + +**Nonce-based CSP approach:** +- Generate a random nonce per request, store in context +- Pass nonce to templ layout via context: `layout.templ` reads `middleware.CSPNonce(ctx)` +- `` to `app/views/web/components/core.templ` JS block (after HTMX loads). +3. Do NOT remove existing `svelte_bundle.js` — both coexist during migration. + +**Done when:** Script exists and is included. Manual test: a `[data-island]` element correctly imports and mounts. Existing Svelte bundle still loads. + +--- + +### B03 — Migrate ThemeToggle to island pattern (parallel) + +**Status:** `[x] done` +**Depends on:** B01, B02 +**Files:** `frontend/islands/ThemeToggle.svelte` (new), `app/views/web/components/theme_toggle.templ` + +**Context:** First island migration. Proves the pattern. Each island exports `mount(el, props)`. For Svelte: `export function mount(el, props) { new Component({ target: el, props }) }`. + +**What to do:** +1. Read current `ThemeToggle` Svelte component and its templ mounting code. +2. Create `frontend/islands/ThemeToggle.svelte` with component logic + `mount` export. +3. Update templ: replace `
+ @initThemeToggle(id)` with `
`. +4. Delete old `script` block for this component. +5. Run `make templ-gen`. Test in dev: theme toggle works. + +**Done when:** ThemeToggle works via islands runtime. Old `renderSvelteComponent('ThemeToggle', ...)` call is gone. + +--- + +### B04 — Migrate remaining Svelte components to islands + +**Status:** `[x] done` +**Depends on:** B03 (use as proven pattern) +**Files:** All Svelte files in `frontend/javascript/svelte/`, corresponding templ files + +**Context:** Current registry components: `MultiSelectComponent`, `PhotoUploader`, `SingleSelect`, `PhoneNumberPicker`, `PwaInstallButton`, `PwaSubscribePush`, `NotificationPermissions`. Migrate each one following the ThemeToggle pattern from B03. Do one component per commit. + +**What to do:** For each component: +1. Read Svelte source + templ mounting code. +2. Create `frontend/islands/{ComponentName}.svelte` with `mount` export. +3. Update templ: `data-island` pattern, remove `script` block. +4. Test manually or via Playwright. +5. Commit. + +**Done when:** All components migrated. `window.renderSvelteComponent` is not called anywhere. + +--- + +### B05 — Remove old esbuild setup + +**Status:** `[x] done` +**Depends on:** B04 +**Files:** `frontend/build.mjs`, `frontend/javascript/svelte/main.js`, `Makefile`, `package.json` + +**What to do:** +1. Delete `frontend/build.mjs` and `frontend/javascript/svelte/main.js` (registry file). +2. Remove esbuild from `package.json` devDependencies. +3. Remove `svelte_bundle.js` include from `app/views/web/components/core.templ`. +4. Update all `Makefile` targets that referenced old build commands. +5. Run `make js-build` and confirm clean build. + +**Done when:** No esbuild references remain. `make js-build` uses Vite exclusively. App compiles and runs. + +--- + +## Group C — Module System + +### C01 — Define Module interface in framework (parallel) + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `framework/core/interfaces.go` or new `framework/core/module.go` + +**Context:** All installable modules must implement a common interface. Read `docs/roadmap/02-architecture-evolution.md` section 2. + +**What to do:** +1. Read `framework/core/interfaces.go`. +2. Add: +```go +type Module interface { + ID() string + Migrations() fs.FS // embedded migration files; nil if none +} + +type RoutableModule interface { + Module + RegisterRoutes(r Router) error +} +``` +Where `Router` is a minimal interface over Echo group registration (define it here). +3. Additive only — do not change existing interfaces. +4. Run `go build ./...`. + +**Done when:** Interfaces defined, project compiles. + +--- + +### C02 — Standardize marker comments in router and container (parallel) + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `app/router.go`, `app/foundation/container.go` + +**Context:** Marker comments are insertion points for `ship module:add`. Some exist already; standardize and extend. + +**What to do:** +1. In `app/router.go`, ensure these exist at correct positions (add if missing): + ```go + // ship:routes:public:start / ship:routes:public:end + // ship:routes:auth:start / ship:routes:auth:end + // ship:routes:external:start / ship:routes:external:end + ``` +2. In `app/foundation/container.go`, add: + ```go + // ship:container:start / ship:container:end + ``` +3. Logic unchanged — comment additions only. + +**Done when:** All markers exist in both files. `go build ./...` passes. + +--- + +### C03 — Implement `ship module:add` CLI command + +**Status:** `[x] done` +**Depends on:** C01, C02 +**Files:** `tools/cli/ship/internal/commands/module.go` (new), `tools/cli/ship/internal/cli/cli.go` + +**Context:** `ship module:add ` installs a module by inserting wiring at marker comments in container + router and updating `config/modules.yaml`. Supported initially: `notifications`, `paidsubscriptions`, `emailsubscriptions`, `jobs`, `pwa`, `admin`. + +**What to do:** +1. Read an existing generator (e.g., `make:controller`) for the marker-insertion pattern. +2. Create `module.go` with `module:add ` subcommand: + - For each known module: define import, container init line, and route registration line to insert. + - Insert at `ship:container:start` and `ship:routes:*:start` markers. + - Update `config/modules.yaml`. +3. Add `--dry-run` flag (prints diff, writes nothing). +4. Register in `cli.go`. + +**Done when:** `ship module:add notifications --dry-run` shows correct diff. `ship module:add notifications` correctly wires (verify by reading modified files). `go build ./...` passes. + +--- + +### C04 — Implement `ship module:remove` CLI command + +**Status:** `[x] done` +**Depends on:** C03 +**Files:** `tools/cli/ship/internal/commands/module.go` + +**Context:** Reverse of C03. Print a reminder that DB migrations are NOT rolled back automatically. + +**Done when:** `ship module:remove notifications` removes wiring. Compile passes. Reminder printed about migrations. + +--- + +### C05 — Add `ship_doctor`, `ship_routes`, `ship_modules` to MCP server (parallel) + +**Status:** `[ ] todo` +**Depends on:** A02 +**Files:** `tools/mcp/ship/` + +**Context:** Expand MCP from 3 read-only tools to include verification and inspection. These enable the LLM act→verify→fix loop. See `docs/roadmap/02-architecture-evolution.md` section 4. + +**What to do:** +1. Read `tools/mcp/ship/` fully. +2. Add: + - `ship_doctor`: runs `ship doctor --json`, returns parsed JSON. + - `ship_routes`: parses `app/router.go` AST to extract route inventory, returns `[{method, path, auth, handler}]`. + - `ship_modules`: reads `config/modules.yaml` + scans `modules/`, returns installed + available modules. +3. Each tool: clear description, input/output schema documented. + +**Done when:** Three new tools exist, return valid JSON, existing tools unchanged. + +--- + +## Group D — Module Extraction + +> All D tasks are parallel with each other. All depend on C01 (module interface must exist). + +### D01 — Extract auth controllers into `modules/auth` + +**Status:** `[x] done` +**Depends on:** C01 +**Files:** `app/web/controllers/login.go`, `register.go`, `logout.go`, `forgot_password.go`, new `modules/auth/` + +**What to do:** +1. Read all four controllers + their templ views. +2. Create `modules/auth/`: `module.go` (ID: "auth"), `routes.go`, `service.go`, `views/`. +3. Move handler logic and templ views into the module. +4. `app/router.go`: call `authModule.RegisterRoutes(...)` instead of direct registration. +5. Delete original controllers. +6. `go build ./...` + `make test`. + +**Done when:** Auth routes work via module. Old controllers deleted. Tests pass. + +--- + +### D02 — Extract profile into `modules/profile` + +**Status:** `[x] done` +**Depends on:** C01 +**Files:** `app/profile/`, `app/web/controllers/profile.go`, `profile_photo.go`, `upload_photo.go`, new `modules/profile/` + +**What to do:** Same pattern as D01. Module brings: `service.go` (wraps profile domain logic), `store.go`/`store_sql.go`, `routes.go`, `views/`. + +**Done when:** Profile routes work via module. Tests pass. + +--- + +### D03 — Move paidsubscriptions route handler into module + +**Status:** `[ ] todo` +**Depends on:** C01 +**Files:** `app/web/controllers/payments.go` → `modules/paidsubscriptions/routes.go` (new) + +**What to do:** Move handler into module. Implement `RoutableModule`. Update router. Delete old controller. + +**Done when:** Payments routes work via module. Old controller deleted. + +--- + +### D04 — Move notifications route handlers into module + +**Status:** `[ ] todo` +**Depends on:** C01 +**Files:** `app/web/controllers/notifications.go`, `push_notifs.go` → `modules/notifications/routes.go` (new) + +**Done when:** Notification routes work via module. Old controllers deleted. + +--- + +### D05 — Create `modules/pwa` + +**Status:** `[ ] todo` +**Depends on:** C01 +**Files:** `app/web/controllers/install_app.go`, PWA templ components, service worker, manifest → `modules/pwa/` + +**What to do:** Create `modules/pwa/` with `module.go` (ID: "pwa"), `routes.go`, `views/`, static assets (manifest template, service worker). Delete originals. + +**Done when:** PWA install flow works via module. Old files deleted. + +--- + +## Group E — Single-App Repository Layout + +### E01 — Remove root runtime `starter/` app tree + +**Status:** `[x] done` +**Files:** removed root `starter/` directory + +**Result:** +1. Repository now follows a single canonical app model (`app/` + `cmd/`). +2. Runtime and scaffold concerns are no longer represented as two root app trees. + +--- + +### E02 — Wire `ship new` to CLI-embedded starter templates + +**Status:** `[x] done` +**Files:** `tools/cli/ship/internal/commands/project_new.go`, `tools/cli/ship/internal/templates/starter/testdata/scaffold/*` + +**Result:** +1. `ship new` now reads starter template files from CLI-internal embedded assets. +2. No network calls are required, and scaffold output remains deterministic. + +--- + +## Group G — Config: Drop Viper, Adopt cleanenv + `.env` + +> This group is high priority. It removes a major pain point and is a prerequisite for single-binary defaults (Group I). + +### G01 — Replace Viper with cleanenv struct-tag config + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `config/config.go`, `go.mod`, all files importing `viper` + +**Context:** Viper's multi-source merging creates "too many layers" pain (YAML → env override → Go). Replace with `cleanenv` (`github.com/ilyakaznacheev/cleanenv`) which reads directly from env vars into struct tags. One dependency, one source of truth. + +**Chosen library:** `cleanenv` — handles struct tags, .env loading, required validation, defaults, and auto-generates help text. No separate godotenv needed. + +**What to do:** +1. Run `grep -rn "viper" .` to find all usages. +2. `go get github.com/ilyakaznacheev/cleanenv`. +3. Rewrite `config/config.go`: convert all config fields to cleanenv struct tags: + ```go + type Config struct { + DatabaseURL string `env:"DATABASE_URL,required"` + SecretKey string `env:"SECRET_KEY,required"` + Port int `env:"PORT" env-default:"8080"` + SMTPHost string `env:"SMTP_HOST"` + RedisURL string `env:"REDIS_URL"` + // ... + } + ``` +4. Replace `config.Load()` / viper init with: + ```go + func Load() (*Config, error) { + cfg := &Config{} + if err := cleanenv.ReadEnv(cfg); err != nil { + return nil, err + } + return cfg, nil + } + ``` +5. Remove viper from `go.mod`. +6. Update `app/foundation/container.go` to use new config loader. +7. Run `go build ./...` and `make test`. + +**Done when:** Viper is removed from `go.mod`. Config loads from env vars via cleanenv. All tests pass. + +--- + +### G02 — Add `.env` file loading + +**Status:** `[ ] todo` +**Depends on:** G01 +**Files:** `config/config.go`, `.env.example` (new), `.gitignore` + +**Context:** cleanenv supports loading from `.env` files via `cleanenv.ReadConfig(".env", cfg)` before `ReadEnv`. The `.env` file is gitignored; `.env.example` is committed. + +**What to do:** +1. Update config loader to: + ```go + func Load() (*Config, error) { + cfg := &Config{} + _ = cleanenv.ReadConfig(".env", cfg) // load .env if exists, ignore error if not + if err := cleanenv.ReadEnv(cfg); err != nil { + return nil, err + } + return cfg, nil + } + ``` +2. Create `.env.example` with every key from the Config struct, empty values, and comments explaining each. +3. Add `.env` to `.gitignore` (it may already be there — verify). +4. Update `docs/guides/02-development-workflows.md`: "Copy `.env.example` to `.env` and fill in values before running locally." + +**Done when:** `.env.example` exists with all keys. `config.Load()` reads `.env` if present. `.env` is gitignored. + +--- + +### G03 — Remove YAML config files + +**Status:** `[ ] todo` +**Depends on:** G01, G02 +**Files:** `config/application.yaml`, `config/environments/`, all code reading YAML config + +**Context:** With cleanenv + .env, YAML config is redundant. Non-secret structural config (feature flags, module list) can live in env vars too, or in a minimal `config/modules.yaml` that is committed (not secret). + +**What to do:** +1. Identify any config that was YAML-only and has no env var equivalent — add struct tags for those. +2. Delete `config/application.yaml` and `config/environments/` if all values are now in struct tags with defaults. +3. Keep `config/modules.yaml` only if it serves a structural purpose distinct from secrets. +4. Update any `make` targets or docs that reference YAML config files. + +**Done when:** No YAML config files for secrets or application settings. All config comes from `.env` + struct tag defaults. `go build` + tests pass. + +--- + +### G04 — Add `ship config:validate` command + +**Status:** `[ ] todo` +**Depends on:** G01 +**Files:** `tools/cli/ship/internal/commands/config.go` (new) + +**Context:** cleanenv can generate a description of all config fields (required/optional, defaults). Expose this as a CLI command and add to `ship doctor`. + +**What to do:** +1. Add `ship config:validate` that calls `cleanenv.GetDescription(&Config{}, nil)` and prints the table. +2. Add `--json` flag. +3. Integrate into `ship doctor` check: if any required env var is missing, `ship doctor` reports it as an error. + +**Done when:** `ship config:validate` lists all env vars with required/optional status. Missing required vars appear in `ship doctor` output. + +--- + +## Group H — Nil Safety Architecture + +> These tasks eliminate the entire class of nil-deref panics. Do H01 and H02 first (cheap wins), then H03–H06 in parallel. + +### H01 — Add recovery middleware to Echo (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `app/web/wiring.go` or wherever global middleware is registered + +**Context:** Recovery middleware catches panics in any request, logs them with stack trace, and returns a 500 — the app stays alive for all other users. + +**What to do:** +1. Read the middleware registration file. +2. Add `e.Use(middleware.RecoverWithConfig(middleware.RecoverConfig{ LogErrorFunc: ... }))` as the FIRST middleware (must wrap everything). +3. `LogErrorFunc` should use the existing structured logger to emit the panic + stack trace. +4. Test: introduce a deliberate panic in a test route, verify the app returns 500 and stays running. + +**Done when:** App does not crash on panics. Stack trace is logged. Returns 500 to the panicking request only. + +--- + +### H02 — Add `nilaway` to CI and `ship doctor` (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `.github/workflows/` (CI), `tools/cli/ship/internal/commands/` (doctor) + +**Context:** `nilaway` (Uber) statically traces nil flows across function boundaries — catches nil derefs before they hit production. + +**What to do:** +1. Add to CI: + ```yaml + - name: nilaway + run: go run go.uber.org/nilaway/cmd/nilaway@latest ./... + ``` +2. Add to `ship doctor`: run `nilaway ./...` and parse output for issues. Report as warnings (not errors) initially until existing codebase is clean. +3. Document in `docs/guides/01-ai-agent-guide.md` under "Nil Safety" section. + +**Done when:** `nilaway` runs in CI. `ship doctor` surfaces nil issues as warnings. + +--- + +### H03 — Audit and enforce value-type viewmodels + +**Status:** `[ ] todo` +**Depends on:** H01 (recovery middleware should be in first) +**Files:** `app/web/viewmodels/`, all templ components + +**Context:** The root cause of most nil panics in templ: domain model pointers flowing directly into templates. Viewmodels must be pure value types — no pointer fields. + +**Convention:** +- Domain models (`db/gen/`, `framework/domain/`) may have pointers for nullable DB columns. +- Viewmodels (`app/web/viewmodels/`) must have **zero pointer fields**. Use `sql.NullString`, zero values, or custom `Option[T]` for optional data. +- Templ component signatures must accept viewmodel types (or primitives), never `*DomainModel`. +- Controllers own the domain → viewmodel transformation and all nil handling. + +**What to do:** +1. Read all files in `app/web/viewmodels/`. +2. For each struct: replace any pointer field (`*string`, `*int`, `*SomeStruct`) with a value equivalent: + - `*string` → `string` (empty string = absent) + - `*int` → `int` (zero = absent), or `sql.NullInt64` if you need to distinguish zero from absent + - `*NestedStruct` → `NestedStruct` (zero value struct) +3. For each templ component that accepts a `*DomainModel` directly: introduce a viewmodel and update the component signature. +4. Update all controllers that feed into those components to do the transformation. +5. Add a note in `docs/guides/01-ai-agent-guide.md` under "Nil Safety" codifying this as a permanent convention. + +**Done when:** `grep -rn '\*[A-Z]' app/web/viewmodels/` returns no pointer fields. All affected templ components updated. Tests pass. + +--- + +### H04 — Add nil-safe accessor methods to domain models + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `framework/domain/`, `db/gen/` + +**Context:** For places where domain model pointers genuinely must be used (e.g., loading from DB before transformation), add nil-safe accessor methods. Go methods on nil pointer receivers are legal if they guard immediately. + +**What to do:** +1. For every domain model struct that has pointer fields, add accessor methods: + ```go + func (u *User) DisplayName() string { + if u == nil { return "" } + if u.Name == nil { return "" } + return *u.Name + } + ``` +2. Add a shared helper in `framework/`: + ```go + func StringOr(s *string, def string) string { + if s == nil { return def } + return *s + } + ``` +3. Replace all `*s` dereferences outside of viewmodel transformers with these safe accessors. + +**Done when:** No bare `*ptr` dereferences exist outside of viewmodel transformer functions. `nilaway` passes cleanly on domain model files. + +--- + +### H05 — Viewmodel constructor functions + +**Status:** `[ ] todo` +**Depends on:** H03 +**Files:** `app/web/viewmodels/` + +**Context:** Viewmodels should always be initialized via constructors that guarantee all fields are set. This prevents "forgot to set a field" nil panics. + +**What to do:** +1. For each viewmodel struct in `app/web/viewmodels/`, add a constructor: + ```go + func NewHomeFeedData(user User, items []FeedItem) HomeFeedData { + if items == nil { items = []FeedItem{} } + return HomeFeedData{User: user, Items: items} + } + ``` +2. Update all controllers to use constructors instead of struct literals. +3. Convention: viewmodel struct literals (`HomeFeedData{...}`) are only allowed inside their own constructor. Everywhere else must use `NewHomeFeedData(...)`. + +**Done when:** Every viewmodel has a constructor. Controllers use constructors. `go build` + tests pass. + +--- + +### H06 — Route smoke tests for nil deref + +**Status:** `[ ] todo` +**Depends on:** H03, H05 +**Files:** `app/web/controllers/*_test.go` + +**Context:** Each route test with zero-value / minimal data is a nil deref smoke test. If a template tries to dereference a nil, the test catches it before production. + +**What to do:** +1. For every controller that does not already have a route test: add a minimal test that calls the route with zero-value data and asserts HTTP 200. +2. For existing tests: verify they pass zero-value viewmodels (not maximal/happy-path data only). +3. Follow the existing goquery test pattern in `app/web/controllers/*_test.go`. + +**Done when:** Every public-facing route has at least one route test with minimal data. All tests pass. + +--- + +## Group I — Single Binary Mode + +> These four tasks unlock zero-dependency deployment. Do them together as a unit. + +### I01 — Add SQLite DB adapter (CGO-free) + +**Status:** `[ ] todo` +**Depends on:** G01 (config must be cleanenv-based to add `DB_DRIVER` env var cleanly) +**Files:** `app/foundation/container.go`, `go.mod`, new `framework/repos/db/sqlite.go` + +**Context:** Use `modernc.org/sqlite` (pure Go, CGO-free — cross-compilation works) NOT `go-sqlite3` (requires CGO). Goose supports SQLite dialect. Bob supports SQLite. + +**What to do:** +1. `go get modernc.org/sqlite`. +2. Add `DB_DRIVER` env var to Config struct (values: `postgres`, `sqlite`; default: `sqlite` for new projects, existing config keeps `postgres`). +3. In `app/foundation/container.go` DB init: switch on `c.Config.DBDriver`: + - `sqlite`: open `modernc.org/sqlite` driver, connect to `./.local/db/app.db` (path configurable via `DB_PATH` env var). + - `postgres`: existing Postgres connection (unchanged). +4. Ensure Goose migration runner uses the correct dialect. +5. Ensure Bob query generation works against SQLite (may need a separate bobgen config). +6. Test: `DB_DRIVER=sqlite make dev` starts app with SQLite. + +**Done when:** App boots with `DB_DRIVER=sqlite`. Migrations run. Basic CRUD works. No CGO required. + +--- + +### I02 — Add Backlite as SQLite-backed jobs driver + +**Status:** `[ ] todo` +**Depends on:** I01 (needs SQLite DB to be working) +**Files:** `modules/jobs/drivers/backlite/` (new), `config/config.go`, `app/foundation/container.go` + +**Context:** Backlite (`github.com/mikestefanello/backlite`) uses SQLite as a job queue — same DB file, no Redis needed. Implements the existing `core.Jobs` interface. + +**What to do:** +1. `go get github.com/mikestefanello/backlite`. +2. Create `modules/jobs/drivers/backlite/driver.go` implementing `core.Jobs` using Backlite's client. +3. Add `JOBS_DRIVER` env var to Config (values: `backlite`, `asynq`; default: `backlite`). +4. In `app/foundation/container.go` jobs init: switch on `JOBS_DRIVER`: + - `backlite`: init Backlite client with the existing SQLite DB connection. + - `asynq`: existing Asynq setup (unchanged). +5. Start Backlite dispatcher in `cmd/web/main.go` when jobs driver is Backlite (runs in-process, no separate worker needed). +6. Test: `JOBS_DRIVER=backlite make dev` — enqueue a test job, verify it executes. + +**Done when:** Jobs work with `JOBS_DRIVER=backlite`. No Redis required. Backlite dispatcher runs in-process with the web server. + +--- + +### I03 — Add Otter as in-memory cache adapter + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel with I01) +**Files:** `app/foundation/container.go`, new `framework/repos/cache/otter.go`, `go.mod` + +**Context:** Otter (`github.com/maypok86/otter`) is a lockless in-memory cache (S3-FIFO eviction, very high throughput). Implements the existing `core.Cache` interface. Valid only for single-process deployment; use Redis for multi-process. + +**What to do:** +1. `go get github.com/maypok86/otter`. +2. Create `framework/repos/cache/otter.go` implementing `core.Cache` with Otter as the backend. Support key/group/tag/expiration semantics matching the existing interface. Add the chainable builder API (see M04 section 1.3). +3. Add `CACHE_DRIVER` env var to Config (values: `otter`, `redis`; default: `otter`). +4. In container cache init: switch on `CACHE_DRIVER`. +5. Test: cache set/get/flush works with `CACHE_DRIVER=otter`. + +**Done when:** `CACHE_DRIVER=otter` works. No Redis required for cache. Chainable builder API exposed. + +--- + +### I04 — Wire single-binary mode as default + update docs + +**Status:** `[ ] todo` +**Depends on:** I01, I02, I03 +**Files:** `.env.example`, `Makefile`, `README.md`, `docs/guides/02-development-workflows.md` + +**Context:** Make single-binary mode the default for new projects. `make run` should work with zero Docker. + +**What to do:** +1. Set defaults in Config struct: `DB_DRIVER=sqlite`, `CACHE_DRIVER=otter`, `JOBS_DRIVER=backlite`. +2. Update `.env.example` to reflect these defaults. +3. Add `make run` target: no Docker, no infra, just `go run ./cmd/web`. Succeeds with single-binary defaults. +4. Update `README.md` Requirements section: remove Docker as hard requirement ("Docker required for Postgres/Redis; not needed for single-binary SQLite mode"). +5. Update `docs/guides/02-development-workflows.md`: document single-binary vs standard modes. + +**Done when:** `cp .env.example .env && make run` starts a working app with no Docker. Docs reflect two modes. + +--- + +### I05 — In-memory test database (zero Docker for tests) + +**Status:** `[ ] todo` +**Depends on:** I01 +**Files:** `config/config.go`, `app/foundation/container.go`, all test files using DB + +**Context:** When `APP_ENV=test`, the container should auto-connect to an in-memory SQLite DB and run migrations. Tests run instantly with no Docker. Integration tests (testing Postgres-specific behavior) remain Docker-based but are clearly separated. + +**What to do:** +1. Add `APP_ENV` env var to Config (values: `development`, `test`, `production`). +2. In container DB init: if `APP_ENV=test`, use SQLite in-memory (`file::memory:?cache=shared&mode=memory`), run migrations. +3. Add `config.SwitchEnvironment(config.EnvTest)` helper (set `APP_ENV=test` before container init). +4. In all `TestMain` functions: call `config.SwitchEnvironment(config.EnvTest)` before `services.NewContainer()`. +5. Tag existing Docker-dependent tests as `//go:build integration` so `make test` skips them; `make test-integration` includes them. + +**Done when:** `make test` passes with no Docker running. In-memory DB is used. Integration tests still work with Docker via `make test-integration`. + +--- + +## Group J — Admin Panel Module + +### J01 — Define AdminField and AdminResource type system (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `modules/admin/types.go` (new) + +**Context:** The admin panel is reflection-based + Bob-backed. No Ent required. Modules register Go structs; the admin module uses `reflect` to discover fields, types, and tags, then describes them as `AdminField` slices. Templ components receive these slices and render the appropriate UI. Read `docs/roadmap/04-pagoda-and-dx-improvements.md` section 1.4. + +**What to do:** +Create `modules/admin/types.go` with: +```go +type FieldType string +const ( + FieldTypeString FieldType = "string" + FieldTypeInt FieldType = "int" + FieldTypeBool FieldType = "bool" + FieldTypeTime FieldType = "time" + FieldTypeText FieldType = "text" // multiline + FieldTypeEmail FieldType = "email" + FieldTypePassword FieldType = "password" // omit from list, hide in form + FieldTypeReadOnly FieldType = "readonly" +) + +type AdminField struct { + Name string + Label string // human-readable, derived from field name + Type FieldType + Value any // current value for forms + Required bool + Sensitive bool // omit from list view +} + +type AdminResource struct { + Name string // e.g., "Post" + PluralName string // e.g., "Posts" + TableName string // DB table name + Fields []AdminField + IDField string // which field is the PK +} + +type AdminRow map[string]any // one row from DB list +``` + +**Done when:** Types file compiles. No other code changes yet. + +--- + +### J02 — Implement reflection-based resource registration + +**Status:** `[ ] todo` +**Depends on:** J01 +**Files:** `modules/admin/registry.go` (new) + +**Context:** `admin.Register[T]()` uses Go generics + reflection to inspect the struct type `T` and produce an `AdminResource` describing it. + +**What to do:** +Create `modules/admin/registry.go`: +```go +var registry = map[string]AdminResource{} + +type ResourceConfig struct { + TableName string + ListFields []string // which fields appear in list view; empty = all non-sensitive + ReadOnly []string // fields shown but not editable + Sensitive []string // fields omitted from list, input type=password in form +} + +func Register[T any](cfg ResourceConfig) { + t := reflect.TypeOf(*new(T)) + // introspect t.Fields() + // derive FieldType from field Kind + tags + // build AdminResource and store in registry +} +``` + +Field type derivation rules: +- `string` → `FieldTypeString` (or `FieldTypeEmail` if tag `admin:"email"`, `FieldTypeText` if tag `admin:"text"`) +- `bool` → `FieldTypeBool` +- `int`, `int64` etc → `FieldTypeInt` +- `time.Time` → `FieldTypeTime` +- Field in `Sensitive` list → `FieldTypePassword` +- Field in `ReadOnly` list → `FieldTypeReadOnly` + +**Done when:** `admin.Register[Post](cfg)` populates registry with correct `AdminResource`. Verified by unit test. + +--- + +### J03 — Implement Bob-backed CRUD operations for admin + +**Status:** `[ ] todo` +**Depends on:** J02, I01 (SQLite must work if testing with SQLite) +**Files:** `modules/admin/store.go` (new) + +**Context:** The admin module must list, get, create, update, and delete records for any registered resource using Bob for type-safe SQL. Since the resource type is dynamic, use raw SQL with `database/sql` fallback for admin operations (Bob is used for app code; admin is introspection territory). + +**What to do:** +1. Implement: + ```go + func List(ctx context.Context, db *sql.DB, res AdminResource, page, perPage int) ([]AdminRow, int, error) + func Get(ctx context.Context, db *sql.DB, res AdminResource, id any) (AdminRow, error) + func Create(ctx context.Context, db *sql.DB, res AdminResource, values map[string]any) error + func Update(ctx context.Context, db *sql.DB, res AdminResource, id any, values map[string]any) error + func Delete(ctx context.Context, db *sql.DB, res AdminResource, id any) error + ``` +2. Use parameterized queries (`?` for SQLite, `$1` for Postgres) — detect dialect from driver name. +3. `List` returns rows as `[]AdminRow` (map[string]any) and total count for pagination. + +**Done when:** All 5 operations work against a test SQLite DB. Unit tests cover each. + +--- + +### J04 — Build templ components for admin UI + +**Status:** `[ ] todo` +**Depends on:** J01 +**Files:** `modules/admin/views/web/` (new templ files) + +**Context:** Templ components are **data-driven** — they receive `AdminResource` and `[]AdminField` at runtime and render the appropriate UI. The dynamic behavior is in the *data*, not in runtime template generation. A `switch` on `AdminField.Type` renders the correct input. This is fully compatible with templ's compiled approach. + +**What to do:** +Create these templ components: + +1. `admin_layout.templ` — admin shell: sidebar with resource links, main content area. + ```templ + // Renders: full-page admin shell with left sidebar listing all registered resources and top bar with "Admin" title + templ AdminLayout(resources []AdminResource, content templ.Component) { ... } + ``` + +2. `admin_list.templ` — list table for a resource. + ```templ + // Renders: paginated table of resource rows with column headers, edit/delete links per row, and an "Add new" button + templ AdminList(res AdminResource, rows []AdminRow, pager Pager) { ... } + ``` + +3. `admin_form.templ` — create/edit form. + ```templ + // Renders: create/edit form with one input per AdminField, type-appropriate input widget per field type + templ AdminForm(res AdminResource, values map[string]any, errs map[string]string, csrfToken string) { ... } + ``` + +4. `admin_field_input.templ` — single field input, switches on FieldType. + ```templ + // Renders: appropriate HTML input for the given field type (text, checkbox, number, datetime-local, textarea, password) + templ AdminFieldInput(field AdminField) { + switch field.Type { + case FieldTypeString: + case FieldTypeBool: + case FieldTypeInt: + case FieldTypeTime: + case FieldTypeText: + case FieldTypePassword: + case FieldTypeReadOnly: + } + } + ``` + +5. `admin_delete_confirm.templ` — SweetAlert2 delete confirmation, or inline form. + +Run `make templ-gen` after. + +**Done when:** All 5 templ files exist and compile. `make templ-gen` succeeds. + +--- + +### J05 — Wire admin routes + +**Status:** `[ ] todo` +**Depends on:** J02, J03, J04 +**Files:** `modules/admin/routes.go` (new), `modules/admin/module.go` (new) + +**Context:** Admin routes are automatically generated for every registered resource. Protected by `middleware.RequireAdmin`. + +**What to do:** +1. Create `modules/admin/module.go`: + ```go + func New() *AdminModule { ... } + func (m *AdminModule) ID() string { return "admin" } + func (m *AdminModule) Migrations() fs.FS { return nil } + func (m *AdminModule) RegisterRoutes(r Router) error { ... } + ``` +2. Create `modules/admin/routes.go`. For each registered resource, register: + ``` + GET /admin/{resource} → List handler + GET /admin/{resource}/new → New form + POST /admin/{resource} → Create handler + GET /admin/{resource}/{id} → Edit form + PUT /admin/{resource}/{id} → Update handler + DELETE /admin/{resource}/{id} → Delete handler + ``` +3. All admin routes wrapped in `middleware.RequireAdmin`. +4. Add link to admin in main nav (conditionally, if user is admin). + +**Done when:** Visiting `/admin/posts` (assuming Post is registered) renders the list. CRUD works end-to-end. Non-admin users get 403. + +--- + +### J06 — Embed Backlite queue monitor in admin panel (parallel after J05, I02) + +**Status:** `[ ] todo` +**Depends on:** J05, I02 +**Files:** `modules/admin/routes.go` + +**Context:** Backlite provides an HTTP handler for monitoring queues. Embed it at `/admin/queues`. + +**What to do:** +1. Read Backlite docs for the embedded monitor handler. +2. Mount Backlite's handler at `/admin/queues` in admin routes. +3. Add "Queue Monitor" link to admin sidebar. + +**Done when:** `/admin/queues` shows task queue monitor when `JOBS_DRIVER=backlite`. + +--- + +## Group K — DX Improvements + +### K01 — Chainable redirect helper (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `framework/redirect/redirect.go` (new) + +**Context:** Replace manual redirect calls with a chainable builder. Automatically handles HTMX redirects (`HX-Redirect` header) for boosted requests. + +**What to do:** +```go +// Usage: +return redirect.New(ctx).Route("user_profile").Params(userID).Query(q).Go() + +// Implementation: +type Redirect struct { ctx echo.Context; route string; params []any; query url.Values } +func New(ctx echo.Context) *Redirect +func (r *Redirect) Route(name string) *Redirect +func (r *Redirect) Params(params ...any) *Redirect +func (r *Redirect) Query(q url.Values) *Redirect +func (r *Redirect) Go() error // detects HX-Request header, sets HX-Redirect if HTMX +``` + +**Done when:** `redirect.New(ctx).Route("home_feed").Go()` works in a controller. HTMX requests get `HX-Redirect` header. Non-HTMX requests get 302. + +--- + +### K02 — Pagination utility (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `framework/pager/pager.go` (new), new templ component in `app/views/web/components/pager.templ` + +**Context:** Standardize cursor/offset pagination. Controller gets a `Pager`, passes it to viewmodel, templ component renders prev/next links. + +**What to do:** +1. Create `framework/pager/pager.go`: + ```go + type Pager struct { Page, PerPage, Total int } + func New(ctx echo.Context, perPage int) Pager // reads ?page= from query + func (p Pager) Offset() int + func (p Pager) Limit() int + func (p Pager) HasNext() bool + func (p Pager) HasPrev() bool + func (p Pager) TotalPages() int + ``` +2. Create `app/views/web/components/pager.templ`: + ```templ + // Renders: prev/next pagination bar with page number and total pages indicator + templ Pagination(p pager.Pager, baseURL string) { ... } + ``` + +**Done when:** Controller can call `pager.New(ctx, 20)`, pass pager to viewmodel, and render `Pagination` component. Unit tests for offset/limit/HasNext/HasPrev. + +--- + +### K03 — `ship routes` command (parallel) + +**Status:** `[x] done` +**Depends on:** nothing +**Files:** `tools/cli/ship/internal/commands/routes.go` (new) + +**Context:** Print a table of all registered routes. Inspect `app/router.go` via AST parsing. Also expose as MCP tool. + +**What to do:** +1. Parse `app/router.go` AST to extract route registrations (method, path, handler, auth level). +2. Print as table: + ``` + METHOD PATH AUTH HANDLER + GET / public landing.Get + POST /user/register public register.Post + GET /auth/homeFeed auth home_feed.Get + ``` +3. Add `--json` flag. +4. Integrate as `ship_routes` MCP tool (see C05). + +**Done when:** `ship routes` prints route table. `ship routes --json` outputs JSON array. + +--- + +### K04 — `ship db:console` command (parallel) + +**Status:** `[ ] todo` +**Depends on:** G01 (needs cleanenv config to read DB URL) +**Files:** `tools/cli/ship/internal/commands/db.go` + +**Context:** Opens a raw DB shell. Reads active DB config and spawns `psql`, `mysql`, or `sqlite3` with the correct connection string. + +**What to do:** +1. Read active `DB_DRIVER` from config. +2. Spawn the appropriate shell with the connection string from config. +3. Pass through stdin/stdout/stderr to the terminal. + +**Done when:** `ship db:console` drops into an interactive DB shell. + +--- + +### K05 — Built-in rate limiter middleware (parallel) + +**Status:** `[ ] todo` +**Depends on:** I03 (Otter for in-memory rate limit state; Redis if scaled) +**Files:** `app/web/middleware/rate_limit.go` (new), `framework/repos/ratelimit/` (new) + +**Context:** Per-IP and per-user rate limiting with configurable limits per route group. + +**What to do:** +1. Create `framework/repos/ratelimit/ratelimit.go` with an interface backed by Otter (in-memory) or Redis. +2. Create `app/web/middleware/rate_limit.go` Echo middleware factory: + ```go + func RateLimit(store ratelimit.Store, max int, window time.Duration) echo.MiddlewareFunc + ``` +3. Apply to auth routes (e.g., 10 req/min on `/user/login`). +4. Returns 429 with `Retry-After` header on exceed. + +**Done when:** Auth routes return 429 after exceeding the limit. Test covers this. + +--- + +### K06 — Afero file system abstraction (parallel) + +**Status:** `[ ] todo` +**Depends on:** G01 (needs `STORAGE_DRIVER` env var) +**Files:** `framework/repos/storage/`, `app/foundation/container.go` + +**Context:** Replace MinIO-only storage with afero abstraction. `STORAGE_DRIVER=local` for dev/single-binary; `STORAGE_DRIVER=minio` for production. + +**What to do:** +1. `go get github.com/spf13/afero`. +2. Add `STORAGE_DRIVER` env var (values: `local`, `minio`). +3. Wrap afero behind the existing `framework/core` storage interface (or create one). +4. `local`: afero `OsFs` rooted at `./uploads` (path configurable). +5. Tests: automatically use afero `MemMapFs` when `APP_ENV=test`. +6. Keep MinIO backend for production compatibility. + +**Done when:** File uploads work with `STORAGE_DRIVER=local`. Tests use in-memory FS. + +--- + +## Group F — Documentation + +### F01 — Fix README inconsistencies (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing + +**What to do:** +1. Read `README.md`. +2. Fix `pkg/` → `framework/` in the Repository Shape section. +3. Fix `pkg/repos/storage/storagerepo.go` reference to correct path. +4. Update Requirements: remove Docker as hard requirement; note it's only needed for Postgres/Redis mode. +5. Add brief description of single-binary mode once Group I tasks are done, or add a TODO note. + +**Done when:** README has no stale `pkg/` references. Docker requirement is accurately described. + +--- + +### F02 — Fix architecture doc: decouple from Asynq (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing (fix the doc now; implementation follows in Group I/C) + +**What to do:** +1. Read `docs/architecture/01-architecture.md`. +2. Update Worker Runtime Flow section: replace hardcoded Asynq description with "jobs adapter — currently Asynq (Redis-backed); Backlite (SQLite-backed) supported for single-binary mode". +3. Update "Asynq handles background jobs" line at bottom to reflect adapter abstraction. + +**Done when:** Architecture doc does not assume Asynq specifically. References adapter pattern. + +--- + +### F03 — Update AI agent guide: add nil safety convention (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing + +**What to do:** +Add a "Nil Safety" section to `docs/guides/01-ai-agent-guide.md`: +- Viewmodels must have zero pointer fields (value types only). +- Templ components accept viewmodel types, never `*DomainModel`. +- Controllers own domain → viewmodel transformation and all nil handling. +- `nilaway` runs in CI — new code must pass it. +- Recovery middleware is registered globally — panics return 500 but app stays up. + +**Done when:** Section exists in the guide. + +--- + +### F04 — Update docs index with all new roadmap docs (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing + +**What to do:** Read `docs/00-index.md`. Verify M01–M04 are all listed. Add any missing entries. + +**Done when:** Index references all four roadmap documents. + +--- + +### F05 — Update workflows doc: config and single binary mode (parallel) + +**Status:** `[ ] todo` +**Depends on:** G01, G02, I04 + +**What to do:** +1. Read `docs/guides/02-development-workflows.md`. +2. Add "Configuration" section: "Copy `.env.example` to `.env`. All config comes from env vars. No YAML for secrets." +3. Add "Single Binary Mode" section: "Set `DB_DRIVER=sqlite`, `CACHE_DRIVER=otter`, `JOBS_DRIVER=backlite` in `.env`. Run `make run`. No Docker needed." +4. Update Services and Infra section to clarify Redis/Postgres are optional. + +**Done when:** Workflows doc accurately describes both single-binary and standard modes. + +--- + +### F06 — Update scope analysis doc to reflect evolving architecture (parallel) + +**Status:** `[ ] todo` +**Depends on:** nothing + +**What to do:** +1. Read `docs/architecture/03-project-scope-analysis.md`. +2. Remove Viper reference (line ~121). +3. Update background task section to mention Backlite as an option. +4. Add entry for admin module once J01–J05 are planned. + +**Done when:** Scope analysis doc has no Viper references. Reflects adapter-based jobs and planned admin module. + +--- + +## Completion Tracker + +``` +Group A — Critical Fixes +[ ] A01 Container init bug +[ ] A02 ship doctor --json + +Group B — JS Islands +[x] B01 Vite config +[x] B02 Islands runtime +[x] B03 ThemeToggle migrated +[x] B04 All components migrated +[x] B05 Old esbuild removed + +Group C — Module System +[ ] C01 Module interface +[ ] C02 Marker comments +[ ] C03 ship module:add +[ ] C04 ship module:remove +[ ] C05 MCP tools + +Group D — Module Extraction (parallel after C01) +[x] D01 modules/auth +[x] D02 modules/profile +[ ] D03 modules/paidsubscriptions routes +[ ] D04 modules/notifications routes +[ ] D05 modules/pwa + +Group E — App Split +[ ] E01 starter/ skeleton +[ ] E02 ship new uses starter/ + +Group F — Documentation (mostly parallel) +[ ] F01 README fix +[ ] F02 Architecture doc fix +[ ] F03 Agent guide: nil safety +[ ] F04 Docs index +[ ] F05 Workflows: config + single binary +[ ] F06 Scope analysis cleanup + +Group G — Config: cleanenv + .env +[ ] G01 Replace Viper with cleanenv +[ ] G02 .env file loading +[ ] G03 Remove YAML config files +[ ] G04 ship config:validate command + +Group H — Nil Safety +[ ] H01 Recovery middleware +[ ] H02 nilaway in CI + ship doctor +[ ] H03 Audit viewmodels (no pointer fields) +[ ] H04 Nil-safe domain model accessors +[ ] H05 Viewmodel constructors +[ ] H06 Route smoke tests + +Group I — Single Binary Mode +[ ] I01 SQLite DB adapter (modernc, CGO-free) +[ ] I02 Backlite jobs driver +[ ] I03 Otter cache adapter +[ ] I04 Single-binary default + docs +[ ] I05 In-memory test DB + +Group J — Admin Panel +[ ] J01 AdminField/AdminResource types +[ ] J02 Reflection-based registration +[ ] J03 Bob-backed CRUD operations +[ ] J04 Templ components (list, form, field input) +[ ] J05 Wire admin routes +[ ] J06 Backlite queue monitor in admin + +Group K — DX Improvements (all parallel) +[ ] K01 Chainable redirect helper +[ ] K02 Pagination utility +[ ] K03 ship routes command +[ ] K04 ship db:console command +[ ] K05 Rate limiter middleware +[ ] K06 Afero file system abstraction +``` + +--- + +## Recommended Execution Order + +Tasks are ordered by dependency. Tasks with no shared dependencies can run in parallel. + +**Layer 1 — No dependencies, start immediately (all parallel):** +A01, A02, H01, H02, G01, F01, F02, F03, F04, C01, C02, J01, K01, K02, K03, K04 + +**Layer 2 — Depends on Layer 1 tasks (parallel within layer):** +- G02 → needs G01 +- G03 → needs G01, G02 +- G04 → needs G01 +- H03 → needs H01 (recovery in place first) +- H04 → no dependency (can move to Layer 1) +- H05 → needs H03 +- I01 → needs G01 +- I03 → no hard dependency (can move to Layer 1) +- B01, B02 → no dependency (can move to Layer 1) +- J02 → needs J01 +- F05 → needs G01, G02, I04 +- F06 → no dependency (can move to Layer 1) + +**Layer 3 — Depends on Layer 2:** +- I02 → needs I01 (SQLite adapter) +- I04 → needs I01, I02, I03 +- I05 → needs I01 +- H06 → needs H03, H05 +- B03 → needs B01, B02 +- C03 → needs C01, C02 +- J03 → needs J02 +- J04 → needs J01 +- K05 → needs I03 (Otter) +- K06 → needs G01 + +**Layer 4 — Depends on Layer 3:** +- B04 → needs B03 (proven pattern) +- C04 → needs C03 +- C05 → needs A02 +- D01–D05 → needs C01 (module interface) +- J05 → needs J02, J03, J04 +- E01 → needs D01, D02 + +**Layer 5 — Final cleanup:** +- B05 → needs B04 (all components migrated) +- J06 → needs J05, I02 +- E02 → needs E01 + +--- +FILE: docs/roadmap/04-pagoda-and-dx-improvements.md +--- +# Pagoda Inspirations & DX Improvements + +**Reference:** `docs/roadmap/02-architecture-evolution.md` for broader context. +**Last updated:** 2026-03-08 + +This document captures ideas sourced from two places: +1. [Pagoda](https://github.com/mikestefanello/pagoda) — the Go starter kit GoShip originally branched from, which has diverged significantly but still has patterns worth adopting. +2. Rails / Laravel — the gold standards for web framework DX. + +Each item includes a clear rationale, the pagoda/framework precedent, and whether it's a small lift or architectural change. + +--- + +## Part 1 — What to Pull from Pagoda + +### 1.1 Single-Binary Deployment Mode + +**The gap:** GoShip requires Postgres + Redis + Docker just to run locally. Pagoda runs as a single binary with no external dependencies — SQLite for data, Backlite (SQLite-backed queue) for jobs, Otter (in-memory) for cache. + +**Why it matters:** For indie devs, internal tools, self-hosted apps, and the GoShip starter itself — requiring a full stack is a huge barrier. `ship new myapp && make run` should produce a working app with zero external dependencies. + +**The architecture:** GoShip's adapter interfaces (`core.Store`, `core.Cache`, `core.Jobs`) were designed for exactly this. They just need SQLite/Otter/Backlite adapters. + +**Three deployment modes to support:** + +| Mode | DB | Cache | Jobs | Use case | +|---|---|---|---|---| +| **Single binary** | SQLite (`modernc.org/sqlite`) | Otter (in-memory) | Backlite (SQLite queue) | Starter, indie, self-hosted | +| **Standard** | Postgres | Redis | Asynq (Redis) | Production SaaS | +| **Scaled** | Postgres | Redis | Asynq + separate worker process | High-traffic, horizontal scale | + +Config selects the mode. `ship new` defaults to single-binary. Upgrading to standard is `ship adapter:set db=postgres cache=redis jobs=asynq`. + +**Important:** Use `modernc.org/sqlite` (CGO-free, pure Go) not `go-sqlite3` (requires CGO). CGO breaks cross-compilation and complicates single-binary distribution. + +**Pagoda precedent:** Full single-binary since v1. Stores data locally on disk. `make run` is the only command needed. + +--- + +### 1.2 Backlite — SQLite-Backed Job Queue + +**The gap:** GoShip's `jobs` module uses Asynq which requires Redis. In single-binary mode there is no Redis. + +**What Backlite provides:** +- SQLite as the job queue backend (same DB, no extra infra) +- Worker pool with configurable goroutine count +- Delayed jobs (execute after duration or at specific time) +- Retry with configurable attempts +- Task monitoring UI (embeds into admin panel via HTTP handler) +- Automatic schema install on startup + +**Fit:** Add as a new driver under `modules/jobs/drivers/backlite/`. The existing `core.Jobs` interface defines the contract — Backlite implements it. + +**Pagoda precedent:** Written by pagoda's author specifically for this use case. Actively maintained. + +**Config selection:** +```yaml +jobs: + driver: backlite # or: asynq + backlite: + goroutines: 10 + release_after: 30s + cleanup_interval: 1h +``` + +--- + +### 1.3 Otter — In-Memory Cache Adapter + +**The gap:** GoShip's cache adapter requires Redis. In single-binary mode there is no Redis. + +**What Otter provides:** +- Lockless in-memory cache using S3-FIFO eviction +- Very high throughput (benchmarks beat Ristretto) +- No external dependencies +- Works perfectly for single-process deployment + +**Fit:** Add as a new `CoreCache` adapter. The existing `core.Cache` interface defines the contract. + +**Limitation:** In-memory cache does not share state across multiple processes. Only valid for single-binary mode. When scaling to multiple web processes, swap to Redis adapter. + +**Pagoda precedent:** Pagoda's default cache since they dropped Redis. Has `CacheStore` interface to swap Redis back in when needed. + +**Important note on pagoda's cache API:** +Pagoda exposes a chainable builder API over the cache: +```go +c.Cache.Set().Key("k").Tags("tag1").Expiration(time.Hour).Data(myData).Save(ctx) +c.Cache.Get().Group("g").Key("k").Fetch(ctx) +c.Cache.Flush().Tags("tag1", "tag2").Execute(ctx) +``` +This is significantly more ergonomic than a raw `Get(key)/Set(key, val, ttl)` interface. GoShip should adopt this API shape for the `core.Cache` interface. + +--- + +### 1.4 Admin Panel (Auto-Generated from Ent Schema) + +**The gap:** GoShip has no admin panel. Pagoda auto-generates one from the Ent schema using Ent's extension API — every entity type gets list/create/edit/delete UI automatically. It also embeds the Backlite queue monitor in the admin. + +**Why it matters for DX:** This is a major productivity win. Every internal tool, SaaS, or early-stage product needs to manage data. Without an admin panel, every team builds bespoke tooling. Rails has ActiveAdmin; Laravel has Filament. Go has nothing mainstream — this could be GoShip's differentiator. + +**How pagoda does it:** +1. A custom Ent extension (`ent/admin/extension.go`) generates flat structs and handler code for each entity type during `make ent-gen`. +2. A single `admin.go` handler serves all entity routes dynamically. +3. The UI uses gomponents (pagoda's rendering engine) to build forms dynamically from the Ent graph data structure. + +**How it works without Ent (GoShip uses Bob):** +Pagoda's approach requires Ent's schema graph. GoShip uses Bob. Instead, use Go reflection + generics: + +```go +// Register any Go struct type with the admin module +admin.Register[Post](admin.Config{ + TableName: "posts", + ListFields: []string{"title", "published_at"}, + Sensitive: []string{"internal_notes"}, +}) +``` + +`admin.Register[T]()` uses `reflect.TypeOf(*new(T))` at runtime to enumerate exported fields, derive their types, and build a slice of `AdminField` descriptors. The admin module then drives all CRUD via raw SQL through `database/sql` (not Bob's codegen, since the resource type is dynamic). + +**The UI — templ components, data-driven:** +GoShip uses templ, not gomponents. Templ is compiled, so templates cannot be generated at runtime — but they CAN be fully dynamic through data. The admin templ components receive `[]AdminField` at runtime and `switch` on field type to render the appropriate input: + +```templ +templ AdminFieldInput(field AdminField) { + switch field.Type { + case "string": + case "bool": + case "int": + case "time": + case "text": + } +} +``` + +The dynamic behavior is in the **data** (field descriptors derived from reflection), not the template. This works perfectly with templ's compiled model. + +**No Ent. No Ent extension. No Ent for admin-only.** Pure reflection + Bob runtime queries + templ components. + +--- + +### 1.5 Afero — File System Abstraction + +**The gap:** GoShip's file storage uses MinIO (S3-compatible), which requires infrastructure even locally. + +**What afero provides:** A `fs.FS`-compatible abstraction with backends for local OS, GCS, SFTP, in-memory (for tests), and more. Swap backends without changing application code. + +**Fit:** Add as an alternative to MinIO for local development and single-binary mode. In-memory backend for tests means no MinIO in CI. + +**Pagoda precedent:** Default file system is local OS. Tests use in-memory automatically. + +**Config selection:** +```yaml +storage: + driver: local # or: minio, gcs + local: + path: ./uploads +``` + +--- + +### 1.6 Chainable Redirect Helper + +**The gap:** Redirects in GoShip are manual `c.Redirect(http.StatusFound, url)` calls with manual URL construction. + +**Pagoda's pattern:** +```go +return redirect.New(ctx). + Route("user_profile"). + Params(userID). + Query(queryParams). + Go() +``` +Automatically handles HTMX redirects (sets `HX-Redirect` header for boosted requests). Type-safe route names. Chainable. + +**Fit:** Small addition to `framework/htmx` or a new `framework/redirect` package. High DX value for low effort. + +--- + +### 1.7 In-Memory Test Database + +**The gap:** GoShip's integration tests require Docker + Postgres. This slows CI and makes tests harder to run locally. + +**Pagoda's pattern:** When `config.EnvTest` is set, the container auto-connects to an in-memory SQLite database and runs migrations. Tests start instantly. + +**GoShip adaptation:** +- `config.SwitchEnvironment(config.EnvTest)` sets env before container init. +- Container init: if env is test, use SQLite in-memory for DB, in-memory for cache, sync (no-op) for jobs. +- No Docker required for unit or route-level tests. +- Integration tests (testing actual Postgres behavior) remain Docker-based but are clearly separated. + +**Pagoda precedent:** Enabled fast, zero-infrastructure test runs. A game-changer for iteration speed. + +--- + +## Part 2 — Rails / Laravel DX Ideas + +### 2.1 `ship console` — Interactive Database Session + +**Rails:** `rails console` opens an IRB session connected to the live DB. +**Laravel:** `php artisan tinker` opens a PsySH REPL. + +**Go reality:** This doesn't translate. Go compiles to machine code — there's no interpreter that can load your live app's types, run queries, and inspect results the way Ruby/PHP can. REPLs like `gore` or `yaegi` exist but they can't import your compiled app and have very limited stdlib/package support. Not worth pursuing. + +**Practical Go-native alternative:** `ship db:console` (see 2.4) drops you into a raw DB shell. For structured data inspection, the admin panel (1.4) covers most real use cases. For one-off scripts, `cmd/scripts/` convention with access to the container is the Go way. + +--- + +### 2.2 `ship routes` — Route Table + +**Rails:** `rails routes` prints a table of all routes (verb, path, name, handler). +**Laravel:** `php artisan route:list`. + +**GoShip proposal:** `ship routes` parses `app/router.go` (or inspects the running Echo instance) and prints: + +``` +METHOD PATH AUTH HANDLER +GET / public landing.Get +POST /user/register public register.Post +GET /auth/homeFeed auth home_feed.Get +POST /auth/payments/checkout auth payments.CreateCheckoutSession +... +``` + +**Value:** LLMs and devs can audit routes without reading the router file. Also useful as an MCP tool. + +**Implementation:** Parse router.go at compile time (AST) or add Echo's `Routes()` method output to the CLI at runtime. + +--- + +### 2.3 Auto-CRUD Admin Panel (see 1.4) + +**Rails:** ActiveAdmin, Administrate. +**Laravel:** Filament, Nova. + +Already covered in section 1.4 — the pagoda implementation is the direct model. + +--- + +### 2.4 `ship db:console` — Direct DB Shell + +**Rails:** `rails db` opens a psql/mysql/sqlite3 shell connected to the configured database. +**Laravel:** `php artisan db`. + +**GoShip proposal:** `ship db:console` reads the active DB config and spawns `psql`, `mysql`, or `sqlite3` with the correct connection string. + +**Value:** Fast data inspection without remembering connection strings. + +--- + +### 2.5 Built-in Rate Limiter + +**Rails:** `throttle` via rack-attack. +**Laravel:** `throttle` middleware. + +**GoShip proposal:** A configurable rate-limiting middleware in the framework. Echo has `echo.IPRateLimit()` but it's minimal. A proper implementation: +- Per-IP and per-user limits +- Configurable per route group +- Backed by in-memory (Otter) for single binary, Redis for scaled +- Returns 429 with `Retry-After` header + +--- + +### 2.6 DB-Backed Sessions (Optional) + +**Rails:** `ActiveRecord::SessionStore`. +**GoShip current:** Cookie-only sessions (Gorilla sessions). + +**Problem:** Cookie sessions work fine for single-server. Scaling to multiple web processes with cookie sessions requires sticky sessions at the load balancer. + +**Proposal:** Add a DB-backed session store implementation as an option. The Gorilla sessions ecosystem has existing implementations for Postgres and SQLite. Config-selectable: +```yaml +session: + store: cookie # or: db +``` + +--- + +### 2.7 First-Class `.env` Support + +**Rails/Laravel:** `.env` files for local secrets via dotenv. + +**GoShip current:** YAML config with environment variable overrides via viper. Works, but the ergonomics for secrets (DB password, Stripe key) is cumbersome. + +**Proposal:** Load `.env` at startup before viper config resolution. `.env` variables map to the same `GOSHIP_*` prefixed env var names already supported. `.env.example` committed; `.env` gitignored. + +**Value:** Standard pattern every developer expects. Makes `ship new myapp` produce a project that works immediately after editing `.env`. + +**Chosen library: `cleanenv` (`github.com/ilyakaznacheev/cleanenv`)** + +Wins over `envconfig` (Kelsey Hightower): +- Built-in `.env` file loading (no separate godotenv needed) +- Auto-generates help/usage text for `ship config:validate` +- `required` and `env-default` tags built-in +- One dependency replaces Viper + godotenv + +Config struct pattern: +```go +type Config struct { + DatabaseURL string `env:"DATABASE_URL,required"` + SecretKey string `env:"SECRET_KEY,required"` + Port int `env:"PORT" env-default:"8080"` + RedisURL string `env:"REDIS_URL"` +} + +func Load() (*Config, error) { + cfg := &Config{} + _ = cleanenv.ReadConfig(".env", cfg) // load .env if present, ignore if absent + return cfg, cleanenv.ReadEnv(cfg) // overlay actual env vars +} +``` + +--- + +### 2.8 Pagination as First-Class + +**Pagoda has it:** A `Pager` utility for cursor/offset pagination with page size, current page, total pages, and a `HasPages()` check. + +**GoShip status:** Manual pagination in each controller. + +**Proposal:** Add a `framework/pager` package: +```go +p := pager.New(ctx, 20) // 20 per page +results, err := db.Query().Limit(p.Limit()).Offset(p.Offset())... +page.Pager = p +``` +Templ component renders prev/next links automatically from `page.Pager`. + +--- + +## Part 3 — Priority Matrix + +| Item | Value | Effort | Priority | +|---|---|---|---| +| **1.2 Backlite driver** | Very High | Medium | P0 | +| **1.3 Otter cache adapter** | Very High | Low | P0 | +| **1.1 SQLite DB adapter** | Very High | Medium | P0 | +| **1.7 In-memory test DB** | High | Low | P0 | +| **1.6 Chainable redirect** | Medium | Low | P1 | +| **2.2 `ship routes`** | High | Low | P1 | +| **2.7 `.env` support** | High | Low | P1 | +| **2.8 Pagination utility** | Medium | Low | P1 | +| **1.4 Admin panel** | Very High | High | P2 | +| **1.5 Afero file system** | Medium | Medium | P2 | +| **2.4 `ship db:console`** | Medium | Low | P2 | +| **2.5 Rate limiter** | Medium | Medium | P2 | +| **2.6 DB sessions** | Low | Medium | P3 | +| **2.1 `ship console`** | N/A | N/A | ❌ Not viable in Go | + +**P0 = unlocks single-binary deployment. Do these together as a unit.** + +--- + +## Part 4 — Single Binary Release Checklist + +For GoShip to support `ship new myapp && make run` with zero external dependencies, the following must all be done: + +``` +[ ] SQLite adapter for core.Store (modernc.org/sqlite, CGO-free) +[ ] Backlite driver for modules/jobs +[ ] Otter adapter for core.Cache +[ ] In-memory test DB (SQLite in EnvTest) +[ ] Goose SQLite dialect support verified +[ ] config/application.yaml: default to single-binary mode +[ ] ship new: scaffold with single-binary defaults +[ ] Makefile: make run works without docker-compose +[ ] docs: "single binary" getting-started guide +``` + +When all boxes are checked, GoShip can legitimately claim: **one binary, zero dependencies, production-ready**. + +--- + +## Part 4 — Nil Safety: Eliminating Nil Deref Panics + +Go + templ nil dereference panics are the most common runtime crash class. The fix is architectural, not defensive. + +### Root causes +1. Domain model pointers (`*User`, `*string`) flowing directly into templ components +2. Uninitialized nested structs in viewmodels +3. Optional DB columns as `*string` instead of `sql.NullString` + +### The architecture fix: value-type viewmodels + +Create a hard boundary between domain models and viewmodels: + +- **Domain models** (`db/gen/`, `framework/domain/`) — pointers allowed for nullable DB columns +- **Viewmodels** (`app/web/viewmodels/`) — **zero pointer fields**. All value types, fully initialized +- **Templ components** — accept viewmodel types or primitives only. Never `*DomainModel` +- **Controllers** — own the domain → viewmodel transformation. All nil handling happens here + +```go +// Domain model — pointer fields OK +type User struct { Name *string } + +// Viewmodel — value type only +type UserCardVM struct { DisplayName string } // empty string = absent, never nil + +// Controller transforms +func toUserCardVM(u *User) UserCardVM { + return UserCardVM{DisplayName: stringOr(u.Name, "")} +} +``` + +### Nil-safe domain accessors + +```go +func (u *User) DisplayName() string { + if u == nil || u.Name == nil { return "" } + return *u.Name +} +``` + +Go methods on nil pointer receivers are legal if they nil-guard at entry. + +### Enforcement + +- **`nilaway`** (Uber) in CI — statically traces nil flows across function boundaries +- **`middleware.Recover()`** as first middleware — panics return 500, app stays alive +- **Route smoke tests** with zero-value data — nil deref shows up in test, not production +- **Viewmodel constructors** — `NewUserCardVM(u *User) UserCardVM` guarantees all fields set + +### Priority + +Add to `app/web/viewmodels/` convention: no pointer fields, ever. This is a permanent architectural rule, enforced by nilaway in CI. + +--- +FILE: docs/roadmap/05-llm-dx-agent-friendly.md +--- +# GoShip — LLM-Forward DX & Agent-Friendly Codebase + +**Status:** Active — tasks pickup-ready for any LLM agent +**Last updated:** 2026-03-08 +**Priority:** Convention-over-configuration is the top priority. All tasks serve that goal. + +**Reference docs (read before picking up any task):** +- `docs/roadmap/02-architecture-evolution.md` — architecture evolution (islands, modules, MCP) +- `docs/roadmap/03-atomic-tasks.md` — the main implementation task list (M03) +- `docs/guides/01-ai-agent-guide.md` — conventions, safe change workflow +- `docs/ui/convention.md` — data-component / data-slot / Renders: comment rules + +**Task format:** Each task is self-contained — full context, exact files to touch, and a "done when" +acceptance criterion. A task is complete only when its criterion is met. Mark `[x]` before starting +any task that depends on it. + +**Parallelism:** Tasks within a group marked `(parallel)` have no inter-dependencies. + +**Stack context:** Go 1.24, Echo v4, Templ, HTMX, Alpine.js, Bob ORM, cleanenv config, +ship CLI (`tools/cli/ship/`), MCP server (`tools/mcp/ship/`), Vite islands frontend. + +--- + +## Key File Map (read before touching any task) + +| Concern | File / Fact | +|---------|-------------| +| Doctor logic (checks) | `tools/cli/ship/internal/policies/doctor.go` → `RunDoctorChecks(root string) []DoctorIssue` | +| Doctor CLI wiring | `tools/cli/ship/internal/cli/cli.go` → `c.runDoctor()` dispatches to `cmd.RunDoctor(args, deps)` | +| DoctorIssue struct | `{ Code, Message, Fix, File, Severity string }` | +| Ship CLI dispatch | `tools/cli/ship/internal/cli/cli.go` → `func (c CLI) Run(args []string) int` with `switch args[0]` | +| Ship command pattern | `func RunXxx(args []string, d XxxDeps) int` in `tools/cli/ship/internal/commands/*.go`; deps injected via struct | +| Ship command example | `tools/cli/ship/internal/commands/infra.go` — read this as the canonical simple command template | +| MCP server entrypoint | `tools/mcp/ship/cmd/ship-mcp/main.go` → calls `server.Run(ctx, stdin, stdout, stderr, docsRoot)` | +| MCP tools registration | `tools/mcp/ship/internal/server/tools.go` — read this file to see how tools are registered and how to add new ones | +| MCP server logic | `tools/mcp/ship/internal/server/server.go` | +| App router | `app/router.go` — route markers: `// ship:routes:public:start/end`, `// ship:routes:auth:start/end`, `// ship:routes:external:start/end` | +| Container | `app/foundation/container.go` — container marker: `// ship:container:start` / `// ship:container:end` at line ~95 | +| Core interfaces | `framework/core/interfaces.go` — defines `Cache`, `Jobs`, `PubSub`, `Mailer`, `BlobStorage`, `Module`, `RoutableModule` | +| App controllers | `app/web/controllers/` (30 files) | +| App views | `app/views/` | +| App viewmodels | `app/web/viewmodels/` | +| Config struct | `config/config.go` → `type Config struct { HTTP, App, Runtime, Adapters, Cache, Database, Mail, … }` | +| Templ generate | `make templ-gen` | +| Test commands | `make test` (unit, no Docker), `make test-integration` (Docker required), `make e2e` (Playwright) | +| Already implemented | `tools/cli/ship/internal/commands/describe.go`, `verify.go`, `agent_start.go`, `agent_finish.go`, `dev.go` all **exist** — check actual content before re-implementing | + +--- + +## Why Convention-Over-Configuration? + +LLMs make fewer errors when there is exactly one correct place to put each kind of thing. +When a codebase has multiple valid patterns, the agent must guess — and guesses compound. + +**The Rails insight applied to GoShip:** +- One place for controllers: `app/web/controllers/` +- One place for route registration: `app/router.go` (with ship:routes markers) +- One place for DB queries: `db/queries/` (SQL files → generated by bobgen-sql) +- One place for config: struct tags in `config/config.go` +- One place for migrations: `db/migrations/` + +`ship doctor` is the enforcer. Every convention that can be checked programmatically must be. +Every violation must be a structured error that an agent can read and fix. + +--- + +## Group L — Convention Enforcement (Start Here) + +> These tasks give `ship doctor` and related tools the ability to enforce conventions +> programmatically. This is the foundation that makes all other LLM-DX work valuable. + +### L01 — Enforce canonical file placement in `ship doctor` + +**Status:** `[ ] todo` +**Depends on:** M03 A02 (ship doctor --json flag) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +> **IMPORTANT:** The doctor command logic lives in `tools/cli/ship/internal/policies/doctor.go` (1,897 lines), NOT in `commands/`. The CLI wiring is in `tools/cli/ship/internal/cli/cli.go → c.runDoctor()`. The main check function is `RunDoctorChecks(root string) []DoctorIssue`. Each check appends to a `[]DoctorIssue` slice. The `DoctorIssue` struct has fields `{ Code, Message, Fix, File, Severity string }`. Read `policies/doctor.go` in full before editing — many checks already exist and the pattern is established. + +**Context:** GoShip has one canonical path for every concern. Agents violate these when they +have no enforcement. `ship doctor` must catch placement violations and report them as structured +errors. The `--json` output format is: `{"type", "file", "detail", "severity"}` — match existing issue format in `policies/doctor.go`. + +**Rules to enforce:** +1. No `*.go` file defining an HTTP handler func outside `app/web/controllers/` + (detect: func signature `func(*echo.Context) error` outside that dir) +2. No route registration (`e.GET`, `e.POST`, `e.PUT`, `e.DELETE`, `e.PATCH`) outside `app/router.go` +3. No SQL queries (raw `db.Query`, `db.Exec` without Bob) outside `db/queries/` or `*_store.go` files +4. No migration files outside `db/migrations/` +5. No config struct definitions outside `config/config.go` + +**Exact pattern to follow** (copy this for every new check — do NOT deviate): +```go +// Add this function anywhere in policies/doctor.go +func checkHandlerPlacement(root string) []DoctorIssue { + issues := make([]DoctorIssue, 0) + // walk files, detect violation, then: + issues = append(issues, DoctorIssue{ + Code: "DX020", // use the next available DX0XX code not already in the file + Message: "HTTP handler defined outside app/web/controllers/", + Fix: "move the handler to app/web/controllers/", + File: "path/to/offending/file.go", // the specific file that violated the rule + Severity: "error", // "error" blocks the build; "warning" just warns + }) + return issues +} + +// Then in RunDoctorChecks (around line 169), add ONE line to call it: +issues = append(issues, checkHandlerPlacement(root)...) +``` +The `Severity` field is optional — omit it for errors (they default to blocking). Use `Severity: "warning"` for non-blocking hints. + +**What to do:** +1. Read `tools/cli/ship/internal/policies/doctor.go` — search for "DX0" to find the highest existing code number, then use the next available numbers for your new checks. +2. Check whether each of the 5 rules below is already implemented (grep for "handler", "route registration", "raw SQL", "migration", "config struct" in the file). Add only what is missing. +3. Add each missing rule as a standalone function `checkXxx(root string) []DoctorIssue` following the exact pattern above. +4. Each check uses `filepath.Walk` to scan directories, and `regexp.MustCompile` or `strings.Contains` to detect violations. +5. Add one `issues = append(issues, checkXxx(root)...)` call inside `RunDoctorChecks` for each new check. + +**Done when:** `ship doctor` reports violations for each rule when a file is placed incorrectly. +`ship doctor --json` includes placement violations in the issues array. + +--- + +### L02 — Enforce file size conventions in `ship doctor` + +**Status:** `[ ] todo` +**Depends on:** L01 (uses same check infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +**Context:** Files over 300 lines are a signal of violation of single-responsibility. LLMs have +worse comprehension of large files and are more likely to make errors editing them. Ship doctor +should warn (not error) on files above threshold, and error on files above a hard cap. + +**Thresholds:** +- Warning: any `.go` file > 300 lines (excluding generated files: `*.templ.go`, `*_sql.go`, `bob_*.go`) +- Error: any `.go` file > 600 lines (same exclusions) +- Warning: any `.templ` file > 200 lines +- Error: any `.templ` file > 400 lines +- Exclude: `vendor/`, `_test.go` files (tests can be longer), generated files + +**What to do:** +1. Read `tools/cli/ship/internal/policies/doctor.go` — check if `checkFileSizes` already exists (grep for "300" or "600" line thresholds). Add only if missing. +2. Add `checkFileSizes(root string) []DoctorIssue` following the exact pattern from L01: standalone function, returns `[]DoctorIssue`, append result in `RunDoctorChecks`. +3. Walk `app/`, `framework/`, `tools/`, `config/` directories using `filepath.Walk`. +4. Count lines by reading file content and counting `\n`. Skip blank lines with `strings.TrimSpace(line) == ""`. +5. Apply exclusion rules: skip files ending in `.templ.go`, `_sql.go`, `bob_`, `_test.go`, and skip `vendor/` paths. +6. Use `Severity: "warning"` for >300 lines, omit Severity (defaults to error) for >600 lines. +7. Add `issues = append(issues, checkFileSizes(root)...)` inside `RunDoctorChecks`. + +**Done when:** `ship doctor` warns on files exceeding thresholds. Output includes the file path +and line count. Excluded files are not flagged. `--json` output includes these as issues. + +--- + +### L03 — Enforce marker comment integrity in `ship doctor` + +**Status:** `[ ] todo` +**Depends on:** L01 (uses same check infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go`, `app/router.go`, `app/foundation/container.go` + +**Context:** `ship module:add` (M03 C03) inserts code at marker comments. If a developer removes +or renames a marker, module installation silently fails. Doctor must verify markers are present +and paired. + +**Markers to check (exact strings, verified in source):** +- `app/router.go`: `// ship:routes:public:start` / `// ship:routes:public:end` (line ~147), `// ship:routes:auth:start` / `// ship:routes:auth:end` (line ~238), `// ship:routes:external:start` / `// ship:routes:external:end` (line ~248) +- `app/foundation/container.go`: `// ship:container:start` / `// ship:container:end` (line ~95) + +**What to do:** +1. Read `tools/cli/ship/internal/policies/doctor.go` — search for "ship:routes" or "ship:container". If marker integrity checks already exist, verify they cover all pairs listed above and add only what's missing. +2. Add `checkMarkerIntegrity(root string) []DoctorIssue` following the exact pattern from L01: standalone function, returns `[]DoctorIssue`. +3. For each marker pair: `content, err := os.ReadFile(filepath.Join(root, "app/router.go"))`, then check `bytes.Contains(content, []byte("// ship:routes:auth:start"))` and `bytes.Contains(content, []byte("// ship:routes:auth:end"))`. +4. Also verify `:start` index < `:end` index using `bytes.Index` to detect inversion. +5. Error (no Severity field) if marker is missing. `Severity: "warning"` if unpaired. +6. Add `issues = append(issues, checkMarkerIntegrity(root)...)` inside `RunDoctorChecks`. + +**Done when:** `ship doctor` errors if any required marker is missing or unpaired. Detects inversion. + +--- + +### L04 — Add `ship verify` as the single done-check command + +**Status:** `[ ] todo` +**Depends on:** L01, L02, L03 (doctor must be complete), M03 A02 (doctor --json) +**Files:** `tools/cli/ship/internal/cli/cli.go`, `tools/cli/ship/internal/commands/verify.go` + +> **NOTE:** `tools/cli/ship/internal/commands/verify.go` **already exists**. Read it first — it may be a stub or partially implemented. Check whether the pipeline steps (templ generate → go build → ship doctor → nilaway → go test) are all wired. If any are missing, add them following the existing pattern in that file. Do NOT recreate the file from scratch. + +**Context:** Agents need a single command that runs all correctness checks in sequence and fails +fast on the first error. Without this, agents run inconsistent subsets of checks. `ship verify` +is the canonical "am I done?" command — run it before marking any task complete. + +**Pipeline (in order):** +1. `templ generate` — compile all templ files, catch syntax errors +2. `go build ./...` — full type-check and compilation +3. `ship doctor --json` — structural and placement checks +4. `nilaway ./...` (if installed, skip with warning if not) — nil safety analysis +5. `go test ./...` — full test suite + +**What to do:** +1. Create `tools/cli/ship/internal/commands/verify.go`. +2. Register `verify` command in `cli.go`. +3. Run each step as a subprocess. Capture stdout/stderr. +4. On any step failure: print the step name, its output, and exit with code 1. +5. On all steps pass: print `✓ verify passed` and exit 0. +6. Add `--skip-tests` flag to skip step 5 (useful when dependencies aren't running). +7. Add `--json` flag: output `{"ok": bool, "steps": [{"name", "ok", "output"}]}`. + +**Done when:** `ship verify` runs the full pipeline. Fails fast on first error with clear output. +`ship verify --json` outputs structured result. `ship verify --skip-tests` skips the test step. + +--- + +### L05 — Add `ship describe --json` machine-readable codebase map + +**Status:** `[ ] todo` +**Depends on:** nothing (standalone command) +**Files:** `tools/cli/ship/internal/commands/describe.go`, `tools/cli/ship/internal/cli/cli.go` + +> **NOTE:** `tools/cli/ship/internal/commands/describe.go` **already exists**. Read it first — it may be a stub or partially implemented. Check which sections of the JSON output (routes, modules, controllers, viewmodels, components, islands, db_tables, migrations) are populated vs missing. Fill in only what's missing. The CLI dispatch in `cli.go → c.runDescribe()` is already wired. + +**Context:** LLMs burn context reading individual files to understand codebase structure. +`ship describe` produces a compact JSON map of everything an agent needs to work efficiently: +routes, modules, viewmodels, components. Agents load this once at task start. + +**Output schema:** +```json +{ + "routes": [ + {"method": "GET", "path": "/login", "handler": "LoginController.Show", "auth": false, "file": "app/web/controllers/login.go:12"} + ], + "modules": [ + {"id": "notifications", "installed": true, "routes": 3, "migrations": 2} + ], + "controllers": [ + {"name": "LoginController", "file": "app/web/controllers/login.go", "handlers": ["Show", "Submit"]} + ], + "viewmodels": [ + {"name": "LoginPage", "file": "app/web/controllers/login.go", "fields": ["Email", "Password", "Errors"]} + ], + "components": [ + {"name": "Navbar", "file": "app/views/web/components/navbar.templ", "data_component": "navbar"} + ], + "islands": [ + {"name": "ThemeToggle", "file": "frontend/islands/ThemeToggle.svelte"} + ], + "db_tables": ["users", "sessions", "notifications"], + "migrations": [ + {"file": "db/migrations/00001_initial.sql", "applied": true} + ] +} +``` + +**What to do:** +1. Create `tools/cli/ship/internal/commands/describe.go`. +2. Parse routes from `app/router.go` (read marker sections, extract e.GET/POST calls with regex). +3. List controllers from `app/web/controllers/*.go` (exported types + methods). +4. Detect viewmodel structs: Go structs with `Page` or `ViewModel` suffix in controllers dir. +5. Detect components: `.templ` files in `app/views/web/components/` + their `data-component` values. +6. List islands from `frontend/islands/` directory listing. +7. List DB tables from `db/queries/*.sql` (extract table names from CREATE TABLE or SELECT FROM). +8. List migrations from `db/migrations/` (filename only; `applied` = check if table `migrations` has the entry via `ship db:status` or skip if DB not available). +9. Register `describe` in `cli.go`. +10. Default output is JSON. Add `--pretty` for human-readable indented output. + +**Done when:** `ship describe` outputs valid JSON. Each section is populated from live filesystem. +`ship describe --pretty` outputs indented JSON. Command exits 0 even if DB is unavailable +(mark `applied: null` for migration status). + +--- + +## Group M — MCP Tool Expansion + +> Agents interact with GoShip via the MCP server. Each tool here enables a new autonomous action. +> Read `tools/mcp/ship/` before picking up any task in this group. + +### M01 — Add `ship_doctor` MCP tool + +**Status:** `[ ] todo` +**Depends on:** L04 (ship verify), M03 A02 (ship doctor --json) +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipDoctor`. If a function with that name exists and is registered as a tool named `ship_doctor`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +> **MCP tool registration pattern:** The MCP server entrypoint is `tools/mcp/ship/cmd/ship-mcp/main.go` which calls `server.Run(ctx, stdin, stdout, stderr, docsRoot)`. All tool definitions and handlers are in `tools/mcp/ship/internal/server/tools.go`. Read that file first — it shows the exact pattern for registering a new tool (tool schema, input struct, handler function). The server logic is in `tools/mcp/ship/internal/server/server.go`. + +**Context:** The MCP server at `tools/mcp/ship/` currently has 3 tools: `ship_help`, `docs_search`, +`docs_get`. Adding `ship_doctor` lets agents self-validate after making changes, closing the +act → verify → fix loop without human intervention. + +**Tool contract:** +- Name: `ship_doctor` +- Input: `{}` (no parameters) +- Output: `{"ok": bool, "issues": [{"type", "file", "detail", "severity"}]}` +- Implementation: shell out to `ship doctor --json`, parse and return the result + +**What to do (only if not already present):** +1. Read `tools/mcp/ship/internal/server/tools.go` fully to understand how existing tools are registered. +2. Following the same pattern, register `ship_doctor` in that file. +3. Execute `ship doctor --json` as a subprocess, capture stdout. +4. Parse JSON output, return as MCP tool result. +5. If `ship doctor` binary is not found, return `{"ok": false, "issues": [{"type": "config", "detail": "ship binary not found in PATH"}]}`. + +**Done when:** MCP client can call `ship_doctor` and receive structured issue list. Returns +correctly when no issues exist (`{"ok": true, "issues": []}`). + +--- + +### M02 — Add `ship_routes` MCP tool + +**Status:** `[ ] todo` +**Depends on:** L05 (ship describe --json populates route data) +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipRoutes`. If a function with that name exists and is registered as a tool named `ship_routes`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +**Context:** Agents creating new routes need to know what routes already exist to avoid conflicts. +`ship_routes` returns the full route inventory from `ship describe --json`. + +**Tool contract:** +- Name: `ship_routes` +- Input: `{"filter": "public|auth|admin"}` (optional) +- Output: `{"routes": [{...}]}` (same schema as `ship describe` routes array) + +**What to do (only if not already present):** +1. Register `ship_routes` tool. +2. Shell out to `ship describe --json`, parse the `routes` field. +3. If `filter` is provided, return only routes matching the auth level. +4. Return the routes array. + +**Done when:** `ship_routes` returns route inventory. Filter parameter works correctly. + +--- + +### M03 — Add `ship_modules` MCP tool + +**Status:** `[ ] todo` +**Depends on:** L05 (ship describe --json) +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipModules`. If a function with that name exists and is registered as a tool named `ship_modules`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +**Context:** Agents need to know which modules are installed before writing code that depends +on them. Prevents agents from importing missing modules. + +**Tool contract:** +- Name: `ship_modules` +- Input: `{}` (no parameters) +- Output: `{"modules": [{...}]}` (same schema as `ship describe` modules array) + +**What to do (only if not already present):** +1. Register `ship_modules` tool. +2. Shell out to `ship describe --json`, parse the `modules` field. +3. Return modules array. + +**Done when:** `ship_modules` returns installed module list with route and migration counts. + +--- + +### M04 — Add `ship_scaffold` MCP tool + +**Status:** `[ ] todo` +**Depends on:** M03 C01 (module system interfaces), scaffolding commands in ship CLI +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipScaffold`. If a function with that name exists and is registered as a tool named `ship_scaffold`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +**Context:** The highest-friction LLM task is creating new resources — controller + viewmodel + +templ file + route + test. `ship_scaffold` lets agents scaffold resources without shell access. + +**Tool contract:** +- Name: `ship_scaffold` +- Input: `{"resource": "Post", "fields": [{"name": "Title", "type": "string"}, {"name": "Body", "type": "string"}]}` +- Output: `{"ok": bool, "files_created": ["path/to/file.go", ...], "errors": [string]}` +- Implementation: shell out to `ship make:scaffold Post Title:string Body:string`, parse output + +**What to do (only if not already present):** +1. Register `ship_scaffold` tool. +2. Build the CLI invocation from input parameters. +3. Execute and parse the output (ship make:scaffold should output JSON when --json flag is set). +4. Return structured result with created file paths. + +**Done when:** Agent can scaffold a new resource via MCP. Returns created file paths. Handles +errors (duplicate resource name, invalid field types) via `errors` array. + +--- + +### M05 — Add `ship_verify` MCP tool + +**Status:** `[ ] todo` +**Depends on:** L04 (ship verify command) +**Files:** `tools/mcp/ship/internal/server/tools.go` + +> **VERIFY FIRST — may already be implemented.** Open `tools/mcp/ship/internal/server/tools.go` and search for `callShipVerify`. If a function with that name exists and is registered as a tool named `ship_verify`, this task is **done** — mark it `[x]`. Only implement if the function is missing. + +**Context:** Wraps `ship verify --json` as an MCP tool. Agents run this after implementing a +task to confirm no regressions before marking work complete. + +**Tool contract:** +- Name: `ship_verify` +- Input: `{"skip_tests": bool}` +- Output: `{"ok": bool, "steps": [{"name": "string", "ok": bool, "output": "string"}]}` + +**What to do (only if not already present):** +1. Register `ship_verify` tool. +2. Build invocation: `ship verify --json` or `ship verify --json --skip-tests`. +3. Parse and return JSON output. + +**Done when:** `ship_verify` returns step-by-step verification result. Agent can read which +step failed and its output without human intervention. + +--- + +## Group N — Hierarchical CLAUDE.md Context Files + +> Scoped context files allow agents to load only the context relevant to their current task. +> This reduces token usage and improves accuracy for module-level work. + +### N01 — Create framework CLAUDE.md + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `framework/CLAUDE.md` (new) + +**Context:** When an agent works in `framework/`, it needs to know the framework's contracts and +what is off-limits. Without a scoped guide, it reads the whole repo and makes framework changes +that break app compatibility. + +**What to write:** +1. Framework role: provides routing, DI, config, DB, session, middleware, rendering pipeline. + Does NOT include: auth flows, business logic, module-specific code. +2. Core interfaces: `framework/core/interfaces.go` — read this before any change. +3. Adapter pattern: all optional services go through adapter interfaces. Never add direct deps. +4. Allowed dependencies: standard library + Echo + Bob + cleanenv. No new external packages + without explicit approval. +5. Breaking change rule: any change to `framework/core/interfaces.go` requires updating all + adapter implementations and all framework tests. +6. Testing: every exported function in `framework/` must have a test. +7. Run `ship verify` after every change. + +**Done when:** `framework/CLAUDE.md` exists with the above sections. An agent reading only this +file has enough context to safely modify the framework. + +--- + +### N02 — Create module-level CLAUDE.md template + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `modules/CLAUDE.md.template` (new), `docs/guides/01-ai-agent-guide.md` (update) + +**Context:** Each module needs a CLAUDE.md that tells agents: what the module does, which files +to touch, which interfaces it implements, and which other modules it depends on. This template +is used when `ship module:add` scaffolds a new module (M03 C03). + +**Template content:** +```markdown +# Module: + +## What This Module Does + + +## Files +- `module.go` — module ID, config schema, interface implementation +- `service.go` — business logic (exported API) +- `store.go` — storage interface +- `store_sql.go` — SQL implementation using Bob +- `routes.go` — route registration (implement RoutableModule) +- `views/` — templ templates +- `db/migrations/` — SQL migration files + +## Interfaces Implemented +- `core.Module` (module.go) +- `core.RoutableModule` (routes.go) — if this module has HTTP routes + +## Dependencies +- Other modules this module imports: +- Framework packages used: + +## Conventions +- All HTTP handlers are in `routes.go` — nowhere else +- All business logic is in `service.go` — controllers never call store directly +- All DB access goes through the store interface — never raw SQL in service.go +- Viewmodels are value types (no pointer fields) +- Run `ship verify` after every change +``` + +**What to do:** +1. Create `modules/CLAUDE.md.template` with the above content. +2. Update `docs/guides/01-ai-agent-guide.md` to mention that each module has a CLAUDE.md + and that agents should read it before modifying a module. + +**Done when:** Template exists. Agent guide references it. The template is referenced in `ship module:add` implementation (M03 C03). + +--- + +### N03 — Create app-layer CLAUDE.md + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `app/CLAUDE.md` (new) + +**Context:** `app/` is the application layer — it wires framework + modules together. Agents +working here must know: where things go, what's app-specific vs module-owned, and how to avoid +creating framework-level code in the app layer. + +**What to write:** +1. Role: wires framework + modules. Owns: router, container, app-specific controllers, foundation. +2. Controllers live in `app/web/controllers/` — one file per resource. +3. Route registration: only in `app/router.go` at the ship:routes marker comments. +4. Container wiring: only in `app/foundation/container.go` at the ship:container markers. +5. Views: only in `app/views/` — follow `docs/ui/convention.md` for data-component / Renders: rules. +6. No business logic in controllers — delegate to service layer or module services. +7. No SQL in controllers — all DB goes through repository pattern. +8. Run `ship verify` after every change. + +**Done when:** `app/CLAUDE.md` exists. Covers all placement rules and anti-patterns. + +--- + +## Group O — Route Contracts as First-Class Specs + +> Route contracts define the typed shape of every request and response. They act as a spec +> that agents implement against, and as validation that the implementation matches the intent. + +### O01 — Define route contract types for all existing routes + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `app/contracts/` (new directory), one file per route group + +**Context:** Currently, request parsing is scattered — form values plucked inline in handler +functions, response shape implicit in the viewmodel. Route contracts make the intent explicit: +this route receives X, it renders Y. An agent implementing a handler can read the contract and +know exactly what to build. + +**Contract type convention:** +```go +// in app/contracts/auth.go +package contracts + +// LoginRequest is the form submission contract for POST /login. +type LoginRequest struct { + Email string `form:"email" validate:"required,email"` + Password string `form:"password" validate:"required,min=8"` +} + +// LoginPage is the viewmodel for GET /login. +type LoginPage struct { + Email string + Errors map[string]string +} +``` + +**What to do:** +1. Create `app/contracts/` directory. +2. For each existing route group (auth, profile, preferences, home), create a contracts file. +3. Extract or document the request shape from the handler's form parsing calls. +4. Extract or copy the existing viewmodel struct into the contracts file if it's currently + defined inline in the controller. +5. Handlers are NOT changed in this task — contracts are documentation and type anchors. +6. Add a `// Route: METHOD /path` comment above each type. + +**Done when:** `app/contracts/` exists with one file per route group. All existing public request +types and viewmodels are represented. No handler logic is changed. + +--- + +### O02 — Enforce contract usage in `ship doctor` + +**Status:** `[ ] todo` +**Depends on:** O01, L01 (doctor infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +**Context:** After O01, contracts exist but handlers may not use them. This check catches handlers +that parse form values directly without a contract type. + +**Rule:** Any handler that calls `c.FormValue()` or `c.Bind()` without assigning to a type defined +in `app/contracts/` package is a warning. + +**What to do:** +1. Add `checkContractUsage()` to doctor. +2. Walk `app/web/controllers/*.go`, detect calls to `c.FormValue(` or `c.Bind(`. +3. Check if the bound type is in the `contracts` package (import alias check). +4. Warn (not error) if direct form parsing is used without a contract. + +**Done when:** `ship doctor` warns on handlers using raw form parsing. Existing contract-using +handlers are not flagged. + +--- + +## Group P — Test-First Scaffolding + +> The highest-value change to scaffolding: generate a failing test first, then the implementation. +> This forces a clear spec before code, and gives agents a green-light signal to stop. + +### P01 — Add `--test-first` flag to `ship make:scaffold` + +**Status:** `[ ] todo` +**Depends on:** existing `ship make:scaffold` command +**Files:** `tools/cli/ship/internal/commands/scaffold.go` (or equivalent) + +**Context:** Standard scaffolding generates stubs. `--test-first` inverts the order: generate +a failing integration test that describes the expected HTTP behavior, then generate the stub +handler. The agent's job is to make the test pass. This is the standard TDD scaffold pattern +from Rails and Laravel. + +**Generated test shape (for `ship make:scaffold Post Title:string`):** + +```go +// app/web/controllers/post_test.go +func TestPostController_Index(t *testing.T) { + // SCAFFOLD: implement Post index — should return 200 with list of posts + t.Skip("scaffold: implement me") +} + +func TestPostController_Show(t *testing.T) { + // SCAFFOLD: implement Post show — should return 200 with post details + t.Skip("scaffold: implement me") +} + +func TestPostController_Create(t *testing.T) { + // SCAFFOLD: implement Post create — should return 200 with create form + t.Skip("scaffold: implement me") +} + +func TestPostController_Store(t *testing.T) { + // SCAFFOLD: implement Post store — POST with valid data returns 302 redirect + t.Skip("scaffold: implement me") +} +``` + +**What to do:** +1. Read the current scaffold command to understand the generation pipeline. +2. Add `--test-first` boolean flag. +3. When set: + a. Generate the test file first (using the template above) in `app/web/controllers/_test.go`. + b. Generate the stub handler in `app/web/controllers/.go` with `panic("not implemented")` bodies. + c. Generate the templ file stub in `app/views/web/pages//`. + d. Print: "Tests generated. Make them pass, then remove t.Skip calls." +4. Test file uses `t.Skip` so `go test ./...` passes (skipped ≠ failed). + +**Done when:** `ship make:scaffold Post Title:string --test-first` generates a test file and stub +handler. `go test ./...` passes (tests are skipped). `ship verify` passes. + +--- + +### P02 — Add scaffold test to `ship verify` pre-completion check + +**Status:** `[ ] todo` +**Depends on:** P01, L04 (ship verify) +**Files:** `tools/cli/ship/internal/commands/verify.go` + +**Context:** When a scaffold is generated with `--test-first`, any remaining `t.Skip("scaffold:")` +calls in the test suite indicate incomplete work. `ship verify` should warn when skipped scaffold +tests remain, so agents know there is unfinished implementation. + +**What to do:** +1. Add a check in `ship verify` that greps for `t.Skip("scaffold:` in `*_test.go` files. +2. If any are found, print a warning (not error): "Warning: N scaffolded tests are still skipped." +3. List the file and test name for each skipped scaffold test. +4. Include as a warning (severity: "warning") in `--json` output. + +**Done when:** `ship verify` warns when scaffold test skips remain. Lists each unimplemented test. + +--- + +## Group Q — Agent Workflow Tooling + +> Commands that improve how agents start, isolate, and complete work. + +### Q01 — Add conventional commits enforcement to pre-commit hook + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `.githooks/commit-msg` (new), `Makefile` (hooks:install target) + +> **Makefile target:** The Makefile has a `hooks` / `hooks-install` target already. Check its current content before adding a new one — it may already configure `git config core.hooksPath`. The Makefile is at the repo root (`/Users/leoaudibert/Workspace/2026/pagoda-based/goship/Makefile`). + +**Context:** Conventional commits (`feat:`, `fix:`, `docs:`, `refactor:`, `test:`, `chore:`) +give agents and humans a consistent vocabulary for change classification. Without enforcement, +commit messages are unstructured and harder to parse in agent-generated changelogs. + +**Format enforced:** +``` +(): + +Types: feat, fix, docs, refactor, test, chore, perf, style, build, ci +Scope: optional module or area name (e.g., auth, jobs, admin) +Description: imperative present tense, lowercase, no period +``` + +**What to do:** +1. Create `.githooks/commit-msg` shell script: + ```sh + #!/bin/sh + MSG=$(cat "$1") + PATTERN='^(feat|fix|docs|refactor|test|chore|perf|style|build|ci)(\([a-z0-9-]+\))?: .+' + if ! echo "$MSG" | grep -qE "$PATTERN"; then + echo "ERROR: commit message does not follow conventional commits format." + echo "Expected: (): " + echo "Types: feat, fix, docs, refactor, test, chore, perf, style, build, ci" + exit 1 + fi + ``` +2. Make it executable: `chmod +x .githooks/commit-msg`. +3. Update `Makefile` hooks:install target to run `git config core.hooksPath .githooks`. +4. Update `docs/policies/01-engineering-standards.md` to list conventional commits as required. + +**Done when:** `git commit -m "bad message"` is rejected. `git commit -m "feat(auth): add oauth login"` succeeds. `make hooks:install` configures the hook. + +--- + +### Q02 — Add `ship agent:start` for isolated worktree workflow + +**Status:** `[ ] todo` +**Depends on:** L05 (ship describe), L04 (ship verify) +**Files:** `tools/cli/ship/internal/commands/agent_start.go`, `tools/cli/ship/internal/cli/cli.go` + +> **NOTE:** `tools/cli/ship/internal/commands/agent_start.go` **already exists**. Read it first — it may be a stub or partially implemented. Check which of the described steps (git worktree creation, TASK.md generation, ship describe output, CLAUDE.md injection) are done vs missing. The CLI dispatch in `cli.go → c.runAgent()` is already wired. Do NOT recreate the file. + +**Context:** Agents working on tasks benefit from isolation — a separate git worktree where their +changes don't interfere with in-progress human work, and a context document scoped to the task. +`ship agent:start` creates this environment and prepares a task brief. + +**What it does:** +1. Creates a git worktree at `.worktrees//` on a new branch `agent/`. +2. Generates a context document at `.worktrees//TASK.md` containing: + - The task description (passed as `--task` flag or read from stdin) + - Output of `ship describe --json` (routes, modules, viewmodels) + - Relevant CLAUDE.md files (based on which directories the task is likely to touch) +3. Prints the worktree path and branch name so the agent can `cd` there. + +**Command signature:** +``` +ship agent:start --task "Add OAuth login to auth module" [--id TASK-001] +``` + +**What to do:** +1. Create `agent_start.go`. +2. Accept `--task` (string) and `--id` (string, defaults to timestamp) flags. +3. Run `git worktree add .worktrees/ -b agent/`. +4. Run `ship describe --json` and write output into `TASK.md` under a `## Codebase State` section. +5. Write the task description into `TASK.md` under `## Task`. +6. Print: `Worktree created at .worktrees/. Branch: agent/.` +7. Add `.worktrees/` to `.gitignore`. + +**Done when:** `ship agent:start --task "description" --id T01` creates the worktree, branch, and +TASK.md. The worktree is functional (can run `go build` from it). `.worktrees/` is gitignored. + +--- + +### Q03 — Add `ship agent:finish` for worktree cleanup and PR prep + +**Status:** `[ ] todo` +**Depends on:** Q02 (agent:start) +**Files:** `tools/cli/ship/internal/commands/agent_finish.go`, `tools/cli/ship/internal/cli/cli.go` + +> **NOTE:** `tools/cli/ship/internal/commands/agent_finish.go` **already exists**. Read it first — it may be a stub or partially implemented. Check which of the steps (ship verify, git add, commit, push, gh pr create, worktree remove) are done vs missing. Do NOT recreate the file. + +**Context:** After an agent completes work in a worktree, it needs to: verify correctness, +create a conventional commit, and open a PR. `ship agent:finish` automates this sequence. + +**Command signature:** +``` +ship agent:finish --id TASK-001 --message "feat(auth): add oauth login" +``` + +**What it does:** +1. Runs `ship verify` in the worktree. Fails fast if verify fails. +2. Stages all changes: `git add -A` in the worktree. +3. Commits with the provided message (validated against conventional commits format). +4. Optionally pushes and creates a GitHub PR (requires `--pr` flag and `gh` CLI in PATH). +5. Removes the worktree: `git worktree remove .worktrees/`. + +**What to do:** +1. Create `agent_finish.go`. +2. Accept `--id`, `--message`, `--pr` (bool) flags. +3. Run `ship verify` in the worktree path. On failure, print output and abort. +4. Run git operations as described. +5. If `--pr` is set, run `gh pr create --title "" --body "Agent task: "`. + +**Done when:** `ship agent:finish --id T01 --message "feat: ..."` runs verify, commits, and +cleans up the worktree. `--pr` creates a PR via gh CLI. + +--- + +## Group R — Self-Describing Codebase + +> Make the codebase explain itself. Agents should be able to understand the current state +> from structured data, not from reading dozens of source files. + +### R01 — Add `// Renders:` comments to all exported templ functions (GoShip) + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** All `*.templ` files in `app/views/` + +**Context:** Per `docs/ui/convention.md`, every exported templ function must have a `// Renders:` +comment on the line above it. This is a one-line visual description of what the component +renders. Agents use it instead of reading the full templ file to understand component output. + +**Format:** +```templ +// Renders: top navigation bar with logo, user menu, and theme toggle +templ Navbar(user *User) { +``` + +**What to do:** +1. Read `docs/ui/convention.md` for the full convention. +2. For each exported templ function (starts with uppercase) in `app/views/`: + - If no `// Renders:` comment exists on the immediately preceding line, add one. + - Write a 1-line description of what the component visually renders. + - Be specific: "login form with email/password fields and forgot password link" + not "renders the login page". +3. Do not change any templ logic — comments only. +4. Run `make templ-gen` after to verify no syntax errors (this is the correct command — NOT `templ generate` directly). + +**Done when:** Every exported templ function in `app/views/` has a `// Renders:` comment. +`make templ-gen` passes. `ship verify` passes. + +--- + +### R02 — Add `ship doctor` check for missing `// Renders:` comments + +**Status:** `[ ] todo` +**Depends on:** R01, L01 (doctor infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +**Context:** After R01 establishes the pattern, doctor should enforce it so future-added components +don't silently skip the convention. + +**Rule:** Any exported templ function (line starting with `templ [A-Z]`) that does not have +`// Renders:` on the immediately preceding non-blank line is a warning. + +**What to do:** +1. Add `checkRendersComments()` to doctor command. +2. Walk `*.templ` files in `app/views/` and any installed module `views/` directories. +3. For each exported `templ Foo(` declaration, check the line above. +4. Warn if `// Renders:` is missing. +5. Include file path and function name in the warning. + +**Done when:** `ship doctor` warns on exported templ functions missing `// Renders:` comments. +Correctly handles functions with existing comments (no false positives). + +--- + +### R03 — Add `ship doctor` check for missing `data-component` attributes + +**Status:** `[ ] todo` +**Depends on:** L01 (doctor infrastructure) +**Files:** `tools/cli/ship/internal/policies/doctor.go` + +**Context:** Per `docs/ui/convention.md`, every exported templ component's root element must have +a `data-component=""` attribute. Doctor should enforce this. + +**Rule:** Any exported `templ Foo(` function that does not contain `data-component=` in its +body is a warning. Exclude layout templates (files named `*_layout.templ`) — layouts have +structural roots, not component roots. + +**What to do:** +1. Add `checkDataComponentAttributes()` to doctor command. +2. Walk `*.templ` files in `app/views/web/components/` (and module `views/` equivalents). +3. For each exported templ function, read the next 10 lines to detect `data-component=`. +4. Warn if not present. Exclude `*_layout.templ` files. + +**Done when:** `ship doctor` warns on exported templ components missing `data-component`. +Layout files are excluded. False positive rate is 0 for correctly annotated components. + +--- + +## Execution Order + +Tasks can be picked up in dependency order. A task is ready when all its dependencies are marked `[x]`. + +**Layer 0 (no dependencies — start any of these in parallel):** +- L01, L02 (need L01 check infra), L03 +- N01, N02, N03 +- O01 +- Q01 +- R01 + +**Layer 1 (depends on Layer 0):** +- L04 (needs L01+L02+L03) +- L05 +- O02 (needs O01, L01) +- R02 (needs R01, L01) +- R03 (needs L01) + +**Layer 2 (depends on Layer 1):** +- M01 (needs L04) +- M02, M03 (need L05) +- P01 (needs existing scaffold command) +- Q02 (needs L05, L04) + +**Layer 3 (depends on Layer 2):** +- M04 (needs M03 C01 from main task list) +- M05 (needs L04) +- P02 (needs P01, L04) +- Q03 (needs Q02) + +**Layer 4:** +- All MCP tools complete → agent self-correction loop is fully operational + +--- + +## Acceptance: The Full Agent Loop + +When all tasks in this document are complete, the following workflow is fully operational: + +``` +1. Human creates task: ship agent:start --task "Add rate limiting to auth routes" --id T042 +2. Agent reads TASK.md (task brief + codebase map) +3. Agent reads app/CLAUDE.md and app/web/controllers/CLAUDE.md +4. Agent calls ship_routes MCP tool → knows existing auth routes +5. Agent calls ship_modules MCP tool → knows installed modules +6. Agent implements the change +7. Agent calls ship_verify MCP tool → gets pass/fail per step +8. Agent fixes issues flagged by ship_doctor (inside ship_verify) +9. Agent runs ship agent:finish --id T042 --message "feat(auth): add rate limiting" +10. PR is created. Human reviews diff only — no debugging needed. +``` + +This is the act → verify → fix loop with zero human intervention between steps 2–9. + +--- +FILE: docs/roadmap/06-dx-and-infrastructure.md +--- +# GoShip — DX & Core Infrastructure + +**Status:** Active planning — tasks pickup-ready for any LLM agent +**Last updated:** 2026-03-08 + +**Reference docs (read before picking up any task):** +- `docs/roadmap/02-architecture-evolution.md` — architecture overview +- `docs/roadmap/03-atomic-tasks.md` — M03 task list (groups A–K) +- `docs/roadmap/05-llm-dx-agent-friendly.md` — M05 task list (groups L–R) +- `docs/guides/01-ai-agent-guide.md` — conventions, safe change workflow + +**Stack context:** Go 1.24, Echo v4, Templ, HTMX, Bob ORM, cleanenv config, +ship CLI (`tools/cli/ship/`), Vite frontend, Overmind for process management. + +**Task format:** Self-contained. Full context, exact files, "done when" criterion. +Mark `[x]` before starting any dependent task. + +**Group prefix:** S–V (continues from M05's L–R). + +--- + +## Key File Map (read before touching any task) + +| Concern | File / Fact | +|---------|-------------| +| Ship CLI command pattern | `func RunXxx(args []string, d XxxDeps) int` — see `tools/cli/ship/internal/commands/infra.go` as the canonical simple example | +| Ship CLI dispatch | `tools/cli/ship/internal/cli/cli.go` → `switch args[0]` and `runNamespaced` | +| Commands directory | `tools/cli/ship/internal/commands/` — contains 26 files. Check here before creating new files. | +| Already implemented commands | `dev.go`, `describe.go`, `verify.go`, `agent_start.go`, `agent_finish.go` all exist — **read before recreating** | +| Container | `app/foundation/container.go` — `NewContainer()` wires all services; marker `// ship:container:start` / `// ship:container:end` at line ~95 | +| Container fields | `Container.Database *sql.DB`, `Container.Cache *CacheClient`, `Container.Mail *mailer.MailClient`, `Container.CoreJobs core.Jobs`, `Container.CorePubSub core.PubSub` | +| Core interfaces | `framework/core/interfaces.go` — `core.Mailer` (and `core.MailMessage`) already defined here | +| Config struct | `config/config.go` → `type Config struct { HTTP, App, Runtime, Adapters, Database, Cache, Mail, … }` — add new fields here | +| App router | `app/router.go` — add middleware to the global stack via `appweb.ApplyMainMiddleware` | +| Framework middleware | `app/web/middleware/` — existing middleware lives here | +| App controllers | `app/web/controllers/` | +| App views | `app/views/` | +| Logging stack | `framework/logging` is canonical: `slog` logger + Echo adapter (`app/foundation/container.go` wires `c.Logger`/`c.Web.Logger`). | +| Templ generate | `make templ-gen` | +| Test commands | `make test` (unit, no Docker), `make test-integration` (Docker), `make e2e` (Playwright) | +| Procfile.dev | Check if it already exists at repo root before creating | +| GitHub Actions | Check if `.github/workflows/` already exists before creating | + +--- + +## Group S — Developer Workflow + +### S01 — Add `ship dev` unified development command + +**Status:** `[ ] todo` +**Depends on:** nothing +**Files:** `Procfile.dev`, `tools/cli/ship/internal/commands/dev.go`, +`tools/cli/ship/internal/cli/cli.go`, `Makefile` + +> **NOTE:** `tools/cli/ship/internal/commands/dev.go` **already exists** and `ship dev` is already dispatched in `cli.go → case "dev"`. Also check if `Procfile.dev` already exists at repo root. Read both files first — complete only what's missing. The Makefile already has a `dev` target (`make dev`) — check if it calls `ship dev` or does something else. + +**Context:** Running GoShip in development currently requires 4–5 separate terminal windows: +`templ generate --watch`, `air` (Go live reload), `pnpm --prefix frontend run dev` (Vite HMR), +`go run cmd/worker/main.go`. Each process has its own output, and agents don't know which to +restart after which kind of change. `ship dev` runs all processes as a single multiplexed stream. + +**Implementation approach:** Use Overmind (`github.com/DarthSim/overmind`) or `goreman` to read +`Procfile.dev`. Overmind is preferred: it supports per-process restart, colored output by default, +and is a single static binary. + +**`Procfile.dev` content:** +``` +web: air -c .air.toml +worker: go run ./cmd/worker/main.go +vite: pnpm --prefix frontend run dev +templ: templ generate --watch --proxy="http://localhost:8080" +``` + +**What to do:** +1. Create `Procfile.dev` at repo root with the content above. +2. Verify `.air.toml` exists and is configured correctly (if not, create with standard defaults: + watch `app/`, `config/`, `cmd/`, exclude `tmp/`, build to `tmp/main`). +3. Create `tools/cli/ship/internal/commands/dev.go`: + - Check if `overmind` is in PATH. If not, check `goreman`. If neither, print install instructions and exit 1. + - Exec: `overmind start -f Procfile.dev` (replaces current process, inherits stdio). +4. Register `dev` command in `cli.go`. +5. Add `Makefile` target `dev` that calls `ship dev` (convenience alias). +6. Document in `docs/guides/02-development-workflows.md`: "Run `ship dev` to start all processes." + +**Done when:** `ship dev` starts all four processes with merged colored output. Killing the command +(Ctrl+C) stops all child processes cleanly. Works from repo root. + +--- + +### S02 — Generate GitHub Actions CI/CD workflows in `ship new` + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel with S01) +**Files:** `.github/workflows/ci.yml` (new), `.github/workflows/deploy.yml` (new), +`.github/workflows/security.yml` (new), `.github/dependabot.yml` (new), +`tools/cli/ship/internal/commands/new.go` (update scaffold) + +**Context:** Every new GoShip project has a CI gap for weeks after creation — developers add CI +manually and inconsistently. `ship new myapp` should generate working GitHub Actions workflows +from day one. CI should be green on the first push. + +**`ci.yml` — runs on every push and PR:** +```yaml +name: CI +on: [push, pull_request] +jobs: + verify: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: { go-version: '1.24' } + - uses: actions/setup-node@v4 + with: { node-version: '22' } + - run: go install github.com/a-h/templ/cmd/templ@latest + - run: pnpm install --prefix frontend + - run: ship verify --skip-tests # templ gen + build + doctor + - run: go test ./... +``` + +**`deploy.yml` — runs on push to main:** +```yaml +name: Deploy +on: + push: + branches: [main] +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: webfactory/ssh-agent@v0.9.0 + with: { ssh-private-key: '${{ secrets.DEPLOY_KEY }}' } + - run: gem install kamal + - run: kamal deploy +``` + +**`security.yml` — weekly vulnerability scan:** +```yaml +name: Security +on: + schedule: [{ cron: '0 9 * * 1' }] +jobs: + govulncheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: { go-version: '1.24' } + - run: go install golang.org/x/vuln/cmd/govulncheck@latest + - run: govulncheck ./... +``` + +**`dependabot.yml`:** +```yaml +version: 2 +updates: + - package-ecosystem: gomod + directory: / + schedule: { interval: weekly } + - package-ecosystem: npm + directory: /frontend + schedule: { interval: weekly } + - package-ecosystem: github-actions + directory: / + schedule: { interval: weekly } +``` + +**What to do:** +1. Create these four files as templates in `tools/cli/ship/internal/templates/github/`. +2. Update the `ship new` command to copy them into the new project's `.github/` directory. +3. Add a note in the `ship new` output: "GitHub Actions workflows created. Add DEPLOY_KEY secret + to enable deployment." +4. These files should also exist in the GoShip repo itself (dogfooding). + +**Done when:** `ship new myapp` creates all four workflow files. CI workflow runs `ship verify` +correctly on first push (assuming ship is installed on the runner). + +--- + +## Group T — Core Infrastructure + +### T01 — Multi-process SQLite safety (WAL mode + connection pool) + +**Status:** `[ ] todo` +**Depends on:** M03 I01 (SQLite adapter must exist first) +**Files:** `framework/repos/sql/sqlite_adapter.go` (new or update), `framework/repos/sql/connection.go` + +**Context:** SQLite under concurrent HTTP load produces `"database is locked"` errors without +specific configuration. This is a silent killer for single-binary mode — the app appears to work +in development (low concurrency) but fails under any real load. These settings are mandatory, +not optional. + +**Required settings (applied at connection open time):** +```go +// Applied via SQLite pragma statements immediately after opening the DB +pragmas := []string{ + "PRAGMA journal_mode=WAL", // Write-Ahead Logging: readers don't block writers + "PRAGMA synchronous=NORMAL", // Safe with WAL, faster than FULL + "PRAGMA busy_timeout=5000", // Wait up to 5s before returning SQLITE_BUSY + "PRAGMA foreign_keys=ON", // Enforce FK constraints + "PRAGMA cache_size=-64000", // 64MB page cache + "PRAGMA temp_store=MEMORY", // Temp tables in memory +} +``` + +**Connection pool pattern:** +- Use a single `*sql.DB` with `SetMaxOpenConns(1)` for **write** operations (SQLite allows one writer) +- Use a separate `*sql.DB` with multiple connections for **read** operations +- OR: use `modernc.org/sqlite`'s WAL mode with `_txlock=immediate` for write transactions + +**What to do:** +1. Read the existing SQLite adapter implementation (from M03 I01). +2. Apply all pragma statements immediately after `sql.Open`. +3. Implement the read/write pool separation or `_txlock=immediate` write transactions. +4. Add a test: spin up the SQLite adapter, run 50 concurrent goroutines each doing a write. + Verify zero "database is locked" errors. +5. Document the settings and rationale in the adapter file as comments. + +**Done when:** 50 concurrent writes to SQLite via the adapter produce zero lock errors. +All pragma settings are applied on connection open. Test passes. + +--- + +### T02 — Integrate `slog` structured logging into framework + +**Status:** `[x] done` +**Depends on:** nothing (parallel) +**Files:** `framework/logging/` (new package), `framework/middleware/logging.go` (update), +`app/foundation/container.go` (wire logger), `config/config.go` (log level config) + +**Context:** Completed: GoShip now uses `framework/logging` + `slog` as the primary structured logging path. Legacy `lecho` and direct `zerolog` dependencies were removed from app/runtime imports. + +**Logger setup:** +```go +// Development: human-readable colored output +// Production: JSON lines to stdout (captured by log aggregator) +func NewLogger(env string, level slog.Level) *slog.Logger { + if env == "production" { + return slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: level})) + } + return slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{Level: level})) +} +``` + +**Request ID middleware (update existing or create):** +```go +func RequestID() echo.MiddlewareFunc { + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + id := c.Request().Header.Get("X-Request-ID") + if id == "" { id = uuid.New().String() } + c.Set("request_id", id) + c.Response().Header().Set("X-Request-ID", id) + // Add to context for slog + ctx := context.WithValue(c.Request().Context(), logKeyRequestID, id) + c.SetRequest(c.Request().WithContext(ctx)) + return next(c) + } + } +} +``` + +**Request logging middleware:** +```go +// Logs: method, path, status, latency, request_id, user_id (if authenticated) +// Format in dev: "GET /login 200 3.2ms req=abc123" +// Format in prod: {"method":"GET","path":"/login","status":200,"latency_ms":3,"request_id":"abc123"} +``` + +**Config additions:** +```go +type Config struct { + // ...existing fields... + Log struct { + Level string `env:"LOG_LEVEL" env-default:"info"` // debug, info, warn, error + Format string `env:"LOG_FORMAT" env-default:"text"` // text (dev) or json (prod) + } +} +``` + +**What to do:** +1. Create `framework/logging/logger.go` with `NewLogger(cfg Config) *slog.Logger`. +2. Create `framework/logging/context.go`: `FromContext(ctx) *slog.Logger` and `WithLogger(ctx, logger)`. +3. Update `app/foundation/container.go`: initialize logger in `NewContainer`, store as `c.Logger`. +4. Update request logging middleware to use slog. +5. Add request ID middleware if not present. +6. Replace any `log.Println` / `fmt.Printf` in framework code with `slog` calls. +7. Add log level and format to config struct. + +**Done when:** All framework log output goes through slog. Dev output is text, prod is JSON. +Every log line from the request middleware includes `request_id`. `LOG_LEVEL=debug` enables +verbose output. `go build ./...` passes. + +--- + +### T03 — Security headers middleware + +**Status:** `[ ] todo` +**Depends on:** nothing (parallel) +**Files:** `framework/middleware/security_headers.go` (new), `app/router.go` (add to middleware stack), +`config/config.go` (CSP config) + +> **Router middleware stack:** Security headers must be added early in the pipeline. In `app/router.go`, the main middleware is applied in `appweb.ApplyMainMiddleware(c, g, logger, deps, webFeatures)`. Read `app/web/` (specifically `wiring.go` which is where `ApplyMainMiddleware` likely lives) to understand where to inject the new middleware — before route handlers, after recover/logger. Add the new config fields to `config/config.go` inside a new `Security` sub-struct. + +**Context:** Without security headers, GoShip apps score C or below on securityheaders.com. +These headers prevent XSS, clickjacking, MIME sniffing, and other attacks. They should be +default-on — developers shouldn't have to add them. The only configurable part is CSP, since +Vite HMR in development needs `'unsafe-eval'` and websocket connections. + +**Headers to set:** +``` +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +Referrer-Policy: strict-origin-when-cross-origin +Permissions-Policy: camera=(), microphone=(), geolocation=() +X-XSS-Protection: 0 (deprecated, explicitly disable to prevent IE bugs) + +# In production: +Strict-Transport-Security: max-age=31536000; includeSubDomains + +# CSP — configurable, with safe defaults: +Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-{random}'; ... +``` + +**Nonce-based CSP approach:** +- Generate a random nonce per request, store in context +- Pass nonce to templ layout via context: `layout.templ` reads `middleware.CSPNonce(ctx)` +- `\n\n dispatch(\"click\")}\n class=\"p-2 m-2 text-sm font-medium focus:outline-none rounded-full {permissionGranted\n ? 'text-blue-900 bg-blue-400 hover:bg-blue-600 hover:text-blue-900 dark:bg-blue-700 dark:text-blue-300 dark:hover:text-white dark:hover:bg-blue-700'\n : 'text-gray-600 bg-slate-200 hover:bg-blue-200 hover:text-blue-800 dark:bg-gray-700 dark:text-gray-400 dark:hover:text-white dark:hover:bg-blue-700'}\"\n>\n \n\n","\n\n\n","\n\n\n","\n\n\n","\n\n{#if loading}\n \n \n \n{:else if permissionGranted}\n \n \n \n{:else}\n \n \n \n{/if}\n","\n\n\n","\n\n\n","\n\n\n\n{#if loading}\n \n \n \n{:else if permissionGranted && isSubscribedForPermission}\n \n \n \n{:else}\n \n \n \n{/if}\n","\n\n\n\n{#if loading}\n \n \n \n{:else if isSubscribedForPermission}\n \n \n \n{:else}\n \n \n \n{/if}\n","\n\n\n\n
\n
\n
\n \n {permissionDailyNotif.title}\n
\n
\n {permissionDailyNotif.subtitle}\n
\n
\n
\n\n
\n {#if isPwaPushNotificationsPossibleBoolean}\n \n {:else if isIosNativeAppBoolean}\n \n {/if}\n \n \n
\n
\n\n
\n
\n
\n \n {permissionPartnerActivity.title}\n
\n
\n {permissionPartnerActivity.subtitle}\n
\n
\n
\n
\n {#if isPwaPushNotificationsPossibleBoolean}\n \n {:else if isIosNativeAppBoolean}\n \n {/if}\n \n \n
\n
\n","\n\n\n"],"file":"islands/NotificationPermissions-F4IIuN8W.js"} \ No newline at end of file diff --git a/app/static/islands/PhoneNumberPicker-Bgr0xok_.js b/app/static/islands/PhoneNumberPicker-Bgr0xok_.js new file mode 100644 index 00000000..d8c41d57 --- /dev/null +++ b/app/static/islands/PhoneNumberPicker-Bgr0xok_.js @@ -0,0 +1,22 @@ +import{B as Fd,a as x0,n as Q,s as f0,S as R0,i as M0,d as K,e as P,f as Y,l as k,C as n2,h as z,j as r2,D as a2,z as i2,E as o2,F as G,G as u2,H as B,I as U,v as Ad,t as Td,J as H0,K as j,k as W,w as wd,o as q,y as p0,x as Od,r as l2,L as xd,M as $2,N as s2,O as f2}from"./chunks/index-B2lUnYab.js";function W0(d){return(d==null?void 0:d.length)!==void 0?d:Array.from(d)}function c2(d,t){d.d(1),t.delete(d.key)}function h2(d,t,e,n,r,a,i,o,l,u,c,b){let $=d.length,m=a.length,y=$;const _={};for(;y--;)_[d[y].key]=y;const v=[],N=new Map,s=new Map,E=[];for(y=m;y--;){const C=b(r,a,y),g=e(C);let A=i.get(g);A?E.push(()=>A.p(C,t)):(A=u(g,C),A.c()),N.set(g,v[y]=A),g in _&&s.set(g,Math.abs(y-_[g]))}const x=new Set,F=new Set;function O(C){x0(C,1),C.m(o,c),i.set(C.key,C),c=C.first,m--}for(;$&&m;){const C=v[m-1],g=d[$-1],A=C.key,R=g.key;C===g?(c=C.first,$--,m--):N.has(R)?!i.has(A)||x.has(A)?O(C):F.has(R)?$--:s.get(A)>s.get(R)?(F.add(A),O(C)):(x.add(R),$--):(l(g,i),$--)}for(;$--;){const C=d[$];N.has(C.key)||l(C,i)}for(;m;)O(v[m-1]);return Fd(E),v}const k0={version:4,country_calling_codes:{1:["US","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","VC","VG","VI"],7:["RU","KZ"],20:["EG"],27:["ZA"],30:["GR"],31:["NL"],32:["BE"],33:["FR"],34:["ES"],36:["HU"],39:["IT","VA"],40:["RO"],41:["CH"],43:["AT"],44:["GB","GG","IM","JE"],45:["DK"],46:["SE"],47:["NO","SJ"],48:["PL"],49:["DE"],51:["PE"],52:["MX"],53:["CU"],54:["AR"],55:["BR"],56:["CL"],57:["CO"],58:["VE"],60:["MY"],61:["AU","CC","CX"],62:["ID"],63:["PH"],64:["NZ"],65:["SG"],66:["TH"],81:["JP"],82:["KR"],84:["VN"],86:["CN"],90:["TR"],91:["IN"],92:["PK"],93:["AF"],94:["LK"],95:["MM"],98:["IR"],211:["SS"],212:["MA","EH"],213:["DZ"],216:["TN"],218:["LY"],220:["GM"],221:["SN"],222:["MR"],223:["ML"],224:["GN"],225:["CI"],226:["BF"],227:["NE"],228:["TG"],229:["BJ"],230:["MU"],231:["LR"],232:["SL"],233:["GH"],234:["NG"],235:["TD"],236:["CF"],237:["CM"],238:["CV"],239:["ST"],240:["GQ"],241:["GA"],242:["CG"],243:["CD"],244:["AO"],245:["GW"],246:["IO"],247:["AC"],248:["SC"],249:["SD"],250:["RW"],251:["ET"],252:["SO"],253:["DJ"],254:["KE"],255:["TZ"],256:["UG"],257:["BI"],258:["MZ"],260:["ZM"],261:["MG"],262:["RE","YT"],263:["ZW"],264:["NA"],265:["MW"],266:["LS"],267:["BW"],268:["SZ"],269:["KM"],290:["SH","TA"],291:["ER"],297:["AW"],298:["FO"],299:["GL"],350:["GI"],351:["PT"],352:["LU"],353:["IE"],354:["IS"],355:["AL"],356:["MT"],357:["CY"],358:["FI","AX"],359:["BG"],370:["LT"],371:["LV"],372:["EE"],373:["MD"],374:["AM"],375:["BY"],376:["AD"],377:["MC"],378:["SM"],380:["UA"],381:["RS"],382:["ME"],383:["XK"],385:["HR"],386:["SI"],387:["BA"],389:["MK"],420:["CZ"],421:["SK"],423:["LI"],500:["FK"],501:["BZ"],502:["GT"],503:["SV"],504:["HN"],505:["NI"],506:["CR"],507:["PA"],508:["PM"],509:["HT"],590:["GP","BL","MF"],591:["BO"],592:["GY"],593:["EC"],594:["GF"],595:["PY"],596:["MQ"],597:["SR"],598:["UY"],599:["CW","BQ"],670:["TL"],672:["NF"],673:["BN"],674:["NR"],675:["PG"],676:["TO"],677:["SB"],678:["VU"],679:["FJ"],680:["PW"],681:["WF"],682:["CK"],683:["NU"],685:["WS"],686:["KI"],687:["NC"],688:["TV"],689:["PF"],690:["TK"],691:["FM"],692:["MH"],850:["KP"],852:["HK"],853:["MO"],855:["KH"],856:["LA"],880:["BD"],886:["TW"],960:["MV"],961:["LB"],962:["JO"],963:["SY"],964:["IQ"],965:["KW"],966:["SA"],967:["YE"],968:["OM"],970:["PS"],971:["AE"],972:["IL"],973:["BH"],974:["QA"],975:["BT"],976:["MN"],977:["NP"],992:["TJ"],993:["TM"],994:["AZ"],995:["GE"],996:["KG"],998:["UZ"]},countries:{AC:["247","00","(?:[01589]\\d|[46])\\d{4}",[5,6],0,0,0,0,0,0,0,[["6[2-467]\\d{3}",[5]],["4\\d{4}",[5]],0,0,0,0,["(?:0[1-9]|[1589]\\d)\\d{4}",[6]]]],AD:["376","00","(?:1|6\\d)\\d{7}|[135-9]\\d{5}",[6,8,9],[["(\\d{3})(\\d{3})","$1 $2",["[135-9]"]],["(\\d{4})(\\d{4})","$1 $2",["1"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],0,0,0,0,0,0,[["[78]\\d{5}",[6]],["690\\d{6}|[356]\\d{5}",[6,9]],["180[02]\\d{4}",[8]],["[19]\\d{5}",[6]]]],AE:["971","00","(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}",[5,6,7,8,9,10,11,12],[["(\\d{3})(\\d{2,9})","$1 $2",["60|8"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[236]|[479][2-8]"],"0$1"],["(\\d{3})(\\d)(\\d{5})","$1 $2 $3",["[479]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"]],"0",0,0,0,0,0,[["[2-4679][2-8]\\d{6}",[8]],["5[024-68]\\d{7}",[9]],["400\\d{6}|800\\d{2,9}"],["900[02]\\d{5}",[9]],0,0,["600[25]\\d{5}",[9]],0,0,["700[05]\\d{5}",[9]]]],AF:["93","00","[2-7]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"]],"0",0,0,0,0,0,[["(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}"],["7\\d{8}"]]],AG:["1","011","(?:268|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([457]\\d{6})$|1","268$1",0,"268",[["268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}"],["268(?:464|7(?:1[3-9]|[28]\\d|3[0246]|64|7[0-689]))\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"],0,0,["26840[69]\\d{4}"],["26848[01]\\d{4}"]]],AI:["1","011","(?:264|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2457]\\d{6})$|1","264$1",0,"264",[["264(?:292|4(?:6[12]|9[78]))\\d{4}"],["264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"],0,0,["264724\\d{4}"]]],AL:["355","00","(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}",[6,7,8,9],[["(\\d{3})(\\d{3,4})","$1 $2",["80|9"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["4[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2358][2-5]|4"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["[23578]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["6"],"0$1"]],"0",0,0,0,0,0,[["4505[0-2]\\d{3}|(?:[2358][16-9]\\d[2-9]|4410)\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\d))\\d{5}",[8]],["6(?:[78][2-9]|9\\d)\\d{6}",[9]],["800\\d{4}",[7]],["900[1-9]\\d\\d",[6]],["700[2-9]\\d{4}",[8]],0,0,0,0,["808[1-9]\\d\\d",[6]]]],AM:["374","00","(?:[1-489]\\d|55|60|77)\\d{6}",[8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0"],"0 $1"],["(\\d{3})(\\d{5})","$1 $2",["2|3[12]"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["1|47"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[3-9]"],"0$1"]],"0",0,0,0,0,0,[["(?:(?:1[0-25]|47)\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}"],["(?:33|4[1349]|55|77|88|9[13-9])\\d{6}"],["800\\d{5}"],["90[016]\\d{5}"],0,0,0,0,["60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\d|9[0-2])\\d{4}"],["80[1-4]\\d{5}"]]],AO:["244","00","[29]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[29]"]]],0,0,0,0,0,0,[["2\\d(?:[0134][25-9]|[25-9]\\d)\\d{5}"],["9[1-59]\\d{7}"]]],AR:["54","00","(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}",[10,11],[["(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])","2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["1"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["[23]"],"0$1",1],["(\\d)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))","9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]","9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"],"0$1",0,"$1 $2 $3-$4"],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 15-$3-$4",["91"],"0$1",0,"$1 $2 $3-$4"],["(\\d{3})(\\d{3})(\\d{5})","$1-$2-$3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9"],"0$1",0,"$1 $2 $3-$4"]],"0",0,"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1",0,0,[["3888[013-9]\\d{5}|3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\d{5}|(?:2(?:657|9(?:54|66))|3(?:7(?:55|77)|865))[2-8]\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|(?:2(?:284|3(?:02|23)|920)|3(?:4(?:46|8[27]|92)|541|878))[2-7]\\d{5}|(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\d{5}|(?:(?:11[1-8]|670)\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6])))\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}",[10]],["93(?:7(?:1[15]|81)[46]|8(?:(?:21|4[16]|69|9[12])[46]|88[013-9]))\\d{5}|9(?:2(?:657|9(?:54|66))|3(?:7(?:55|77)|865))[2-8]\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\d{5}|9(?:2(?:284|3(?:02|23)|920)|3(?:4(?:46|8[27]|92)|541|878))[2-7]\\d{5}|9(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\d{5}|(?:675\\d|9(?:11[1-8]\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6]))))\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\d{5}"],["800\\d{7,8}"],["60[04579]\\d{7}",[10]],0,0,["810\\d{7}",[10]]]],AS:["1","011","(?:[58]\\d\\d|684|900)\\d{7}",[10],0,"1",0,"([267]\\d{6})$|1","684$1",0,"684",[["6846(?:22|33|44|55|77|88|9[19])\\d{4}"],["684(?:2(?:48|5[2468]|7[26])|7(?:3[13]|70|82))\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],AT:["43","00","1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}",[4,5,6,7,8,9,10,11,12,13],[["(\\d)(\\d{3,12})","$1 $2",["1(?:11|[2-9])"],"0$1"],["(\\d{3})(\\d{2})","$1 $2",["517"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["5[079]"],"0$1"],["(\\d{3})(\\d{3,10})","$1 $2",["(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]"],"0$1"],["(\\d{4})(\\d{3,9})","$1 $2",["[2-467]|5[2-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["5"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,7})","$1 $2 $3",["5"],"0$1"]],"0",0,0,0,0,0,[["1(?:11\\d|[2-9]\\d{3,11})|(?:316|463|(?:51|66|73)2)\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-8]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{4,10}"],["6(?:5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}",[7,8,9,10,11,12,13]],["800\\d{6,10}",[9,10,11,12,13]],["(?:8[69][2-68]|9(?:0[01]|3[019]))\\d{6,10}",[9,10,11,12,13]],0,0,0,0,["5(?:0[1-9]|17|[79]\\d)\\d{2,10}|7[28]0\\d{6,10}",[5,6,7,8,9,10,11,12,13]],["8(?:10|2[018])\\d{6,10}|828\\d{5}",[8,9,10,11,12,13]]]],AU:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}",[5,6,7,8,9,10,12],[["(\\d{2})(\\d{3,4})","$1 $2",["16"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,4})","$1 $2 $3",["16"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["14|4"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[2378]"],"(0$1)"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:30|[89])"]]],"0",0,"(183[12])|0",0,0,0,[["(?:(?:(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\d|2[0-8]))\\d|3(?:(?:[0-3589]\\d|6[1-9]|7[0-35-9])\\d|4(?:[0-578]\\d|90)))\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|3\\d\\d)|(?:6[0-8]|[78]\\d)\\d{3}|9(?:[02-9]\\d{3}|1(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79])))))\\d{3}",[9]],["4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[0-36-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,["163\\d{2,6}",[5,6,7,8,9]],["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],AW:["297","00","(?:[25-79]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[25-9]"]]],0,0,0,0,0,0,[["5(?:2\\d|8[1-9])\\d{4}"],["(?:290|5[69]\\d|6(?:[03]0|22|4[0-2]|[69]\\d)|7(?:[34]\\d|7[07])|9(?:6[45]|9[4-8]))\\d{4}"],["800\\d{4}"],["900\\d{4}"],0,0,0,0,["(?:28\\d|501)\\d{4}"]]],AX:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}",[5,6,7,8,9,10,11,12],0,"0",0,0,0,0,"18",[["18[1-8]\\d{3,6}",[6,7,8,9]],["4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}",[6,7,8,9,10]],["800\\d{4,6}",[7,8,9]],["[67]00\\d{5,6}",[8,9]],0,0,["20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}"]],"00"],AZ:["994","00","365\\d{6}|(?:[124579]\\d|60|88)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]|2|365|46","1[28]|2|365[45]|46","1[28]|2|365(?:4|5[02])|46"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[13-9]"],"0$1"]],"0",0,0,0,0,0,[["(?:2[12]428|3655[02])\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\d{5}|(?:(?:1[28]|46)\\d|2(?:[014-6]2|[23]3))\\d{6}"],["36554\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\d{7}"],["88\\d{7}"],["900200\\d{3}"]]],BA:["387","00","6\\d{8}|(?:[35689]\\d|49|70)\\d{6}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["6[1-3]|[7-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2-$3",["[3-5]|6[56]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["6"],"0$1"]],"0",0,0,0,0,0,[["(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\d{5}",[8]],["6040\\d{5}|6(?:03|[1-356]|44|7\\d)\\d{6}"],["8[08]\\d{6}",[8]],["9[0246]\\d{6}",[8]],0,0,["703[235]0\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\d{4}",[8]],0,0,["8[12]\\d{6}",[8]]]],BB:["1","011","(?:246|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","246$1",0,"246",[["246521[0369]\\d{3}|246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7[35]7|9(?:1[89]|63))\\d{4}"],["246(?:(?:2(?:[3568]\\d|4[0-57-9])|3(?:5[2-9]|6[0-6])|4(?:46|5\\d)|69[5-7]|8(?:[2-5]\\d|83))\\d|52(?:1[147]|20))\\d{3}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["(?:246976|900[2-9]\\d\\d)\\d{4}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"],0,["246(?:292|367|4(?:1[7-9]|3[01]|4[47-9]|67)|7(?:1[2-9]|2\\d|3[016]|53))\\d{4}"],0,["24631\\d{5}"]]],BD:["880","00","[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{4,6})","$1-$2",["31[5-8]|[459]1"],"0$1"],["(\\d{3})(\\d{3,7})","$1-$2",["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"],"0$1"],["(\\d{4})(\\d{3,6})","$1-$2",["[13-9]|22"],"0$1"],["(\\d)(\\d{7,8})","$1-$2",["2"],"0$1"]],"0",0,0,0,0,0,[["(?:4(?:31\\d\\d|423)|5222)\\d{3}(?:\\d{2})?|8332[6-9]\\d\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\d{4}|(?:2(?:222|[45]\\d)\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}"],["(?:1[13-9]\\d|644)\\d{7}|(?:3[78]|44|66)[02-9]\\d{7}",[10]],["80[03]\\d{7}",[10]],0,0,0,0,0,["96(?:0[469]|1[0-47]|3[389]|43|6[69]|7[78])\\d{6}",[10]]]],BE:["32","00","4\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[239]|4[23]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[15-8]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4"],"0$1"]],"0",0,0,0,0,0,[["80[2-8]\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\d{6}",[8]],["4[5-9]\\d{7}",[9]],["800[1-9]\\d{4}",[8]],["(?:70(?:2[0-57]|3[04-7]|44|6[4-69]|7[0579])|90\\d\\d)\\d{4}",[8]],0,0,["78(?:0[57]|1[014-8]|2[25]|3[15-8]|48|[56]0|7[06-8]|9\\d)\\d{4}",[8]],0,0,["7879\\d{4}",[8]]]],BF:["226","00","[025-7]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[025-7]"]]],0,0,0,0,0,0,[["2(?:0(?:49|5[23]|6[5-7]|9[016-9])|4(?:4[569]|5[4-6]|6[5-7]|7[0179])|5(?:[34]\\d|50|6[5-7]))\\d{4}"],["(?:0[1-35-7]|5[0-8]|[67]\\d)\\d{6}"]]],BG:["359","00","00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}",[6,7,8,9,12],[["(\\d)(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["43[1-6]|70[1-9]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["(?:70|8)0"],"0$1"],["(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3",["43[1-7]|7"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[48]|9[08]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"]],"0",0,0,0,0,0,[["2\\d{5,7}|(?:43[1-6]|70[1-9])\\d{4,5}|(?:[36]\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\d{5,6}",[6,7,8]],["(?:43[07-9]|99[69]\\d)\\d{5}|(?:8[7-9]|98)\\d{7}",[8,9]],["(?:00800\\d\\d|800)\\d{5}",[8,12]],["90\\d{6}",[8]],0,0,0,0,0,["700\\d{5}",[8]]]],BH:["973","00","[136-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[13679]|8[02-4679]"]]],0,0,0,0,0,0,[["(?:1(?:3[1356]|6[0156]|7\\d)\\d|6(?:1[16]\\d|500|6(?:0\\d|3[12]|44|55|7[7-9]|88)|9[69][69])|7(?:[07]\\d\\d|1(?:11|78)))\\d{4}"],["(?:3(?:[0-79]\\d|8[0-57-9])\\d|6(?:3(?:00|33|6[16])|441|6(?:3[03-9]|[69]\\d|7[0-689])))\\d{4}"],["8[02369]\\d{6}"],["(?:87|9[0-8])\\d{6}"],0,0,0,0,0,["84\\d{6}"]]],BI:["257","00","(?:[267]\\d|31)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2367]"]]],0,0,0,0,0,0,[["(?:22|31)\\d{6}"],["(?:29|[67][125-9])\\d{6}"]]],BJ:["229","00","[24-689]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-689]"]]],0,0,0,0,0,0,[["2(?:02|1[037]|2[45]|3[68]|4\\d)\\d{5}"],["(?:4[0-7]|[56]\\d|9[013-9])\\d{6}"],0,0,0,0,["81\\d{6}"],0,["857[58]\\d{4}"]]],BL:["590","00","590\\d{6}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:2[7-9]|3[3-7]|5[12]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]],BM:["1","011","(?:441|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","441$1",0,"441",[["441(?:[46]\\d\\d|5(?:4\\d|60|89))\\d{4}"],["441(?:[2378]\\d|5[0-39]|9[02])\\d{5}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],BN:["673","00","[2-578]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-578]"]]],0,0,0,0,0,0,[["22[0-7]\\d{4}|(?:2[013-9]|[34]\\d|5[0-25-9])\\d{5}"],["(?:22[89]|[78]\\d\\d)\\d{4}"],0,0,0,0,0,0,["5[34]\\d{5}"]]],BO:["591","00(?:1\\d)?","(?:[2-467]\\d\\d|8001)\\d{5}",[8,9],[["(\\d)(\\d{7})","$1 $2",["[23]|4[46]"]],["(\\d{8})","$1",["[67]"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["8"]]],"0",0,"0(1\\d)?",0,0,0,[["(?:2(?:2\\d\\d|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d\\d|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\d\\d|6(?:11|[24689]\\d|72)))\\d{4}",[8]],["[67]\\d{7}",[8]],["8001[07]\\d{4}",[9]]]],BQ:["599","00","(?:[34]1|7\\d)\\d{5}",[7],0,0,0,0,0,0,"[347]",[["(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\d)\\d{3}"],["(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\d|9[056])\\d)\\d{3}"]]],BR:["55","00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)","(?:[1-46-9]\\d\\d|5(?:[0-46-9]\\d|5[0-46-9]))\\d{8}|[1-9]\\d{9}|[3589]\\d{8}|[34]\\d{7}",[8,9,10,11],[["(\\d{4})(\\d{4})","$1-$2",["300|4(?:0[02]|37)","4(?:02|37)0|[34]00"]],["(\\d{3})(\\d{2,3})(\\d{4})","$1 $2 $3",["(?:[358]|90)0"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"],"($1)"],["(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["[16][1-9]|[2-57-9]"],"($1)"]],"0",0,"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?","$2",0,0,[["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}",[10]],["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\d)\\d{7}",[10,11]],["800\\d{6,7}",[9,10]],["300\\d{6}|[59]00\\d{6,7}",[9,10]],0,0,0,0,0,["(?:30[03]\\d{3}|4(?:0(?:0\\d|20)|370))\\d{4}|300\\d{5}",[8,10]]]],BS:["1","011","(?:242|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([3-8]\\d{6})$|1","242$1",0,"242",[["242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-5]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}"],["242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\d|3[0-4]|[89]9))\\d{4}"],["242300\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"],0,["242225\\d{4}"]]],BT:["975","00","[17]\\d{7}|[2-8]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[2-68]|7[246]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[67]|7"]]],0,0,0,0,0,0,[["(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}",[7]],["(?:1[67]|77)\\d{6}",[8]]]],BW:["267","00","(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}",[7,8,10],[["(\\d{2})(\\d{5})","$1 $2",["90"]],["(\\d{3})(\\d{4})","$1 $2",["[24-6]|3[15-9]"]],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37]"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["8"]]],0,0,0,0,0,0,[["(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\d|7[013]|81)|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}",[7]],["(?:321|7[1-8]\\d)\\d{5}",[8]],["(?:0800|800\\d)\\d{6}",[10]],["90\\d{5}",[7]],0,0,0,0,["79(?:1(?:[01]\\d|2[0-8])|2[0-7]\\d)\\d{3}",[8]]]],BY:["375","810","(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3})","$1 $2",["800"],"8 $1"],["(\\d{3})(\\d{2})(\\d{2,4})","$1 $2 $3",["800"],"8 $1"],["(\\d{4})(\\d{2})(\\d{3})","$1 $2-$3",["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])","1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"],"8 0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["1(?:[56]|7[467])|2[1-3]"],"8 0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-4]"],"8 0$1"],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["[89]"],"8 $1"]],"8",0,"0|80?",0,0,0,[["(?:1(?:5(?:1[1-5]|[24]\\d|6[2-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d\\d)|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:[26]\\d|3[02-79]|4[024-7]|5[03-7])))\\d{5}",[9]],["(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\d)\\d{6}",[9]],["800\\d{3,7}|8(?:0[13]|20\\d)\\d{7}"],["(?:810|902)\\d{7}",[10]],0,0,0,0,["249\\d{6}",[9]]],"8~10"],BZ:["501","00","(?:0800\\d|[2-8])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1-$2",["[2-8]"]],["(\\d)(\\d{3})(\\d{4})(\\d{3})","$1-$2-$3-$4",["0"]]],0,0,0,0,0,0,[["(?:2(?:[02]\\d|36|[68]0)|[3-58](?:[02]\\d|[68]0)|7(?:[02]\\d|32|[68]0))\\d{4}",[7]],["6[0-35-7]\\d{5}",[7]],["0800\\d{7}",[11]]]],CA:["1","011","(?:[2-8]\\d|90)\\d{8}|3\\d{6}",[7,10],0,"1",0,0,0,0,0,[["(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\d{6}",[10]],["",[10]],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}",[10]],["900[2-9]\\d{6}",[10]],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\d{6}",[10]],0,["310\\d{4}",[7]],0,["600[2-9]\\d{6}",[10]]]],CC:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}",[9]],["4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[0-36-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CD:["243","00","[189]\\d{8}|[1-68]\\d{6}",[7,9],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[1-6]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,[["12\\d{7}|[1-6]\\d{6}"],["88\\d{5}|(?:8[0-59]|9[017-9])\\d{7}"]]],CF:["236","00","(?:[27]\\d{3}|8776)\\d{4}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[278]"]]],0,0,0,0,0,0,[["2[12]\\d{6}"],["7[024-7]\\d{6}"],0,["8776\\d{4}"]]],CG:["242","00","222\\d{6}|(?:0\\d|80)\\d{7}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[02]"]]],0,0,0,0,0,0,[["222[1-589]\\d{5}"],["026(?:1[0-5]|6[6-9])\\d{4}|0(?:[14-6]\\d\\d|2(?:40|5[5-8]|6[07-9]))\\d{5}"],0,["80[0-2]\\d{6}"]]],CH:["41","00","8\\d{11}|[2-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]|81"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["8"],"0$1"]],"0",0,0,0,0,0,[["(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\d{7}"],["7[35-9]\\d{7}"],["800\\d{6}"],["90[016]\\d{6}"],["878\\d{6}"],0,["5[18]\\d{7}"],["74[0248]\\d{6}"],0,["84[0248]\\d{6}"]]],CI:["225","00","[02]\\d{9}",[10],[["(\\d{2})(\\d{2})(\\d)(\\d{5})","$1 $2 $3 $4",["2"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3 $4",["0"]]],0,0,0,0,0,0,[["2(?:[15]\\d{3}|7(?:2(?:0[23]|1[2357]|2[245]|3[45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\d{5}"],["0[157]\\d{8}"]]],CK:["682","00","[2-578]\\d{4}",[5],[["(\\d{2})(\\d{3})","$1 $2",["[2-578]"]]],0,0,0,0,0,0,[["(?:2\\d|3[13-7]|4[1-5])\\d{3}"],["[578]\\d{4}"]]],CL:["56","(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0","12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}",[9,10,11],[["(\\d{5})(\\d{4})","$1 $2",["219","2196"],"($1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["44"]],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2[1-36]"],"($1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["9[2-9]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])"],"($1)"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["60|8"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{3})(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3 $4",["60"]]],0,0,0,0,0,0,[["2(?:1982[0-6]|3314[05-9])\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\d\\d|3(?:[03467]\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\d\\d|9(?:3(?:[0-57-9]\\d\\d|6(?:0[02-9]|[1-9]\\d))|6(?:[0-8]\\d\\d|9(?:[02-79]\\d|1[05-9]))|7[1-9]\\d\\d|9(?:[03-9]\\d\\d|1(?:[0235-9]\\d|4[0-24-9])|2(?:[0-79]\\d|8[0-46-9]))))\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\d{7}",[9]],["",[9]],["(?:123|8)00\\d{6}",[9,11]],0,0,0,0,0,["44\\d{7}",[9]],["600\\d{7,8}",[10,11]]]],CM:["237","00","[26]\\d{8}|88\\d{6,7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["88"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[26]|88"]]],0,0,0,0,0,0,[["2(?:22|33)\\d{6}",[9]],["(?:24[23]|6[25-9]\\d)\\d{6}",[9]],["88\\d{6,7}"]]],CN:["86","00|1(?:[12]\\d|79)\\d\\d00","1[127]\\d{8,9}|2\\d{9}(?:\\d{2})?|[12]\\d{6,7}|86\\d{6}|(?:1[03-689]\\d|6)\\d{7,9}|(?:[3-579]\\d|8[0-57-9])\\d{6,9}",[7,8,9,10,11,12],[["(\\d{2})(\\d{5,6})","$1 $2",["(?:10|2[0-57-9])[19]","(?:10|2[0-57-9])(?:10|9[56])","10(?:10|9[56])|2[0-57-9](?:100|9[56])"],"0$1"],["(\\d{3})(\\d{5,6})","$1 $2",["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]","(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]","85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])","85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["(?:4|80)0"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|2(?:[02-57-9]|1[1-9])","10|2(?:[02-57-9]|1[1-9])","10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"],"0$1",1],["(\\d{3})(\\d{7,8})","$1 $2",["9"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["80"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[3-578]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["1[3-9]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["[12]"],"0$1",1]],"0",0,"(1(?:[12]\\d|79)\\d\\d)|0",0,0,0,[["(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|21(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))\\d{5}|(?:43[35]|754)\\d{7,8}|8(?:078\\d{7}|51\\d{7,8})|(?:10|(?:2|85)1|43[35]|754)(?:100\\d\\d|95\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[1-9]\\d{6})|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[1-9]\\d{5})|9(?:[0-46-9]\\d{5}|5\\d{3,5}))",[7,8,9,10,11]],["1740[0-5]\\d{6}|1(?:[38]\\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\\d{8}",[11]],["(?:(?:10|21)8|8)00\\d{7}",[10,12]],["16[08]\\d{5}",[8]],0,0,0,0,0,["10(?:10\\d{4}|96\\d{3,4})|400\\d{7}|950\\d{7,8}|(?:2[0-57-9]|3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))96\\d{3,4}",[7,8,9,10,11]]],"00"],CO:["57","00(?:4(?:[14]4|56)|[579])","(?:60\\d\\d|9101)\\d{6}|(?:1\\d|3)\\d{9}",[10,11],[["(\\d{3})(\\d{7})","$1 $2",["6"],"($1)"],["(\\d{3})(\\d{7})","$1 $2",["3[0-357]|91"]],["(\\d)(\\d{3})(\\d{7})","$1-$2-$3",["1"],"0$1",0,"$1 $2 $3"]],"0",0,"0([3579]|4(?:[14]4|56))?",0,0,0,[["601055(?:[0-4]\\d|50)\\d\\d|6010(?:[0-4]\\d|5[0-4])\\d{4}|60(?:[124-7][2-9]|8[1-9])\\d{6}",[10]],["333301[0-5]\\d{3}|3333(?:00|2[5-9]|[3-9]\\d)\\d{4}|(?:3(?:24[1-9]|3(?:00|3[0-24-9]))|9101)\\d{6}|3(?:0[0-5]|1\\d|2[0-3]|5[01]|70)\\d{7}",[10]],["1800\\d{7}",[11]],["19(?:0[01]|4[78])\\d{7}",[11]]]],CR:["506","00","(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}",[8,10],[["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[3-9]"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[89]"]]],0,0,"(19(?:0[0-2468]|1[09]|20|66|77|99))",0,0,0,[["210[7-9]\\d{4}|2(?:[024-7]\\d|1[1-9])\\d{5}",[8]],["(?:3005\\d|6500[01])\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\d{6}",[8]],["800\\d{7}",[10]],["90[059]\\d{7}",[10]],0,0,0,0,["(?:210[0-6]|4\\d{3}|5100)\\d{4}",[8]]]],CU:["53","119","(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}",[6,7,8,10],[["(\\d{2})(\\d{4,6})","$1 $2",["2[1-4]|[34]"],"(0$1)"],["(\\d)(\\d{6,7})","$1 $2",["7"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["[56]"],"0$1"],["(\\d{3})(\\d{7})","$1 $2",["8"],"0$1"]],"0",0,0,0,0,0,[["(?:3[23]|4[89])\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\d)\\d{6}|(?:2[1-4]|4[1257]|7\\d)\\d{5,6}"],["(?:5\\d|6[2-4])\\d{6}",[8]],["800\\d{7}",[10]],0,0,0,0,0,0,["807\\d{7}",[10]]]],CV:["238","0","(?:[2-59]\\d\\d|800)\\d{4}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2-589]"]]],0,0,0,0,0,0,[["2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}"],["(?:36|5[1-389]|9\\d)\\d{5}"],["800\\d{4}"],0,0,0,0,0,["(?:3[3-5]|4[356])\\d{5}"]]],CW:["599","00","(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[3467]"]],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["9[4-8]"]]],0,0,0,0,0,"[69]",[["9(?:4(?:3[0-5]|4[14]|6\\d)|50\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\d|7[01]|8[57-9]))\\d{4}"],["953[01]\\d{4}|9(?:5[12467]|6[5-9])\\d{5}"],0,0,0,0,0,["955\\d{5}",[8]],0,["60[0-2]\\d{4}",[7]]]],CX:["61","001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011","1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}",[6,7,8,9,10,12],0,"0",0,"([59]\\d{7})$|0","8$1",0,0,[["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}",[9]],["4(?:(?:79|94)[01]|83[0-389])\\d{5}|4(?:[0-3]\\d|4[047-9]|5[0-25-9]|6[0-36-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\d{6}",[9]],["180(?:0\\d{3}|2)\\d{3}",[7,10]],["190[0-26]\\d{6}",[10]],0,0,0,0,["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}",[9]],["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}",[6,8,10,12]]],"0011"],CY:["357","00","(?:[279]\\d|[58]0)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[257-9]"]]],0,0,0,0,0,0,[["2[2-6]\\d{6}"],["9(?:10|[4-79]\\d)\\d{5}"],["800\\d{5}"],["90[09]\\d{5}"],["700\\d{5}"],0,["(?:50|77)\\d{6}"],0,0,["80[1-9]\\d{5}"]]],CZ:["420","00","(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]|9[015-7]"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{2})","$1 $2 $3 $4",["96"]],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,[["(?:2\\d|3[1257-9]|4[16-9]|5[13-9])\\d{7}"],["(?:60[1-8]\\d|7(?:0(?:[2-5]\\d|60)|190|[2379]\\d\\d))\\d{5}"],["800\\d{6}"],["9(?:0[05689]|76)\\d{6}"],["70[01]\\d{6}"],0,["9(?:5\\d|7[2-4])\\d{6}"],0,["9[17]0\\d{6}"],["8[134]\\d{7}"]]],DE:["49","00","[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}",[4,5,6,7,8,9,10,11,12,13,14,15],[["(\\d{2})(\\d{3,13})","$1 $2",["3[02]|40|[68]9"],"0$1"],["(\\d{3})(\\d{3,12})","$1 $2",["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1","2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"],"0$1"],["(\\d{4})(\\d{2,11})","$1 $2",["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]","[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["138"],"0$1"],["(\\d{5})(\\d{2,10})","$1 $2",["3"],"0$1"],["(\\d{3})(\\d{5,11})","$1 $2",["181"],"0$1"],["(\\d{3})(\\d)(\\d{4,10})","$1 $2 $3",["1(?:3|80)|9"],"0$1"],["(\\d{3})(\\d{7,8})","$1 $2",["1[67]"],"0$1"],["(\\d{3})(\\d{7,12})","$1 $2",["8"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["185","1850","18500"],"0$1"],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["18[68]"],"0$1"],["(\\d{4})(\\d{7})","$1 $2",["15[1279]"],"0$1"],["(\\d{5})(\\d{6})","$1 $2",["15[03568]","15(?:[0568]|31)"],"0$1"],["(\\d{3})(\\d{8})","$1 $2",["18"],"0$1"],["(\\d{3})(\\d{2})(\\d{7,8})","$1 $2 $3",["1(?:6[023]|7)"],"0$1"],["(\\d{4})(\\d{2})(\\d{7})","$1 $2 $3",["15[279]"],"0$1"],["(\\d{3})(\\d{2})(\\d{8})","$1 $2 $3",["15"],"0$1"]],"0",0,0,0,0,0,[["32\\d{9,11}|49[1-6]\\d{10}|322\\d{6}|49[0-7]\\d{3,9}|(?:[34]0|[68]9)\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\d|[589][0-7]|6[0-8]|7[0-467]))\\d{3,12}",[5,6,7,8,9,10,11,12,13,14,15]],["15(?:[0-25-9]\\d\\d|310)\\d{6}|1(?:6[023]|7\\d)\\d{7,8}",[10,11]],["800\\d{7,12}",[10,11,12,13,14,15]],["(?:137[7-9]|900(?:[135]|9\\d))\\d{6}",[10,11]],["700\\d{8}",[11]],0,["18(?:1\\d{5,11}|[2-9]\\d{8})",[8,9,10,11,12,13,14]],["16(?:4\\d{1,10}|[89]\\d{1,11})",[4,5,6,7,8,9,10,11,12,13,14]],0,["180\\d{5,11}|13(?:7[1-6]\\d\\d|8)\\d{4}",[7,8,9,10,11,12,13,14]]]],DJ:["253","00","(?:2\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[27]"]]],0,0,0,0,0,0,[["2(?:1[2-5]|7[45])\\d{5}"],["77\\d{6}"]]],DK:["45","00","[2-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-9]"]]],0,0,0,0,0,0,[["(?:(?:2\\d|9[1-46-9])\\d|3(?:[0-37]\\d|4[013]|5[0-58]|6[01347-9]|8[0-8]|9[0-79])|4(?:[0-25]\\d|[34][02-9]|6[013-579]|7[013579]|8[0-47]|9[0-27])|5(?:[0-36]\\d|4[0146-9]|5[03-57-9]|7[0568]|8[0-358]|9[0-69])|6(?:[013578]\\d|2[0-68]|4[02-8]|6[01689]|9[015689])|7(?:[0-69]\\d|7[03-9]|8[0147])|8(?:[16-9]\\d|2[0-58]))\\d{5}"],["(?:[2-7]\\d|8[126-9]|9[1-46-9])\\d{6}"],["80\\d{6}"],["90\\d{6}"]]],DM:["1","011","(?:[58]\\d\\d|767|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","767$1",0,"767",[["767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}"],["767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],DO:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,0,0,0,"8001|8[024]9",[["8(?:[04]9[2-9]\\d\\d|29(?:2(?:[0-59]\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\d|4[7-9])|[45]\\d\\d|6(?:[0-27-9]\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\d{4}"],["8[024]9[2-9]\\d{6}"],["8(?:00(?:14|[2-9]\\d)|(?:33|44|55|66|77|88)[2-9]\\d)\\d{5}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],DZ:["213","00","(?:[1-4]|[5-79]\\d|80)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-8]"],"0$1"]],"0",0,0,0,0,0,[["9619\\d{5}|(?:1\\d|2[013-79]|3[0-8]|4[013-689])\\d{6}"],["(?:5(?:4[0-29]|5\\d|6[0-2])|6(?:[569]\\d|7[0-6])|7[7-9]\\d)\\d{6}",[9]],["800\\d{6}",[9]],["80[3-689]1\\d{5}",[9]],0,0,0,0,["98[23]\\d{6}",[9]],["80[12]1\\d{5}",[9]]]],EC:["593","00","1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}",[8,9,10,11],[["(\\d)(\\d{3})(\\d{4})","$1 $2-$3",["[2-7]"],"(0$1)",0,"$1-$2-$3"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{3})(\\d{3,4})","$1 $2 $3",["1"]]],"0",0,0,0,0,0,[["[2-7][2-7]\\d{6}",[8]],["964[0-2]\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\d)\\d{6}",[9]],["1800\\d{7}|1[78]00\\d{6}",[10,11]],0,0,0,0,0,["[2-7]890\\d{4}",[8]]]],EE:["372","00","8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88","[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]],["(\\d{4})(\\d{3,4})","$1 $2",["[45]|8(?:00|[1-49])","[45]|8(?:00[1-9]|[1-49])"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]],0,0,0,0,0,0,[["(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}",[7]],["(?:5\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\d)|[3-9]\\d\\d)|(?:1(?:0[236]|1\\d)|(?:2[0-59]|[3-79]\\d)\\d)\\d)|2(?:0(?:0(?:00|4\\d)|(?:19|[2-7]\\d)\\d)|(?:(?:[124-6]\\d|3[5-9])\\d|7(?:[0-79]\\d|8[13-9])|8(?:[2-6]\\d|7[01]))\\d)|[349]\\d{4}))\\d\\d|5(?:(?:[02]\\d|5[0-478])\\d|1(?:[0-8]\\d|95)|6(?:4[0-4]|5[1-589]))\\d{3}",[7,8]],["800(?:(?:0\\d\\d|1)\\d|[2-9])\\d{3}"],["(?:40\\d\\d|900)\\d{4}",[7,8]],["70[0-2]\\d{5}",[8]]]],EG:["20","00","[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}",[8,9,10],[["(\\d)(\\d{7,8})","$1 $2",["[23]"],"0$1"],["(\\d{2})(\\d{6,7})","$1 $2",["1[35]|[4-6]|8[2468]|9[235-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{8})","$1 $2",["1"],"0$1"]],"0",0,0,0,0,0,[["13[23]\\d{6}|(?:15|57)\\d{6,7}|(?:2[2-4]|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\d{7}",[8,9]],["1[0-25]\\d{8}",[10]],["800\\d{7}",[10]],["900\\d{7}",[10]]]],EH:["212","00","[5-8]\\d{8}",[9],0,"0",0,0,0,0,"528[89]",[["528[89]\\d{5}"],["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4]|5[01]|8[0-3]))\\d{6}"],["80[0-7]\\d{6}"],["89\\d{7}"],0,0,0,0,["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]],ER:["291","00","[178]\\d{6}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[178]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:1[12568]|[24]0|55|6[146])|8\\d\\d)\\d{4}"],["(?:17[1-3]|7\\d\\d)\\d{4}"]]],ES:["34","00","[5-9]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[89]00"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-9]"]]],0,0,0,0,0,0,[["96906(?:0[0-8]|1[1-9]|[2-9]\\d)\\d\\d|9(?:69(?:0[0-57-9]|[1-9]\\d)|73(?:[0-8]\\d|9[1-9]))\\d{4}|(?:8(?:[1356]\\d|[28][0-8]|[47][1-9])|9(?:[135]\\d|[268][0-8]|4[1-9]|7[124-9]))\\d{6}"],["(?:590[16]00\\d|9(?:6906(?:09|10)|7390\\d\\d))\\d\\d|(?:6\\d|7[1-48])\\d{7}"],["[89]00\\d{6}"],["80[367]\\d{6}"],["70\\d{7}"],0,["51\\d{7}"],0,0,["90[12]\\d{6}"]]],ET:["251","00","(?:11|[2-579]\\d)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-579]"],"0$1"]],"0",0,0,0,0,0,[["11667[01]\\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}"],["700[1-9]\\d{5}|(?:7(?:0[1-9]|1[0-8]|22|77|86|99)|9\\d\\d)\\d{6}"]]],FI:["358","00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))","[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}",[5,6,7,8,9,10,11,12],[["(\\d{5})","$1",["20[2-59]"],"0$1"],["(\\d{3})(\\d{3,7})","$1 $2",["(?:[1-3]0|[68])0|70[07-9]"],"0$1"],["(\\d{2})(\\d{4,8})","$1 $2",["[14]|2[09]|50|7[135]"],"0$1"],["(\\d{2})(\\d{6,10})","$1 $2",["7"],"0$1"],["(\\d)(\\d{4,9})","$1 $2",["(?:1[3-79]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"],"0$1"]],"0",0,0,0,0,"1[03-79]|[2-9]",[["(?:1[3-79][1-8]|[23568][1-8]\\d|9(?:00|[1-8]\\d))\\d{2,6}",[5,6,7,8,9]],["4946\\d{2,6}|(?:4[0-8]|50)\\d{4,8}",[6,7,8,9,10]],["800\\d{4,6}",[7,8,9]],["[67]00\\d{5,6}",[8,9]],0,0,["20\\d{4,8}|60[12]\\d{5,6}|7(?:099\\d{4,5}|5[03-9]\\d{3,7})|20[2-59]\\d\\d|(?:606|7(?:0[78]|1|3\\d))\\d{7}|(?:10|29|3[09]|70[1-5]\\d)\\d{4,8}"]],"00"],FJ:["679","0(?:0|52)","45\\d{5}|(?:0800\\d|[235-9])\\d{6}",[7,11],[["(\\d{3})(\\d{4})","$1 $2",["[235-9]|45"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]]],0,0,0,0,0,0,[["603\\d{4}|(?:3[0-5]|6[25-7]|8[58])\\d{5}",[7]],["(?:[279]\\d|45|5[01568]|8[034679])\\d{5}",[7]],["0800\\d{7}",[11]]],"00"],FK:["500","00","[2-7]\\d{4}",[5],0,0,0,0,0,0,0,[["[2-47]\\d{4}"],["[56]\\d{4}"]]],FM:["691","00","(?:[39]\\d\\d|820)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[389]"]]],0,0,0,0,0,0,[["31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\d)\\d)\\d{3}"],["31(?:00[67]|208|309)\\d\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\d)\\d)\\d{3}"]]],FO:["298","00","[2-9]\\d{5}",[6],[["(\\d{6})","$1",["[2-9]"]]],0,0,"(10(?:01|[12]0|88))",0,0,0,[["(?:20|[34]\\d|8[19])\\d{4}"],["(?:[27][1-9]|5\\d|9[16])\\d{4}"],["80[257-9]\\d{3}"],["90(?:[13-5][15-7]|2[125-7]|9\\d)\\d\\d"],0,0,0,0,["(?:6[0-36]|88)\\d{4}"]]],FR:["33","00","[1-9]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0 $1"],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"],"0$1"]],"0",0,0,0,0,0,[["(?:26[013-9]|59[1-35-9])\\d{6}|(?:[13]\\d|2[0-57-9]|4[1-9]|5[0-8])\\d{7}"],["(?:6(?:[0-24-8]\\d|3[0-8]|9[589])|7[3-9]\\d)\\d{6}"],["80[0-5]\\d{6}"],["836(?:0[0-36-9]|[1-9]\\d)\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\d|8[0-35-9])\\d{6}"],0,0,["80[6-9]\\d{6}"],0,["9\\d{8}"],["8(?:1[01]|2[0156]|4[02]|84)\\d{6}"]]],GA:["241","00","(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}",[7,8],[["(\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-7]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["11|[67]"],"0$1"]],0,0,"0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})","$1",0,0,[["[01]1\\d{6}",[8]],["(?:(?:0[2-7]|7[467])\\d|6(?:0[0-4]|10|[256]\\d))\\d{5}|[2-7]\\d{6}"]]],GB:["44","00","[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}",[7,9,10],[["(\\d{3})(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["845","8454","84546","845464"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["800"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:(?:38|69)7|5(?:24|39)|768|946)","1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["1(?:[2-69][02-9]|[78])"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[25]|7(?:0|6[02-9])","[25]|7(?:0|6(?:[03-9]|2[356]))"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[1389]"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0235])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|50))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-2]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}",[9,10]],["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]],0," x"],GD:["1","011","(?:473|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","473$1",0,"473",[["473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-4]|5[579]|73|90)|63[68]|7(?:58|84)|800|938)\\d{4}"],["473(?:4(?:0[2-79]|1[04-9]|2[0-5]|49|5[68])|5(?:2[01]|3[3-8])|901)\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],GE:["995","00","(?:[3-57]\\d\\d|800)\\d{6}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["32"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[57]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[348]"],"0$1"]],"0",0,0,0,0,0,[["(?:3(?:[256]\\d|4[124-9]|7[0-4])|4(?:1\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\d{6}"],["5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\d|22252[0-4])\\d\\d|(?:5(?:0(?:0(?:0\\d|11|22|33|44|5[05]|77|88|9[09])|111)|1(?:1(?:00|[124]\\d|3[01])|4\\d\\d)|(?:44|68)\\d\\d|5(?:[0157-9]\\d\\d|200)|7(?:[0147-9]\\d\\d|5(?:00|[57]5))|8(?:0(?:[018]\\d|2[0-4])|58[89]|8(?:55|88))|9(?:090|[1-35-9]\\d\\d))|790\\d\\d)\\d{4}|5(?:0(?:0[17]0|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\d{3}"],["800\\d{6}"],0,0,0,0,0,["70[67]\\d{6}"]]],GF:["594","00","[56]94\\d{6}|(?:80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[56]|9[47]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[89]"],"0$1"]],"0",0,0,0,0,0,[["594(?:[02-49]\\d|1[0-5]|5[6-9]|6[0-3]|80)\\d{4}"],["694(?:[0-249]\\d|3[0-8])\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:396|76\\d)\\d|476[0-5])\\d{4}"]]],GG:["44","00","(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?",[7,9,10],0,"0",0,"([25-9]\\d{5})$|0","1481$1",0,0,[["1481[25-9]\\d{5}",[10]],["7(?:(?:781|839)\\d|911[17])\\d{5}",[10]],["80[08]\\d{7}|800\\d{6}|8001111"],["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d",[7,10]],["70\\d{8}",[10]],0,["(?:3[0347]|55)\\d{8}",[10]],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}",[10]],["56\\d{8}",[10]]]],GH:["233","00","(?:[235]\\d{3}|800)\\d{5}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"],"0$1"]],"0",0,0,0,0,0,[["3082[0-5]\\d{4}|3(?:0(?:[237]\\d|8[01])|[167](?:2[0-6]|7\\d|80)|2(?:2[0-5]|7\\d|80)|3(?:2[0-3]|7\\d|80)|4(?:2[013-9]|3[01]|7\\d|80)|5(?:2[0-7]|7\\d|80)|8(?:2[0-2]|7\\d|80)|9(?:[28]0|7\\d))\\d{5}",[9]],["(?:2(?:[0346-9]\\d|5[67])|5(?:[03-7]\\d|9[1-9]))\\d{6}",[9]],["800\\d{5}",[8]]]],GI:["350","00","(?:[25]\\d|60)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["2"]]],0,0,0,0,0,0,[["2190[0-2]\\d{3}|2(?:0(?:[02]\\d|3[01])|16[24-9]|2[2-5]\\d)\\d{4}"],["5251[0-4]\\d{3}|(?:5(?:[146-8]\\d\\d|250)|60(?:1[01]|6\\d))\\d{4}"]]],GL:["299","00","(?:19|[2-689]\\d|70)\\d{4}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["19|[2-9]"]]],0,0,0,0,0,0,[["(?:19|3[1-7]|[68][1-9]|70|9\\d)\\d{4}"],["[245]\\d{5}"],["80\\d{4}"],0,0,0,0,0,["3[89]\\d{4}"]]],GM:["220","00","[2-9]\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]],0,0,0,0,0,0,[["(?:4(?:[23]\\d\\d|4(?:1[024679]|[6-9]\\d))|5(?:5(?:3\\d|4[0-7])|6[67]\\d|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}"],["(?:[23679]\\d|5[0-489])\\d{5}"]]],GN:["224","00","722\\d{6}|(?:3|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[67]"]]],0,0,0,0,0,0,[["3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\d\\d)\\d{4}",[8]],["6[0-356]\\d{7}",[9]],0,0,0,0,0,0,["722\\d{6}",[9]]]],GP:["590","00","590\\d{6}|(?:69|80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[569]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0",0,0,0,0,0,[["590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)\\d{4}"],["69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]],GQ:["240","00","222\\d{6}|(?:3\\d|55|[89]0)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"]],["(\\d{3})(\\d{6})","$1 $2",["[89]"]]],0,0,0,0,0,0,[["33[0-24-9]\\d[46]\\d{4}|3(?:33|5\\d)\\d[7-9]\\d{4}"],["(?:222|55\\d)\\d{6}"],["80\\d[1-9]\\d{5}"],["90\\d[1-9]\\d{5}"]]],GR:["30","00","5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}",[10,11,12],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["21|7"]],["(\\d{4})(\\d{6})","$1 $2",["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2689]"]],["(\\d{3})(\\d{3,4})(\\d{5})","$1 $2 $3",["8"]]],0,0,0,0,0,0,[["2(?:1\\d\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-57]))\\d{6}",[10]],["68[57-9]\\d{7}|(?:69|94)\\d{8}",[10]],["800\\d{7,9}"],["90[19]\\d{7}",[10]],["70\\d{8}",[10]],0,["5005000\\d{3}",[10]],0,0,["8(?:0[16]|12|[27]5|50)\\d{7}",[10]]]],GT:["502","00","80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1 $2",["[2-8]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]],0,0,0,0,0,0,[["[267][2-9]\\d{6}",[8]],["(?:[3-5]\\d\\d|80[0-4])\\d{5}",[8]],["18[01]\\d{8}",[11]],["19\\d{9}",[11]]]],GU:["1","011","(?:[58]\\d\\d|671|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","671$1",0,"671",[["671(?:2\\d\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\d{4}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],GW:["245","00","[49]\\d{8}|4\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["40"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"]]],0,0,0,0,0,0,[["443\\d{6}",[9]],["9(?:5\\d|6[569]|77)\\d{6}",[9]],0,0,0,0,0,0,["40\\d{5}",[7]]]],GY:["592","001","(?:[2-8]\\d{3}|9008)\\d{3}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]],0,0,0,0,0,0,[["(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\d|7[0-79])|3(?:2[25-9]|3\\d)|4(?:4[0-24]|5[56])|50[0-6]|77[1-57])\\d{4}"],["(?:510|6\\d\\d|7(?:[01]\\d|2[156]|3[12]|49))\\d{4}"],["(?:289|8(?:00|6[28]|88|99))\\d{4}"],["9008\\d{3}"],0,0,0,0,["515\\d{4}"]]],HK:["852","00(?:30|5[09]|[126-9]?)","8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}",[5,6,7,8,9,11],[["(\\d{3})(\\d{2,5})","$1 $2",["900","9003"]],["(\\d{4})(\\d{4})","$1 $2",["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{3})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["9"]]],0,0,0,0,0,0,[["(?:2(?:[13-9]\\d|2[013-9])\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\d|8(?:4[0-8]|[59]\\d|6[01]))|58(?:0[1-9]|1[2-9]))\\d{4}",[8]],["(?:4(?:44[0-25-9]|6(?:1[0-7]|4[0-57-9]|6[0-4]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-8]|8[0-4])|848[0-35-9]|9(?:29[013-9]|39[01]|59[0-4]|899))\\d{4}|(?:4(?:4[0-35-8]|6[02357-9])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\d|[268][0-57-9]|7[0-79])|70[129]|84[0-29]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\d))\\d{5}",[8]],["800\\d{6}",[9]],["900(?:[0-24-9]\\d{7}|3\\d{1,4})",[5,6,7,8,11]],["8(?:1[0-4679]\\d|2(?:[0-36]\\d|7[0-4])|3(?:[034]\\d|2[09]|70))\\d{4}",[8]],0,["30(?:0[1-9]|[15-7]\\d|2[047]|89)\\d{4}",[8]],["7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\d|1[18]|7[27-9])|3(?:[0-38]\\d|7[0-369]|9[2357-9])|47\\d|5(?:[178]\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\d)|7(?:[27]\\d|8[7-9])|8(?:[23689]\\d|7[1-9])|9(?:[025]\\d|6[0-246-8]|7[0-36-9]|8[238]))\\d{4}",[8]]],"00"],HN:["504","00","8\\d{10}|[237-9]\\d{7}",[8,11],[["(\\d{4})(\\d{4})","$1-$2",["[237-9]"]]],0,0,0,0,0,0,[["2(?:2(?:0[0-59]|1[1-9]|[23]\\d|4[02-6]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\\d|6[014-69]|7[04]|80)|6(?:[056]\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\d{4}",[8]],["[37-9]\\d{7}",[8]],["8002\\d{7}",[11]]]],HR:["385","00","(?:[24-69]\\d|3[0-79])\\d{7}|80\\d{5,7}|[1-79]\\d{7}|6\\d{5,6}",[6,7,8,9],[["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["6[01]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{4})(\\d{3})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6|7[245]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-57]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"]],"0",0,0,0,0,0,[["1\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6,7}",[8,9]],["9(?:(?:0[1-9]|[12589]\\d)\\d\\d|7(?:[0679]\\d\\d|5(?:[01]\\d|44|55|77|9[5-7])))\\d{4}|98\\d{6}",[8,9]],["80\\d{5,7}",[7,8,9]],["6[01459]\\d{6}|6[01]\\d{4,5}",[6,7,8]],["7[45]\\d{6}",[8]],0,["62\\d{6,7}|72\\d{6}",[8,9]]]],HT:["509","00","(?:[2-489]\\d|55)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[2-589]"]]],0,0,0,0,0,0,[["2(?:2\\d|5[1-5]|81|9[149])\\d{5}"],["(?:[34]\\d|55)\\d{6}"],["8\\d{7}"],0,0,0,0,0,["9(?:[67][0-4]|8[0-3589]|9\\d)\\d{5}"]]],HU:["36","00","[235-7]\\d{8}|[1-9]\\d{7}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"],"(06 $1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"06 $1"]],"06",0,0,0,0,0,[["(?:1\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\d{6}",[8]],["(?:[257]0|3[01])\\d{7}",[9]],["(?:[48]0\\d|680[29])\\d{5}"],["9[01]\\d{6}",[8]],0,0,["38\\d{7}",[9]],0,["21\\d{7}",[9]]]],ID:["62","00[89]","(?:(?:00[1-9]|8\\d)\\d{4}|[1-36])\\d{6}|00\\d{10}|[1-9]\\d{8,10}|[2-9]\\d{7}",[7,8,9,10,11,12,13],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["15"]],["(\\d{2})(\\d{5,9})","$1 $2",["2[124]|[36]1"],"(0$1)"],["(\\d{3})(\\d{5,7})","$1 $2",["800"],"0$1"],["(\\d{3})(\\d{5,8})","$1 $2",["[2-79]"],"(0$1)"],["(\\d{3})(\\d{3,4})(\\d{3})","$1-$2-$3",["8[1-35-9]"],"0$1"],["(\\d{3})(\\d{6,8})","$1 $2",["1"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["804"],"0$1"],["(\\d{3})(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["80"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1-$2-$3",["8"],"0$1"]],"0",0,0,0,0,0,[["2[124]\\d{7,8}|619\\d{8}|2(?:1(?:14|500)|2\\d{3})\\d{3}|61\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}",[7,8,9,10,11]],["8[1-35-9]\\d{7,10}",[9,10,11,12]],["00[17]803\\d{7}|(?:177\\d|800)\\d{5,7}|001803\\d{6}",[8,9,10,11,12,13]],["809\\d{7}",[10]],0,0,["(?:1500|8071\\d{3})\\d{3}",[7,10]],0,0,["804\\d{7}",[10]]]],IE:["353","00","(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["2[24-9]|47|58|6[237-9]|9[35-9]"],"(0$1)"],["(\\d{3})(\\d{5})","$1 $2",["[45]0"],"(0$1)"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["1"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2569]|4[1-69]|7[14]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["70"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["81"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[78]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["4"],"(0$1)"],["(\\d{2})(\\d)(\\d{3})(\\d{4})","$1 $2 $3 $4",["8"],"0$1"]],"0",0,0,0,0,0,[["(?:1\\d|21)\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\d|7)|5(?:0[45]|1\\d|8)|6(?:1\\d|[237-9])|9(?:1\\d|[35-9]))\\d{5}|(?:23|4(?:[1-469]|8\\d)|5[23679]|6[4-6]|7[14]|9[04])\\d{7}"],["8(?:22|[35-9]\\d)\\d{6}",[9]],["1800\\d{6}",[10]],["15(?:1[2-8]|[2-8]0|9[089])\\d{6}",[10]],["700\\d{6}",[9]],0,["818\\d{6}",[9]],0,["76\\d{7}",[9]],["18[59]0\\d{6}",[10]]]],IL:["972","0(?:0|1[2-9])","1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}",[7,8,9,10,11,12],[["(\\d{4})(\\d{3})","$1-$2",["125"]],["(\\d{4})(\\d{2})(\\d{2})","$1-$2-$3",["121"]],["(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-489]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1-$2-$3",["12"]],["(\\d{4})(\\d{6})","$1-$2",["159"]],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3-$4",["1[7-9]"]],["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})","$1-$2 $3-$4",["15"]]],"0",0,0,0,0,0,[["153\\d{8,9}|29[1-9]\\d{5}|(?:2[0-8]|[3489]\\d)\\d{6}",[8,11,12]],["55410\\d{4}|5(?:(?:[02][02-9]|[149][2-9]|[36]\\d|8[3-7])\\d|5(?:01|2\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\d{5}",[9]],["1(?:255|80[019]\\d{3})\\d{3}",[7,10]],["1212\\d{4}|1(?:200|9(?:0[0-2]|19))\\d{6}",[8,10]],0,0,["1599\\d{6}",[10]],0,["7(?:38(?:0\\d|5[0-29]|88)|8(?:33|55|77|81)\\d)\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\d|82|9[2-9])\\d{6}",[9]],["1700\\d{6}",[10]]]],IM:["44","00","1624\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([25-8]\\d{5})$|0","1624$1",0,"74576|(?:16|7[56])24",[["1624(?:230|[5-8]\\d\\d)\\d{3}"],["76245[06]\\d{4}|7(?:4576|[59]24\\d|624[0-4689])\\d{5}"],["808162\\d{4}"],["8(?:440[49]06|72299\\d)\\d{3}|(?:8(?:45|70)|90[0167])624\\d{4}"],["70\\d{8}"],0,["3440[49]06\\d{3}|(?:3(?:08162|3\\d{4}|45624|7(?:0624|2299))|55\\d{4})\\d{4}"],0,["56\\d{8}"]]],IN:["91","00","(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}",[8,9,10,11,12,13],[["(\\d{8})","$1",["5(?:0|2[23]|3[03]|[67]1|88)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)","5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"],0,1],["(\\d{4})(\\d{4,5})","$1 $2",["180","1800"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["140"],0,1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79[1-7]|80[2-46]","11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])","11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"],"0$1",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]","1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"],"0$1",1],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807","1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]","1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\d|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"],"0$1",1],["(\\d{5})(\\d{5})","$1 $2",["[6-9]"],"0$1",1],["(\\d{4})(\\d{2,4})(\\d{4})","$1 $2 $3",["1(?:6|8[06])","1(?:6|8[06]0)"],0,1],["(\\d{4})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["18"],0,1]],"0",0,0,0,0,0,[["2717(?:[2-7]\\d|95)\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\d|4(?:20[24]|72[2-8])|552[1-7])\\d{6}|(?:11|33|4[04]|80)[2-7]\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\d)\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d[2-7]\\d{5}",[10]],["(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\d|7[02-8])\\d{5}|(?:6(?:[09]\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\d\\d)\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\d|7(?:[235689]\\d|4[0189]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]|881))[0189]\\d{5}",[10]],["000800\\d{7}|1(?:600\\d{6}|80(?:0\\d{4,9}|3\\d{9}))"],["186[12]\\d{9}",[13]],0,0,["140\\d{7}",[10]],0,0,["1860\\d{7}",[11]]]],IO:["246","00","3\\d{6}",[7],[["(\\d{3})(\\d{4})","$1 $2",["3"]]],0,0,0,0,0,0,[["37\\d{5}"],["38\\d{5}"]]],IQ:["964","00","(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-6]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,[["1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}",[8,9]],["7[3-9]\\d{8}",[10]]]],IR:["98","00","[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}",[4,5,6,7,10],[["(\\d{4,5})","$1",["96"],"0$1"],["(\\d{2})(\\d{4,5})","$1 $2",["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["9"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[1-8]"],"0$1"]],"0",0,0,0,0,0,[["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\d{7}|[16]\\d{3}(?:\\d{4})?|[289]\\d{3}(?:\\d(?:\\d{3})?)?)|94(?:000[09]|(?:12\\d|30[0-2])\\d|2(?:121|[2689]0\\d)|4(?:111|40\\d))\\d{4}",[6,7,10]],["9(?:(?:0(?:[0-35]\\d|4[4-6])|(?:[13]\\d|2[0-3])\\d)\\d|9(?:[0-46]\\d\\d|5[15]0|8(?:[12]\\d|88)|9(?:0[0-3]|[19]\\d|21|69|77|8[7-9])))\\d{5}",[10]],0,0,0,0,["96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])",[4,5]]]],IS:["354","00|1(?:0(?:01|[12]0)|100)","(?:38\\d|[4-9])\\d{6}",[7,9],[["(\\d{3})(\\d{4})","$1 $2",["[4-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-24589]|5[0-68]|6\\d|8[0-36-8])|5(?:05|[156]\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\d{4}",[7]],["(?:38[589]\\d\\d|6(?:1[1-8]|2[0-6]|3[026-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\d)|7(?:5[057]|[6-9]\\d)|8(?:2[0-59]|[3-69]\\d|8[238]))\\d{4}"],["80[0-8]\\d{4}",[7]],["90(?:0\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\d{3}",[7]],0,0,["809\\d{4}",[7]],0,["49[0-24-79]\\d{4}",[7]]],"00"],IT:["39","00","0\\d{5,10}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?",[6,7,8,9,10,11],[["(\\d{2})(\\d{4,6})","$1 $2",["0[26]"]],["(\\d{3})(\\d{3,6})","$1 $2",["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])","0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]],["(\\d{4})(\\d{2,6})","$1 $2",["0(?:[13-579][2-46-8]|8[236-8])"]],["(\\d{4})(\\d{4})","$1 $2",["894"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[26]|5"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1(?:44|[679])|[378]|43"]],["(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]|14"]],["(\\d{2})(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["3"]]],0,0,0,0,0,0,[["0669[0-79]\\d{1,6}|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"],["3[2-9]\\d{7,8}|(?:31|43)\\d{8}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],JE:["44","00","1534\\d{6}|(?:[3578]\\d|90)\\d{8}",[10],0,"0",0,"([0-24-8]\\d{5})$|0","1534$1",0,0,[["1534[0-24-8]\\d{5}"],["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"],["80(?:07(?:35|81)|8901)\\d{4}"],["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"],["701511\\d{4}"],0,["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"],["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"],["56\\d{8}"]]],JM:["1","011","(?:[58]\\d\\d|658|900)\\d{7}",[10],0,"1",0,0,0,0,"658|876",[["8766060\\d{3}|(?:658(?:2(?:[0-8]\\d|9[0-46-9])|[3-9]\\d\\d)|876(?:52[35]|6(?:0[1-3579]|1[0235-9]|[23]\\d|40|5[06]|6[2-589]|7[0-25-9]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468])))\\d{4}"],["(?:658295|876(?:2(?:0[1-9]|[13-9]\\d|2[013-9])|[348]\\d\\d|5(?:0[1-9]|[1-9]\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],JO:["962","00","(?:(?:[2689]|7\\d)\\d|32|53)\\d{6}",[8,9],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2356]|87"],"(0$1)"],["(\\d{3})(\\d{5,6})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["70"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,[["87(?:000|90[01])\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\d{4}",[8]],["7(?:[78][0-25-9]|9\\d)\\d{6}",[9]],["80\\d{6}",[8]],["9\\d{7}",[8]],["70\\d{7}",[9]],0,["8(?:10|8\\d)\\d{5}",[8]],["74(?:66|77)\\d{5}",[9]],0,["85\\d{6}",[8]]]],JP:["81","010","00[1-9]\\d{6,14}|[257-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}",[8,9,10,11,12,13,14,15,16,17],[["(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"],"0$1"],["(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]","1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])","[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]","1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"],"0$1"],["(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["[14]|[289][2-9]|5[3-9]|7[2-4679]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[257-9]"],"0$1"]],"0",0,"(000[259]\\d{6})$|(?:(?:003768)0?)|0","$1",0,0,[["(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\d|4(?:[2-578]\\d|6[02-8]|9[2-59])|5(?:[2-589]\\d|6[1-9]|7[2-8])|7(?:[25-9]\\d|3[4-9]|4[02-9])|8(?:[2679]\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\d|[679][1-9]))\\d{6}",[9]],["[7-9]0[1-9]\\d{7}",[10]],["00777(?:[01]|5\\d)\\d\\d|(?:00(?:7778|882[1245])|(?:120|800\\d)\\d\\d)\\d{4}|00(?:37|66|78)\\d{6,13}"],["990\\d{6}",[9]],["60\\d{7}",[9]],0,["570\\d{6}",[9]],["20\\d{8}",[10]],["50[1-9]\\d{7}",[10]]]],KE:["254","000","(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}",[7,8,9,10],[["(\\d{2})(\\d{5,7})","$1 $2",["[24-6]"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[17]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,[["(?:4[245]|5[1-79]|6[01457-9])\\d{5,7}|(?:4[136]|5[08]|62)\\d{7}|(?:[24]0|66)\\d{6,7}",[7,8,9]],["(?:1(?:0[0-8]|1[0-5]|2[014]|30)|7\\d\\d)\\d{6}",[9]],["800[02-8]\\d{5,6}",[9,10]],["900[02-9]\\d{5}",[9]]]],KG:["996","00","8\\d{9}|[235-9]\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["3(?:1[346]|[24-79])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235-79]|88"],"0$1"],["(\\d{3})(\\d{3})(\\d)(\\d{2,3})","$1 $2 $3 $4",["8"],"0$1"]],"0",0,0,0,0,0,[["312(?:5[0-79]\\d|9(?:[0-689]\\d|7[0-24-9]))\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\d)|5(?:22|3[4-7]|59|6\\d)|6(?:22|5[35-7]|6\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\d)|9(?:22|4[1-8]|6\\d))|6(?:09|12|2[2-4])\\d)\\d{5}",[9]],["312(?:58\\d|973)\\d{3}|(?:2(?:0[0-35]|2\\d)|5[0-24-7]\\d|600|7(?:[07]\\d|55)|88[08]|9(?:12|9[05-9]))\\d{6}",[9]],["800\\d{6,7}"]]],KH:["855","00[14-9]","1\\d{9}|[1-9]\\d{7,8}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0",0,0,0,0,0,[["23(?:4(?:[2-4]|[56]\\d)|[568]\\d\\d)\\d{4}|23[236-9]\\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\d)\\d{5}|6\\d{5,6})",[8,9]],["(?:(?:1[28]|3[18]|9[67])\\d|6[016-9]|7(?:[07-9]|[16]\\d)|8(?:[013-79]|8\\d))\\d{6}|(?:1\\d|9[0-57-9])\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\d{5}",[8,9]],["1800(?:1\\d|2[019])\\d{4}",[10]],["1900(?:1\\d|2[09])\\d{4}",[10]]]],KI:["686","00","(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}",[5,8],0,"0",0,0,0,0,0,[["(?:[24]\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\d\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\d{3}"],["(?:6200[01]|7(?:310[1-9]|5(?:02[03-9]|12[0-47-9]|22[0-7]|[34](?:0[1-9]|8[02-9])|50[1-9])))\\d{3}|(?:63\\d\\d|7(?:(?:[0146-9]\\d|2[0-689])\\d|3(?:[02-9]\\d|1[1-9])|5(?:[0-2][013-9]|[34][1-79]|5[1-9]|[6-9]\\d)))\\d{4}",[8]],0,0,0,0,0,0,["30(?:0[01]\\d\\d|12(?:11|20))\\d\\d",[8]]]],KM:["269","00","[3478]\\d{6}",[7],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[3478]"]]],0,0,0,0,0,0,[["7[4-7]\\d{5}"],["[34]\\d{6}"],0,["8\\d{6}"]]],KN:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","869$1",0,"869",[["869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\d{4}"],["869(?:48[89]|55[6-8]|66\\d|76[02-7])\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],KP:["850","00|99","85\\d{6}|(?:19\\d|[2-7])\\d{7}",[8,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2-7]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"]],"0",0,0,0,0,0,[["(?:(?:195|2)\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\d{6}"],["19[1-3]\\d{7}",[10]]]],KR:["82","00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))","00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}",[5,6,8,9,10,11,12,13,14],[["(\\d{2})(\\d{3,4})","$1-$2",["(?:3[1-3]|[46][1-4]|5[1-5])1"],"0$1"],["(\\d{4})(\\d{4})","$1-$2",["1"]],["(\\d)(\\d{3,4})(\\d{4})","$1-$2-$3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["60|8"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1-$2-$3",["[1346]|5[1-5]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57]"],"0$1"],["(\\d{2})(\\d{5})(\\d{4})","$1-$2-$3",["5"],"0$1"]],"0",0,"0(8(?:[1-46-8]|5\\d\\d))?",0,0,0,[["(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\d{2,3}",[5,6,8,9,10]],["1(?:05(?:[0-8]\\d|9[0-6])|22[13]\\d)\\d{4,5}|1(?:0[0-46-9]|[16-9]\\d|2[013-9])\\d{6,7}",[9,10]],["00(?:308\\d{6,7}|798\\d{7,9})|(?:00368|80)\\d{7}",[9,11,12,13,14]],["60[2-9]\\d{6}",[9]],["50\\d{8,9}",[10,11]],0,["1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[0168]|88)|8(?:00|33|55|77|99))\\d{4}",[8]],["15\\d{7,8}",[9,10]],["70\\d{8}",[10]]]],KW:["965","00","18\\d{5}|(?:[2569]\\d|41)\\d{6}",[7,8],[["(\\d{4})(\\d{3,4})","$1 $2",["[169]|2(?:[235]|4[1-35-9])|52"]],["(\\d{3})(\\d{5})","$1 $2",["[245]"]]],0,0,0,0,0,0,[["2(?:[23]\\d\\d|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7]))\\d{4}",[8]],["(?:41\\d\\d|5(?:(?:[05]\\d|1[0-7]|6[56])\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\d)\\d|1(?:00|11|6[16])|2[26]2|3[36]3|4[46]4|7(?:0[013-9]|[67]\\d)|8[68]8|9(?:[069]\\d|3[039]))|9(?:(?:[04679]\\d|8[057-9])\\d|1(?:1[01]|99)|2(?:00|2\\d)|3(?:00|3[03])|5(?:00|5\\d)))\\d{4}",[8]],["18\\d{5}",[7]]]],KY:["1","011","(?:345|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","345$1",0,"345",[["345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|[48]8)|9(?:14|4[035-9]))\\d{4}"],["345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|82[56]|9(?:1[679]|2[2-9]|3[06-9]|90))\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["(?:345976|900[2-9]\\d\\d)\\d{4}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"],0,0,["345849\\d{4}"]]],KZ:["7","810","(?:33622|8\\d{8})\\d{5}|[78]\\d{9}",[10,14],0,"8",0,0,0,0,"33|7",[["(?:33622|7(?:1(?:0(?:[23]\\d|4[0-3]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\d|3[013-9]|5[1-9]|97)|5(?:2\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\d|5[19]|61)|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-5]|59))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679])|3(?:[2-4]\\d|5[139])|4(?:2\\d|3[1-35-9]|59)|5(?:[23]\\d|4[0-8]|59|61)|6(?:2\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\d|40|5[279])|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[124578]|59))))\\d{5}",[10]],["7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\d{7}",[10]],["8(?:00|108\\d{3})\\d{7}"],["809\\d{7}",[10]],["808\\d{7}",[10]],0,0,0,["751\\d{7}",[10]]],"8~10"],LA:["856","00","[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}",[8,9,10],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|3[14]|[4-8]"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["30[013-9]"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,0,0,0,0,[["(?:2[13]|[35-7][14]|41|8[1468])\\d{6}",[8]],["2088\\d{6}|(?:20[23579]|302)\\d{7}",[10]],0,0,0,0,["30[013-9]\\d{6}",[9]]]],LB:["961","00","[27-9]\\d{7}|[13-9]\\d{6}",[7,8],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[27-9]"]]],"0",0,0,0,0,0,[["7(?:62|8[0-7]|9[04-9])\\d{4}|(?:[14-69]\\d|2(?:[14-69]\\d|[78][1-9])|7[2-57]|8[02-9])\\d{5}"],["793(?:[01]\\d|2[0-4])\\d{3}|(?:(?:3|81)\\d|7(?:[01]\\d|6[013-9]|8[89]|9[12]))\\d{5}"],0,["9[01]\\d{6}",[8]],0,0,0,0,0,["80\\d{6}",[8]]]],LC:["1","011","(?:[58]\\d\\d|758|900)\\d{7}",[10],0,"1",0,"([2-8]\\d{6})$|1","758$1",0,"758",[["758(?:234|4(?:30|5\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\d{4}"],["758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\d|3[0-3])|812)\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],LI:["423","00","[68]\\d{8}|(?:[2378]\\d|90)\\d{5}",[7,9],[["(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",["[2379]|8(?:0[09]|7)","[2379]|8(?:0(?:02|9)|7)"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["69"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]]],"0",0,"(1001)|0",0,0,0,[["(?:2(?:01|1[27]|2[02]|3\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\d{4}",[7]],["(?:6(?:(?:4[5-9]|5[0-469])\\d|6(?:[024-6]\\d|[17]0|3[7-9]))\\d|7(?:[37-9]\\d|42|56))\\d{4}"],["8002[28]\\d\\d|80(?:05\\d|9)\\d{4}"],["90(?:02[258]|1(?:23|3[14])|66[136])\\d\\d",[7]],0,0,["870(?:28|87)\\d\\d",[7]]]],LK:["94","00","[1-9]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[1-689]"],"0$1"]],"0",0,0,0,0,0,[["(?:12[2-9]|602|8[12]\\d|9(?:1\\d|22|9[245]))\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}"],["7(?:[0-25-8]\\d|4[0-4])\\d{6}"],0,0,0,0,["1973\\d{5}"]]],LR:["231","00","(?:[245]\\d|33|77|88)\\d{7}|(?:2\\d|[4-6])\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["4[67]|[56]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2-578]"],"0$1"]],"0",0,0,0,0,0,[["2\\d{7}",[8]],["(?:(?:(?:22|33)0|555|(?:77|88)\\d)\\d|4(?:240|[67]))\\d{5}|[56]\\d{6}",[7,9]],0,["332(?:02|[34]\\d)\\d{4}",[9]]]],LS:["266","00","(?:[256]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2568]"]]],0,0,0,0,0,0,[["2\\d{7}"],["[56]\\d{7}"],["800[1256]\\d{4}"]]],LT:["370","00","(?:[3469]\\d|52|[78]0)\\d{6}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["52[0-7]"],"(0-$1)",1],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[7-9]"],"0 $1",1],["(\\d{2})(\\d{6})","$1 $2",["37|4(?:[15]|6[1-8])"],"(0-$1)",1],["(\\d{3})(\\d{5})","$1 $2",["[3-6]"],"(0-$1)",1]],"0",0,"[08]",0,0,0,[["(?:3[1478]|4[124-6]|52)\\d{6}"],["6\\d{7}"],["80[02]\\d{5}"],["9(?:0[0239]|10)\\d{5}"],["70[05]\\d{5}"],0,["70[67]\\d{5}"],0,["[89]01\\d{5}"],["808\\d{5}"]]],LU:["352","00","35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}",[4,5,6,7,8,9,10,11],[["(\\d{2})(\\d{3})","$1 $2",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20[2-689]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"]],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["80[01]|90[015]"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})","$1 $2 $3 $4",["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]]],0,0,"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)",0,0,0,[["(?:35[013-9]|80[2-9]|90[89])\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\d|8[13-9]|9[2-579])\\d{2,9}"],["6(?:[269][18]|5[1568]|7[189]|81)\\d{6}",[9]],["800\\d{5}",[8]],["90[015]\\d{5}",[8]],0,0,0,0,["20(?:1\\d{5}|[2-689]\\d{1,7})",[4,5,6,7,8,9,10]],["801\\d{5}",[8]]]],LV:["371","00","(?:[268]\\d|90)\\d{6}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[269]|8[01]"]]],0,0,0,0,0,0,[["6\\d{7}"],["23(?:23[0-57-9]|33[0238])\\d{3}|2(?:[0-24-9]\\d\\d|3(?:0[07]|[14-9]\\d|2[024-9]|3[0-24-9]))\\d{4}"],["80\\d{6}"],["90\\d{6}"],0,0,0,0,0,["81\\d{6}"]]],LY:["218","00","[2-9]\\d{8}",[9],[["(\\d{2})(\\d{7})","$1-$2",["[2-9]"],"0$1"]],"0",0,0,0,0,0,[["(?:2(?:0[56]|[1-6]\\d|7[124579]|8[124])|3(?:1\\d|2[2356])|4(?:[17]\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\d|5[2-57]|8[1-5])|7(?:[13]\\d|2[13-79])|8(?:[124]\\d|5[124]|84))\\d{6}"],["9[1-6]\\d{7}"]]],MA:["212","00","[5-8]\\d{8}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5[45]"],"0$1"],["(\\d{4})(\\d{5})","$1-$2",["5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)"],"0$1"],["(\\d{2})(\\d{7})","$1-$2",["8"],"0$1"],["(\\d{3})(\\d{6})","$1-$2",["[5-7]"],"0$1"]],"0",0,0,0,0,0,[["5(?:2(?:[0-25-79]\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\d)\\d{5}"],["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[0167]\\d|2[0-4]|5[01]|8[0-3]))\\d{6}"],["80[0-7]\\d{6}"],["89\\d{7}"],0,0,0,0,["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]],MC:["377","00","(?:[3489]|6\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"],"0$1"],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[389]"]],["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"],"0$1"]],"0",0,0,0,0,0,[["(?:870|9[2-47-9]\\d)\\d{5}",[8]],["4(?:[469]\\d|5[1-9])\\d{5}|(?:3|6\\d)\\d{7}"],["(?:800|90\\d)\\d{5}",[8]]]],MD:["373","00","(?:[235-7]\\d|[89]0)\\d{6}",[8],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["22|3"],"0$1"],["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[25-7]"],"0$1"]],"0",0,0,0,0,0,[["(?:(?:2[1-9]|3[1-79])\\d|5(?:33|5[257]))\\d{5}"],["562\\d{5}|(?:6\\d|7[16-9])\\d{6}"],["800\\d{5}"],["90[056]\\d{5}"],0,0,["803\\d{5}"],0,["3[08]\\d{6}"],["808\\d{5}"]]],ME:["382","00","(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"],"0$1"]],"0",0,0,0,0,0,[["(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\d{5}",[8]],["6(?:[07-9]\\d|3[024]|6[0-25])\\d{5}",[8]],["80(?:[0-2578]|9\\d)\\d{5}"],["9(?:4[1568]|5[178])\\d{5}",[8]],0,0,["77[1-9]\\d{5}",[8]],0,["78[1-49]\\d{5}",[8]]]],MF:["590","00","590\\d{6}|(?:69|80|9\\d)\\d{7}",[9],0,"0",0,0,0,0,0,[["590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\d{4}"],["69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:(?:39[5-7]|76[018])\\d|475[0-5])\\d{4}"]]],MG:["261","00","[23]\\d{8}",[9],[["(\\d{2})(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",["[23]"],"0$1"]],"0",0,"([24-9]\\d{6})$|0","20$1",0,0,[["2072[29]\\d{4}|20(?:2\\d|4[47]|5[3467]|6[279]|7[35]|8[268]|9[245])\\d{5}"],["3[2-47-9]\\d{7}"],0,0,0,0,0,0,["22\\d{7}"]]],MH:["692","011","329\\d{4}|(?:[256]\\d|45)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1-$2",["[2-6]"]]],"1",0,0,0,0,0,[["(?:247|528|625)\\d{4}"],["(?:(?:23|54)5|329|45[35-8])\\d{4}"],0,0,0,0,0,0,["635\\d{4}"]]],MK:["389","00","[2-578]\\d{7}",[8],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2|34[47]|4(?:[37]7|5[47]|64)"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[347]"],"0$1"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"],"0$1"]],"0",0,0,0,0,0,[["(?:(?:2(?:62|77)0|3444)\\d|4[56]440)\\d{3}|(?:34|4[357])700\\d{3}|(?:2(?:[0-3]\\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\d{5}"],["7(?:3555|(?:474|9[019]7)7)\\d{3}|7(?:[0-25-8]\\d\\d|3(?:[1-48]\\d|6[01]|7[01578])|4(?:2\\d|60|7[01578])|9(?:[2-4]\\d|5[01]|7[015]))\\d{4}"],["800\\d{5}"],["5\\d{7}"],0,0,0,0,0,["8(?:0[1-9]|[1-9]\\d)\\d{5}"]]],ML:["223","00","[24-9]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24-9]"]]],0,0,0,0,0,0,[["2(?:07[0-8]|12[67])\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-39]))\\d{5}"],["2(?:0(?:01|79)|17\\d)\\d{4}|(?:5[01]|[679]\\d|8[2-49])\\d{6}"],["80\\d{6}"]]],MM:["95","00","1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}",[6,7,8,9,10],[["(\\d)(\\d{2})(\\d{3})","$1 $2 $3",["16|2"],"0$1"],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[4-7]|8[1-35]"],"0$1"],["(\\d)(\\d{3})(\\d{4,6})","$1 $2 $3",["9(?:2[0-4]|[35-9]|4[137-9])"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["92"],"0$1"],["(\\d)(\\d{5})(\\d{4})","$1 $2 $3",["9"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:(?:2\\d|3[56]|[89][0-6])\\d|4(?:2[29]|62|7[0-2]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\d|[26]2|7[0-2]|83)|51\\d\\d)|4(?:2(?:2\\d\\d|48[013])|3(?:20\\d|4(?:70|83)|56)|420\\d|5470)|6(?:0(?:[23]|88\\d)|(?:124|[56]2\\d)\\d|2472|3(?:20\\d|470)|4(?:2[04]\\d|472)|7(?:(?:3\\d|8[01459])\\d|4[67]0)))\\d{4}|5(?:2(?:2\\d{5,6}|47[02]\\d{4})|(?:3472|4(?:2(?:1|86)|470)|522\\d|6(?:20\\d|483)|7(?:20\\d|48[01])|8(?:20\\d|47[02])|9(?:20\\d|470))\\d{4})|7(?:(?:0470|4(?:25\\d|470)|5(?:202|470|96\\d))\\d{4}|1(?:20\\d{4,5}|4(?:70|83)\\d{4}))|8(?:1(?:2\\d{5,6}|4(?:10|7[01]\\d)\\d{3})|2(?:2\\d{5,6}|(?:320|490\\d)\\d{3})|(?:3(?:2\\d\\d|470)|4[24-7]|5(?:(?:2\\d|51)\\d|4(?:[1-35-9]\\d|4[0-57-9]))|6[23])\\d{4})|(?:1[2-6]\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|[35]2\\d))\\d{4}|25\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\d{4}",[6,7,8,9]],["(?:17[01]|9(?:2(?:[0-4]|[56]\\d\\d)|(?:3(?:[0-36]|4\\d)|(?:6\\d|8[89]|9[4-8])\\d|7(?:3|40|[5-9]\\d))\\d|4(?:(?:[0245]\\d|[1379])\\d|88)|5[0-6])\\d)\\d{4}|9[69]1\\d{6}|9(?:[68]\\d|9[089])\\d{5}",[7,8,9,10]],["80080(?:0[1-9]|2\\d)\\d{3}",[10]],0,0,0,0,0,["1333\\d{4}|[12]468\\d{4}",[8]]]],MN:["976","001","[12]\\d{7,9}|[5-9]\\d{7}",[8,9,10],[["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[12]1"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[5-9]"]],["(\\d{3})(\\d{5,6})","$1 $2",["[12]2[1-3]"],"0$1"],["(\\d{4})(\\d{5,6})","$1 $2",["[12](?:27|3[2-8]|4[2-68]|5[1-4689])","[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"],"0$1"],["(\\d{5})(\\d{4,5})","$1 $2",["[12]"],"0$1"]],"0",0,0,0,0,0,[["[12]2[1-3]\\d{5,6}|(?:(?:[12](?:1|27)|5[368])\\d\\d|7(?:0(?:[0-5]\\d|7[078]|80)|128))\\d{4}|[12](?:3[2-8]|4[2-68]|5[1-4689])\\d{6,7}"],["(?:83[01]|92[039])\\d{5}|(?:5[05]|6[069]|8[015689]|9[013-9])\\d{6}",[8]],0,0,0,0,0,0,["712[0-79]\\d{4}|7(?:1[013-9]|[25-9]\\d)\\d{5}",[8]]]],MO:["853","00","0800\\d{3}|(?:28|[68]\\d)\\d{6}",[7,8],[["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{4})(\\d{4})","$1 $2",["[268]"]]],0,0,0,0,0,0,[["(?:28[2-9]|8(?:11|[2-57-9]\\d))\\d{5}",[8]],["6800[0-79]\\d{3}|6(?:[235]\\d\\d|6(?:0[0-5]|[1-9]\\d)|8(?:0[1-9]|[14-8]\\d|2[5-9]|[39][0-4]))\\d{4}",[8]],["0800\\d{3}",[7]]]],MP:["1","011","[58]\\d{9}|(?:67|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","670$1",0,"670",[["670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\d{4}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],MQ:["596","00","596\\d{6}|(?:69|80|9\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[569]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0",0,0,0,0,0,[["596(?:[03-7]\\d|1[05]|2[7-9]|8[0-39]|9[04-9])\\d{4}"],["69(?:6(?:[0-46-9]\\d|5[0-6])|727)\\d{4}"],["80[0-5]\\d{6}"],0,0,0,0,0,["9(?:397[0-3]|477[0-5]|76(?:6\\d|7[0-367]))\\d{4}"]]],MR:["222","00","(?:[2-4]\\d\\d|800)\\d{5}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-48]"]]],0,0,0,0,0,0,[["(?:25[08]|35\\d|45[1-7])\\d{5}"],["[2-4][0-46-9]\\d{6}"],["800\\d{5}"]]],MS:["1","011","(?:[58]\\d\\d|664|900)\\d{7}",[10],0,"1",0,"([34]\\d{6})$|1","664$1",0,"664",[["6644(?:1[0-3]|91)\\d{4}"],["664(?:3(?:49|9[1-6])|49[2-6])\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],MT:["356","00","3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[2357-9]"]]],0,0,0,0,0,0,[["20(?:3[1-4]|6[059])\\d{4}|2(?:0[19]|[1-357]\\d|60)\\d{5}"],["(?:7(?:210|[79]\\d\\d)|9(?:[29]\\d\\d|69[67]|8(?:1[1-3]|89|97)))\\d{4}"],["800(?:02|[3467]\\d)\\d{3}"],["5(?:0(?:0(?:37|43)|(?:6\\d|70|9[0168])\\d)|[12]\\d0[1-5])\\d{3}"],0,0,["501\\d{5}"],["7117\\d{4}"],["3550\\d{4}"]]],MU:["230","0(?:0|[24-7]0|3[03])","(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}",[7,8,10],[["(\\d{3})(\\d{4})","$1 $2",["[2-46]|8[013]"]],["(\\d{4})(\\d{4})","$1 $2",["[57]"]],["(\\d{5})(\\d{5})","$1 $2",["8"]]],0,0,0,0,0,0,[["(?:2(?:[0346-8]\\d|1[0-7])|4(?:[013568]\\d|2[4-8])|54(?:[3-5]\\d|71)|6\\d\\d|8(?:14|3[129]))\\d{4}",[7,8]],["5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\d{4}|(?:5(?:2[5-9]|4[3-689]|[57]\\d|8[0-689]|9[0-8])|7(?:0[0-3]|3[013]))\\d{5}",[8]],["802\\d{7}|80[0-2]\\d{4}",[7,10]],["30\\d{5}",[7]],0,0,0,0,["3(?:20|9\\d)\\d{4}",[7]]],"020"],MV:["960","0(?:0|19)","(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}",[7,10],[["(\\d{3})(\\d{4})","$1-$2",["[34679]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,[["(?:3(?:0[0-3]|3[0-59])|6(?:[58][024689]|6[024-68]|7[02468]))\\d{4}",[7]],["(?:46[46]|[79]\\d\\d)\\d{4}",[7]],["800\\d{7}",[10]],["900\\d{7}",[10]],0,0,["4(?:0[01]|50)\\d{4}",[7]]],"00"],MW:["265","00","(?:[1289]\\d|31|77)\\d{7}|1\\d{6}",[7,9],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[137-9]"],"0$1"]],"0",0,0,0,0,0,[["(?:1[2-9]|2[12]\\d\\d)\\d{5}"],["111\\d{6}|(?:31|77|[89][89])\\d{7}",[9]]]],MX:["52","0[09]","1(?:(?:22|44|7[27]|87|9[69])[1-9]|65[0-689])\\d{7}|(?:1(?:[01]\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-689]|8[1-69]|9[1-578])|[2-9]\\d)\\d{8}",[10,11],[["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|5[56]|81"],0,1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2-9]"],0,1],["(\\d)(\\d{2})(\\d{4})(\\d{4})","$2 $3 $4",["1(?:33|5[56]|81)"],0,1],["(\\d)(\\d{3})(\\d{3})(\\d{4})","$2 $3 $4",["1"],0,1]],"01",0,"0(?:[12]|4[45])|1",0,0,0,[["657[12]\\d{6}|(?:2(?:0[01]|2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\d|7[12]|8[1-8]))\\d{7}",[10]],["657[12]\\d{6}|(?:1(?:2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-7][1-9]|3[1-8]|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))|2(?:2\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\d|8[1-35-9]|9[2-689])|5(?:[56]\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\d|7[12]|8[1-8]))\\d{7}"],["8(?:00|88)\\d{7}",[10]],["900\\d{7}",[10]],["500\\d{7}",[10]],0,0,0,0,["300\\d{7}",[10]]],"00"],MY:["60","00","1\\d{8,9}|(?:3\\d|[4-9])\\d{7}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1-$2 $3",["[4-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1-$2 $3",["1(?:[02469]|[378][1-9]|53)|8","1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"],"0$1"],["(\\d)(\\d{4})(\\d{4})","$1-$2 $3",["3"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3-$4",["1(?:[367]|80)"]],["(\\d{3})(\\d{3})(\\d{4})","$1-$2 $3",["15"],"0$1"],["(\\d{2})(\\d{4})(\\d{4})","$1-$2 $3",["1"],"0$1"]],"0",0,0,0,0,0,[["(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\d|9[0-57])\\d|4(?:2[0-689]|[3-79]\\d|8[1-35689])|5(?:2[0-589]|[3468]\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\d|[3489][0-8]))\\d{5}",[8,9]],["1(?:1888[689]|4400|8(?:47|8[27])[0-4])\\d{4}|1(?:0(?:[23568]\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\d\\d|6(?:0[5-9]|[1-9]\\d)|7(?:[0-4]\\d|5[0-7]))|(?:[269]\\d|[37][1-9]|4[235-9])\\d|5(?:31|9\\d\\d)|8(?:1[23]|[236]\\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\\d{5}",[9,10]],["1[378]00\\d{6}",[10]],["1600\\d{6}",[10]],0,0,0,0,["15(?:4(?:6[0-4]\\d|8(?:0[125]|[17]\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\d))\\d{4}",[10]]]],MZ:["258","00","(?:2|8\\d)\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2|8[2-79]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["8"]]],0,0,0,0,0,0,[["2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}",[8]],["8[2-79]\\d{7}",[9]],["800\\d{6}",[9]]]],NA:["264","00","[68]\\d{7,8}",[8,9],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["88"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["87"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0",0,0,0,0,0,[["64426\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\d{4,5}|6(?:1(?:(?:0\\d|2[0189]|3[24-69]|4[5-9])\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\d{4}"],["(?:60|8[1245])\\d{7}",[9]],["80\\d{7}",[9]],["8701\\d{5}",[9]],0,0,0,0,["8(?:3\\d\\d|86)\\d{5}"]]],NC:["687","00","(?:050|[2-57-9]\\d\\d)\\d{3}",[6],[["(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",["[02-57-9]"]]],0,0,0,0,0,0,[["(?:2[03-9]|3[0-5]|4[1-7]|88)\\d{4}"],["(?:5[0-4]|[79]\\d|8[0-79])\\d{4}"],["050\\d{3}"],["36\\d{4}"]]],NE:["227","00","[027-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["08"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[089]|2[013]|7[047]"]]],0,0,0,0,0,0,[["2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}"],["(?:23|7[047]|[89]\\d)\\d{6}"],["08\\d{6}"],["09\\d{6}"]]],NF:["672","00","[13]\\d{5}",[6],[["(\\d{2})(\\d{4})","$1 $2",["1[0-3]"]],["(\\d)(\\d{5})","$1 $2",["[13]"]]],0,0,"([0-258]\\d{4})$","3$1",0,0,[["(?:1(?:06|17|28|39)|3[0-2]\\d)\\d{3}"],["(?:14|3[58])\\d{4}"]]],NG:["234","009","2[0-24-9]\\d{8}|[78]\\d{10,13}|[7-9]\\d{9}|[1-9]\\d{7}|[124-7]\\d{6}",[7,8,10,11,12,13,14],[["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["78"],"0$1"],["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[12]|9(?:0[3-9]|[1-9])"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-6]|7(?:0[0-689]|[1-79])|8[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[7-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["20[129]"],"0$1"],["(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{3})(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]"],"0$1"],["(\\d{3})(\\d{5})(\\d{5,6})","$1 $2 $3",["[78]"],"0$1"]],"0",0,0,0,0,0,[["20(?:[1259]\\d|3[013-9]|4[1-8]|6[024-689]|7[1-79]|8[2-9])\\d{6}|(?:(?:[1-356]\\d|4[02-8]|8[2-9])\\d|9(?:0[3-9]|[1-9]\\d))\\d{5}|7(?:0(?:[013-689]\\d|2[0-24-9])\\d{3,4}|[1-79]\\d{6})|(?:[12]\\d|4[147]|5[14579]|6[1578]|7[1-3578])\\d{5}",[7,8,10]],["(?:702[0-24-9]|819[01])\\d{6}|(?:7(?:0[13-9]|[12]\\d)|8(?:0[1-9]|1[0-8])|9(?:0[1-9]|1[1-6]))\\d{7}",[10]],["800\\d{7,11}",[10,11,12,13,14]],0,0,0,["700\\d{7,11}",[10,11,12,13,14]]]],NI:["505","00","(?:1800|[25-8]\\d{3})\\d{4}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[125-8]"]]],0,0,0,0,0,0,[["2\\d{7}"],["(?:5(?:5[0-7]|[78]\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\d)\\d)\\d{5}"],["1800\\d{4}"]]],NL:["31","00","(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}",[5,6,7,8,9,10,11],[["(\\d{3})(\\d{4,7})","$1 $2",["[89]0"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["66"],"0$1"],["(\\d)(\\d{8})","$1 $2",["6"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-578]|91"],"0$1"],["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3",["9"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:[035]\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\d\\d)\\d{6}",[9]],["(?:6[1-58]|970\\d)\\d{7}",[9,11]],["800\\d{4,7}",[7,8,9,10]],["90[069]\\d{4,7}",[7,8,9,10]],0,0,["140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\d{6})\\d",[5,6,9]],["66\\d{7}",[9]],["(?:85|91)\\d{7}",[9]]]],NO:["47","00","(?:0|[2-9]\\d{3})\\d{4}",[5,8],[["(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2-79]"]]],0,0,0,0,0,"[02-689]|7[0-8]",[["(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}",[8]],["(?:4[015-8]|9\\d)\\d{6}",[8]],["80[01]\\d{5}",[8]],["82[09]\\d{5}",[8]],["880\\d{5}",[8]],0,["(?:0[2-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}"],0,["85[0-5]\\d{5}",[8]],["810(?:0[0-6]|[2-8]\\d)\\d{3}",[8]]]],NP:["977","00","(?:1\\d|9)\\d{9}|[1-9]\\d{7}",[8,10,11],[["(\\d)(\\d{7})","$1-$2",["1[2-6]"],"0$1"],["(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"],"0$1"],["(\\d{3})(\\d{7})","$1-$2",["9"]]],"0",0,0,0,0,0,[["(?:1[0-6]\\d|99[02-6])\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\d{5}",[8]],["9(?:00|6[0-3]|7[024-6]|8[0-24-68])\\d{7}",[10]],["1(?:66001|800\\d\\d)\\d{5}",[11]]]],NR:["674","00","(?:444|(?:55|8\\d)\\d|666)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[4-68]"]]],0,0,0,0,0,0,[["444\\d{4}"],["(?:55[3-9]|666|8\\d\\d)\\d{4}"]]],NU:["683","00","(?:[4-7]|888\\d)\\d{3}",[4,7],[["(\\d{3})(\\d{4})","$1 $2",["8"]]],0,0,0,0,0,0,[["[47]\\d{3}",[4]],["(?:[56]|888[1-9])\\d{3}"]]],NZ:["64","0(?:0|161)","[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,8})","$1 $2",["8[1-79]"],"0$1"],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["50[036-8]|8|90","50(?:[0367]|88)|8|90"],"0$1"],["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["24|[346]|7[2-57-9]|9[2-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:10|74)|[589]"],"0$1"],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["1|2[028]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,5})","$1 $2 $3",["2(?:[169]|7[0-35-9])|7"],"0$1"]],"0",0,0,0,0,0,[["24099\\d{3}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\d{6}",[8]],["2(?:[0-27-9]\\d|6)\\d{6,7}|2(?:1\\d|75)\\d{5}",[8,9,10]],["508\\d{6,7}|80\\d{6,8}",[8,9,10]],["(?:1[13-57-9]\\d{5}|50(?:0[08]|30|66|77|88))\\d{3}|90\\d{6,8}",[7,8,9,10]],["70\\d{7}",[9]],0,["8(?:1[16-9]|22|3\\d|4[045]|5[459]|6[235-9]|7[0-3579]|90)\\d{2,7}"]],"00"],OM:["968","00","(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}",[7,8,9],[["(\\d{3})(\\d{4,6})","$1 $2",["[58]"]],["(\\d{2})(\\d{6})","$1 $2",["2"]],["(\\d{4})(\\d{4})","$1 $2",["[179]"]]],0,0,0,0,0,0,[["2[1-6]\\d{6}",[8]],["(?:1505|90[1-9]\\d)\\d{4}|(?:7[126-9]|9[1-9])\\d{6}",[8]],["8007\\d{4,5}|(?:500|800[05])\\d{4}"],["900\\d{5}",[8]]]],PA:["507","00","(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}",[7,8,10,11],[["(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"]],["(\\d{4})(\\d{4})","$1-$2",["[68]"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],0,0,0,0,0,0,[["(?:1(?:0\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[089]\\d|1[0-7]|2[0-5]|33|4[0-79]|5[0-35]|6[068]|7[0-8])|4(?:00|3[0-579]|4\\d|7[0-57-9])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[5-9]|90)|8(?:09|2[89]|3\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\d))\\d{4}",[7]],["(?:1[16]1|21[89]|6\\d{3}|8(?:1[01]|7[23]))\\d{4}",[7,8]],["800\\d{4,5}|(?:00800|800\\d)\\d{6}"],["(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\d{4}",[7]]]],PE:["51","00|19(?:1[124]|77|90)00","(?:[14-8]|9\\d)\\d{7}",[8,9],[["(\\d{3})(\\d{5})","$1 $2",["80"],"(0$1)"],["(\\d)(\\d{7})","$1 $2",["1"],"(0$1)"],["(\\d{2})(\\d{6})","$1 $2",["[4-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,[["(?:(?:4[34]|5[14])[0-8]\\d|7(?:173|3[0-8]\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[569]|[56]0)))\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\d{6}",[8]],["9\\d{8}",[9]],["800\\d{5}",[8]],["805\\d{5}",[8]],["80[24]\\d{5}",[8]],0,0,0,0,["801\\d{5}",[8]]],"00"," Anexo "],PF:["689","00","4\\d{5}(?:\\d{2})?|8\\d{7,8}",[6,8,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["44"]],["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4|8[7-9]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]],0,0,0,0,0,0,[["4(?:0[4-689]|9[4-68])\\d{5}",[8]],["8[7-9]\\d{6}",[8]],["80[0-5]\\d{6}",[9]],0,0,0,["44\\d{4}",[6]],0,["499\\d{5}",[8]]]],PG:["675","00|140[1-3]","(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["18|[2-69]|85"]],["(\\d{4})(\\d{4})","$1 $2",["[78]"]]],0,0,0,0,0,0,[["(?:(?:3[0-2]|4[257]|5[34]|9[78])\\d|64[1-9]|85[02-46-9])\\d{4}",[7]],["(?:7\\d|8[1-38])\\d{6}",[8]],["180\\d{4}",[7]],0,0,0,0,["27[01]\\d{4}",[7]],["2(?:0[0-57]|7[568])\\d{4}",[7]]],"00"],PH:["63","00","(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}",[6,8,9,10,11,12,13],[["(\\d)(\\d{5})","$1 $2",["2"],"(0$1)"],["(\\d{4})(\\d{4,6})","$1 $2",["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2","3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"],"(0$1)"],["(\\d{5})(\\d{4})","$1 $2",["346|4(?:27|9[35])|883","3469|4(?:279|9(?:30|56))|8834"],"(0$1)"],["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["2"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|8[2-8]"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]],["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]]],"0",0,0,0,0,0,[["(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\d{3}|88(?:22\\d\\d|42))\\d{4}|(?:2|8[2-8]\\d\\d)\\d{5}",[6,8,9,10]],["(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\d|4[2-9]|8[135-9]|9[1-9]))\\d{7}",[10]],["1800\\d{7,9}",[11,12,13]]]],PK:["92","00","122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,7})","$1 $2 $3",["[89]0"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["1"]],["(\\d{3})(\\d{6,7})","$1 $2",["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])","9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"],"(0$1)"],["(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"],"(0$1)"],["(\\d{5})(\\d{5})","$1 $2",["58"],"(0$1)"],["(\\d{3})(\\d{7})","$1 $2",["3"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"],"(0$1)"],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[24-9]"],"(0$1)"]],"0",0,0,0,0,0,[["(?:(?:21|42)[2-9]|58[126])\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6,7}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}",[9,10]],["3(?:[0-247]\\d|3[0-79]|55|64)\\d{7}",[10]],["800\\d{5}(?:\\d{3})?",[8,11]],["900\\d{5}",[8]],["122\\d{6}",[9]],0,["(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}",[11,12]]]],PL:["48","00","(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}",[6,7,8,9,10],[["(\\d{5})","$1",["19"]],["(\\d{3})(\\d{3})","$1 $2",["11|20|64"]],["(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1","(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]],["(\\d{3})(\\d{2})(\\d{2,3})","$1 $2 $3",["64"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[2-8]|[2-7]|8[1-79]|9[145]"]],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["8"]]],0,0,0,0,0,0,[["47\\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:[02-9]\\d{6}|1(?:[0-8]\\d{5}|9\\d{3}(?:\\d{2})?))",[7,9]],["21(?:1[013-5]|2\\d)\\d{5}|(?:45|5[0137]|6[069]|7[2389]|88)\\d{7}",[9]],["800\\d{6,7}",[9,10]],["70[01346-8]\\d{6}",[9]],0,0,["804\\d{6}",[9]],["64\\d{4,7}",[6,7,8,9]],["39\\d{7}",[9]],["801\\d{6}",[9]]]],PM:["508","00","[45]\\d{5}|(?:708|80\\d)\\d{6}",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[45]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"],"0$1"]],"0",0,0,0,0,0,[["(?:4[1-35-7]|5[01])\\d{4}",[6]],["(?:4[02-4]|5[056]|708[45][0-5])\\d{4}"],["80[0-5]\\d{6}",[9]]]],PR:["1","011","(?:[589]\\d\\d|787)\\d{7}",[10],0,"1",0,0,0,0,"787|939",[["(?:787|939)[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],PS:["970","00","[2489]2\\d{6}|(?:1\\d|5)\\d{8}",[8,9,10],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["[2489]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["5"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0",0,0,0,0,0,[["(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\d{5}",[8]],["5[69]\\d{7}",[9]],["1800\\d{6}",[10]],0,0,0,0,0,0,["1700\\d{6}",[10]]]],PT:["351","00","1693\\d{5}|(?:[26-9]\\d|30)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["2[12]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["16|[236-9]"]]],0,0,0,0,0,0,[["2(?:[12]\\d|3[1-689]|4[1-59]|[57][1-9]|6[1-35689]|8[1-69]|9[1256])\\d{6}"],["6(?:[06]92(?:30|9\\d)|[35]92(?:3[034]|9\\d))\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\d\\d|480))\\d{5}"],["80[02]\\d{6}"],["(?:6(?:0[178]|4[68])\\d|76(?:0[1-57]|1[2-47]|2[237]))\\d{5}"],["884[0-4689]\\d{5}"],0,["70(?:38[01]|596|(?:7\\d|8[17])\\d)\\d{4}"],["6(?:222\\d|8988)\\d{4}"],["30\\d{7}"],["80(?:8\\d|9[1579])\\d{5}"]]],PW:["680","01[12]","(?:[24-8]\\d\\d|345|900)\\d{4}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[2-9]"]]],0,0,0,0,0,0,[["(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\d{4}"],["(?:(?:46|83)[0-5]|6[2-4689]0)\\d{4}|(?:45|77|88)\\d{5}"]]],PY:["595","00","59\\d{4,6}|9\\d{5,10}|(?:[2-46-8]\\d|5[0-8])\\d{4,7}",[6,7,8,9,10,11],[["(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"],"0$1"],["(\\d{2})(\\d{5})","$1 $2",["[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]"],"(0$1)"],["(\\d{3})(\\d{4,5})","$1 $2",["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["87"]],["(\\d{3})(\\d{6})","$1 $2",["9(?:[5-79]|8[1-7])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"],"0$1"],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["9"]]],"0",0,0,0,0,0,[["(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\\d{5,7}|(?:2(?:2[4-68]|[4-68]\\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\d|6[1-578]|75|8[0-8])|858)\\d{5,6}",[7,8,9]],["9(?:51|6[129]|7[1-6]|8[1-7]|9[1-5])\\d{6}",[9]],["9800\\d{5,7}",[9,10,11]],0,0,0,["[2-9]0\\d{4,7}",[6,7,8,9]],0,["8700[0-4]\\d{4}",[9]]]],QA:["974","00","800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}",[7,8,9,11],[["(\\d{3})(\\d{4})","$1 $2",["2[16]|8"]],["(\\d{4})(\\d{4})","$1 $2",["[3-7]"]]],0,0,0,0,0,0,[["4(?:1111|2022)\\d{3}|4(?:[04]\\d\\d|14[0-6]|999)\\d{4}",[8]],["[35-7]\\d{7}",[8]],["800\\d{4}|(?:0080[01]|800)\\d{6}",[7,9,11]],0,0,0,0,["2[16]\\d{5}",[7]]]],RE:["262","00","(?:26|[689]\\d)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2689]"],"0$1"]],"0",0,0,0,0,0,[["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"],["69(?:2\\d\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\d{4}"],["80\\d{7}"],["89[1-37-9]\\d{6}"],0,0,0,0,["9(?:399[0-3]|479[0-5]|76(?:2[27]|3[0-37]))\\d{4}"],["8(?:1[019]|2[0156]|84|90)\\d{6}"]]],RO:["40","00","(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}",[6,9],[["(\\d{3})(\\d{3})","$1 $2",["2[3-6]","2[3-6]\\d9"],"0$1"],["(\\d{2})(\\d{4})","$1 $2",["219|31"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[23]1"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[236-9]"],"0$1"]],"0",0,0,0,0,0,[["[23][13-6]\\d{7}|(?:2(?:19\\d|[3-6]\\d9)|31\\d\\d)\\d\\d"],["7020\\d{5}|(?:6(?:2\\d|40)|7(?:0[013-9]|1[0-3]|[2-7]\\d|8[03-8]|9[0-39]))\\d{6}",[9]],["800\\d{6}",[9]],["90[0136]\\d{6}",[9]],0,0,["(?:37\\d|80[578])\\d{6}",[9]],0,0,["801\\d{6}",[9]]],0," int "],RS:["381","00","38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}",[6,7,8,9,10,11,12],[["(\\d{3})(\\d{3,9})","$1 $2",["(?:2[389]|39)0|[7-9]"],"0$1"],["(\\d{2})(\\d{5,10})","$1 $2",["[1-36]"],"0$1"]],"0",0,0,0,0,0,[["(?:11[1-9]\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\d))\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\d{4,9}",[7,8,9,10,11,12]],["6(?:[0-689]|7\\d)\\d{6,7}",[8,9,10]],["800\\d{3,9}"],["(?:78\\d|90[0169])\\d{3,7}",[6,7,8,9,10]],0,0,["7[06]\\d{4,10}"]]],RU:["7","810","8\\d{13}|[347-9]\\d{9}",[10,14],[["(\\d{4})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-8]|2[1-9])","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))","7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"],"8 ($1)",1],["(\\d{5})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["7(?:1[0-68]|2[1-9])","7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))","7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"8 ($1)",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[349]|8(?:[02-7]|1[1-8])"],"8 ($1)",1],["(\\d{4})(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3 $4",["8"],"8 ($1)"]],"8",0,0,0,0,"3[04-689]|[489]",[["(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\d{7}",[10]],["9\\d{9}",[10]],["8(?:0[04]|108\\d{3})\\d{7}"],["80[39]\\d{7}",[10]],["808\\d{7}",[10]]],"8~10"],RW:["250","00","(?:06|[27]\\d\\d|[89]00)\\d{6}",[8,9],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"],"0$1"]],"0",0,0,0,0,0,[["(?:06|2[23568]\\d)\\d{6}"],["7[237-9]\\d{7}",[9]],["800\\d{6}",[9]],["900\\d{6}",[9]]]],SA:["966","00","92\\d{7}|(?:[15]|8\\d)\\d{8}",[9,10],[["(\\d{4})(\\d{5})","$1 $2",["9"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["5"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["81"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]]],"0",0,0,0,0,0,[["1(?:1\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\d{6}",[9]],["579[01]\\d{5}|5(?:[013-689]\\d|7[0-8])\\d{6}",[9]],["800\\d{7}",[10]],["925\\d{6}",[9]],0,0,["811\\d{7}",[10]],0,0,["920\\d{6}",[9]]]],SB:["677","0[01]","(?:[1-6]|[7-9]\\d\\d)\\d{4}",[5,7],[["(\\d{2})(\\d{5})","$1 $2",["7|8[4-9]|9(?:[1-8]|9[0-8])"]]],0,0,0,0,0,0,[["(?:1[4-79]|[23]\\d|4[0-2]|5[03]|6[0-37])\\d{3}",[5]],["48\\d{3}|(?:(?:7[1-9]|8[4-9])\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\d{4}"],["1[38]\\d{3}",[5]],0,0,0,0,0,["5[12]\\d{3}",[5]]]],SC:["248","010|0[0-2]","800\\d{4}|(?:[249]\\d|64)\\d{5}",[7],[["(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[246]|9[57]"]]],0,0,0,0,0,0,[["4[2-46]\\d{5}"],["2[125-8]\\d{5}"],["800[08]\\d{3}"],0,0,0,0,0,["971\\d{4}|(?:64|95)\\d{5}"]],"00"],SD:["249","00","[19]\\d{8}",[9],[["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[19]"],"0$1"]],"0",0,0,0,0,0,[["1(?:5\\d|8[35-7])\\d{6}"],["(?:1[0-2]|9[0-3569])\\d{7}"]]],SE:["46","00","(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}",[6,7,8,9,10],[["(\\d{2})(\\d{2,3})(\\d{2})","$1-$2 $3",["20"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{4})","$1-$2",["9(?:00|39|44|9)"],"0$1",0,"$1 $2"],["(\\d{2})(\\d{3})(\\d{2})","$1-$2 $3",["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3"],["(\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3"],["(\\d{3})(\\d{2,3})(\\d{3})","$1-$2 $3",["9(?:00|39|44)"],"0$1",0,"$1 $2 $3"],["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"],"0$1",0,"$1 $2 $3 $4"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["10|7"],"0$1",0,"$1 $2 $3 $4"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1-$2 $3 $4",["8"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9"],"0$1",0,"$1 $2 $3 $4"],["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4 $5",["[26]"],"0$1",0,"$1 $2 $3 $4 $5"]],"0",0,0,0,0,0,[["(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\d)\\d|90[1-9])\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\d{5,6}",[7,8,9]],["7[02369]\\d{7}",[9]],["20\\d{4,7}",[6,7,8,9]],["649\\d{6}|99[1-59]\\d{4}(?:\\d{3})?|9(?:00|39|44)[1-8]\\d{3,6}",[7,8,9,10]],["75[1-8]\\d{6}",[9]],0,["10[1-8]\\d{6}",[9]],["74[02-9]\\d{6}",[9]],0,["77[0-7]\\d{6}",[9]]]],SG:["65","0[0-3]\\d","(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}",[8,10,11],[["(\\d{4})(\\d{4})","$1 $2",["[369]|8(?:0[1-9]|[1-9])"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"]],["(\\d{4})(\\d{4})(\\d{3})","$1 $2 $3",["7"]],["(\\d{4})(\\d{3})(\\d{4})","$1 $2 $3",["1"]]],0,0,0,0,0,0,[["662[0-24-9]\\d{4}|6(?:[0-578]\\d|6[013-57-9]|9[0-35-9])\\d{5}",[8]],["8(?:09|95)[0-2]\\d{4}|(?:8(?:0[1-8]|[1-8]\\d|9[0-4])|9[0-8]\\d)\\d{5}",[8]],["(?:18|8)00\\d{7}",[10,11]],["1900\\d{7}",[11]],0,0,["7000\\d{7}",[11]],0,["(?:3[12]\\d|666)\\d{5}",[8]]]],SH:["290","00","(?:[256]\\d|8)\\d{3}",[4,5],0,0,0,0,0,0,"[256]",[["2(?:[0-57-9]\\d|6[4-9])\\d\\d"],["[56]\\d{4}",[5]],0,0,0,0,0,0,["262\\d\\d",[5]]]],SI:["386","00|10(?:22|66|88|99)","[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}",[5,6,7,8],[["(\\d{2})(\\d{3,6})","$1 $2",["8[09]|9"],"0$1"],["(\\d{3})(\\d{5})","$1 $2",["59|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[0139]|51|6"],"0$1"],["(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[1-57]"],"(0$1)"]],"0",0,0,0,0,0,[["(?:[1-357][2-8]|4[24-8])\\d{6}",[8]],["65(?:[178]\\d|5[56]|6[01])\\d{4}|(?:[37][01]|4[0139]|51|6[489])\\d{6}",[8]],["80\\d{4,6}",[6,7,8]],["89[1-3]\\d{2,5}|90\\d{4,6}"],0,0,0,0,["(?:59\\d\\d|8(?:1(?:[67]\\d|8[0-589])|2(?:0\\d|2[0-37-9]|8[0-2489])|3[389]\\d))\\d{4}",[8]]],"00"],SJ:["47","00","0\\d{4}|(?:[489]\\d|79)\\d{6}",[5,8],0,0,0,0,0,0,"79",[["79\\d{6}",[8]],["(?:4[015-8]|9\\d)\\d{6}",[8]],["80[01]\\d{5}",[8]],["82[09]\\d{5}",[8]],["880\\d{5}",[8]],0,["(?:0[2-9]|81(?:0(?:0[7-9]|1\\d)|5\\d\\d))\\d{3}"],0,["85[0-5]\\d{5}",[8]],["810(?:0[0-6]|[2-8]\\d)\\d{3}",[8]]]],SK:["421","00","[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}",[6,7,9],[["(\\d)(\\d{2})(\\d{3,4})","$1 $2 $3",["21"],"0$1"],["(\\d{2})(\\d{2})(\\d{2,3})","$1 $2 $3",["[3-5][1-8]1","[3-5][1-8]1[67]"],"0$1"],["(\\d)(\\d{3})(\\d{3})(\\d{2})","$1/$2 $3 $4",["2"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1/$2 $3 $4",["[3-5]"],"0$1"]],"0",0,0,0,0,0,[["(?:2(?:16|[2-9]\\d{3})|(?:(?:[3-5][1-8]\\d|819)\\d|601[1-5])\\d)\\d{4}|(?:2|[3-5][1-8])1[67]\\d{3}|[3-5][1-8]16\\d\\d"],["909[1-9]\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\d)\\d{6}",[9]],["800\\d{6}",[9]],["9(?:00|[78]\\d)\\d{6}",[9]],0,0,["96\\d{7}",[9]],["9090\\d{3}",[7]],["6(?:02|5[0-4]|9[0-6])\\d{6}",[9]],["8[5-9]\\d{7}",[9]]]],SL:["232","00","(?:[237-9]\\d|66)\\d{6}",[8],[["(\\d{2})(\\d{6})","$1 $2",["[236-9]"],"(0$1)"]],"0",0,0,0,0,0,[["22[2-4][2-9]\\d{4}"],["(?:25|3[0-5]|66|7[2-9]|8[08]|9[09])\\d{6}"]]],SM:["378","00","(?:0549|[5-7]\\d)\\d{6}",[8,10],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"]],["(\\d{4})(\\d{6})","$1 $2",["0"]]],0,0,"([89]\\d{5})$","0549$1",0,0,[["0549(?:8[0157-9]|9\\d)\\d{4}",[10]],["6[16]\\d{6}",[8]],0,["7[178]\\d{6}",[8]],0,0,0,0,["5[158]\\d{6}",[8]]]],SN:["221","00","(?:[378]\\d|93)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[379]"]]],0,0,0,0,0,0,[["3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\d{5}"],["7(?:(?:[06-8]\\d|21|90)\\d|5(?:01|[19]0|25|[38]3|[4-7]\\d))\\d{5}"],["800\\d{6}"],["88[4689]\\d{6}"],0,0,0,0,["(?:3(?:392|9[01]\\d)\\d|93(?:3[13]0|929))\\d{4}"],["81[02468]\\d{6}"]]],SO:["252","00","[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}",[6,7,8,9],[["(\\d{2})(\\d{4})","$1 $2",["8[125]"]],["(\\d{6})","$1",["[134]"]],["(\\d)(\\d{6})","$1 $2",["[15]|2[0-79]|3[0-46-8]|4[0-7]"]],["(\\d)(\\d{7})","$1 $2",["(?:2|90)4|[67]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[348]|64|79|90"]],["(\\d{2})(\\d{5,7})","$1 $2",["1|28|6[0-35-9]|77|9[2-9]"]]],"0",0,0,0,0,0,[["(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\d{5}|(?:[134]\\d|8[125])\\d{4}",[6,7]],["(?:(?:15|(?:3[59]|4[89]|6\\d|7[79]|8[08])\\d|9(?:0\\d|[2-9]))\\d|2(?:4\\d|8))\\d{5}|(?:[67]\\d\\d|904)\\d{5}",[7,8,9]]]],SR:["597","00","(?:[2-5]|68|[78]\\d)\\d{5}",[6,7],[["(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"]],["(\\d{3})(\\d{3})","$1-$2",["[2-5]"]],["(\\d{3})(\\d{4})","$1-$2",["[6-8]"]]],0,0,0,0,0,0,[["(?:2[1-3]|3[0-7]|(?:4|68)\\d|5[2-58])\\d{4}"],["(?:7[124-7]|8[124-9])\\d{5}",[7]],0,0,0,0,0,0,["56\\d{4}",[6]]]],SS:["211","00","[19]\\d{8}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[19]"],"0$1"]],"0",0,0,0,0,0,[["1[89]\\d{7}"],["(?:12|9[1257-9])\\d{7}"]]],ST:["239","00","(?:22|9\\d)\\d{5}",[7],[["(\\d{3})(\\d{4})","$1 $2",["[29]"]]],0,0,0,0,0,0,[["22\\d{5}"],["900[5-9]\\d{3}|9(?:0[1-9]|[89]\\d)\\d{4}"]]],SV:["503","00","[267]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?",[7,8,11],[["(\\d{3})(\\d{4})","$1 $2",["[89]"]],["(\\d{4})(\\d{4})","$1 $2",["[267]"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["[89]"]]],0,0,0,0,0,0,[["2(?:79(?:0[0347-9]|[1-9]\\d)|89(?:0[024589]|[1-9]\\d))\\d{3}|2(?:[1-69]\\d|[78][0-8])\\d{5}",[8]],["[67]\\d{7}",[8]],["800\\d{8}|80[01]\\d{4}",[7,11]],["900\\d{4}(?:\\d{4})?",[7,11]]]],SX:["1","011","7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"(5\\d{6})$|1","721$1",0,"721",[["7215(?:4[2-8]|8[239]|9[056])\\d{4}"],["7215(?:1[02]|2\\d|5[034679]|8[014-8])\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],SY:["963","00","[1-39]\\d{8}|[1-5]\\d{7}",[8,9],[["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1",1]],"0",0,0,0,0,0,[["21\\d{6,7}|(?:1(?:[14]\\d|[2356])|2[235]|3(?:[13]\\d|4)|4[134]|5[1-3])\\d{6}"],["9[1-689]\\d{7}",[9]]]],SZ:["268","00","0800\\d{4}|(?:[237]\\d|900)\\d{6}",[8,9],[["(\\d{4})(\\d{4})","$1 $2",["[0237]"]],["(\\d{5})(\\d{4})","$1 $2",["9"]]],0,0,0,0,0,0,[["[23][2-5]\\d{6}",[8]],["7[6-9]\\d{6}",[8]],["0800\\d{4}",[8]],["900\\d{6}",[9]],0,0,0,0,["70\\d{6}",[8]]]],TA:["290","00","8\\d{3}",[4],0,0,0,0,0,0,"8",[["8\\d{3}"]]],TC:["1","011","(?:[58]\\d\\d|649|900)\\d{7}",[10],0,"1",0,"([2-479]\\d{6})$|1","649$1",0,"649",[["649(?:266|712|9(?:4\\d|50))\\d{4}"],["649(?:2(?:3[129]|4[1-79])|3\\d\\d|4[34][1-3])\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"],0,0,0,["649(?:71[01]|966)\\d{4}"]]],TD:["235","00|16","(?:22|[69]\\d|77)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[2679]"]]],0,0,0,0,0,0,[["22(?:[37-9]0|5[0-5]|6[89])\\d{4}"],["(?:6[0235689]|77|9\\d)\\d{6}"]],"00"],TG:["228","00","[279]\\d{7}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[279]"]]],0,0,0,0,0,0,[["2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\d{5}"],["(?:7[019]|9[0-36-9])\\d{6}"]]],TH:["66","00[1-9]","(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}",[8,9,10,13],[["(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13-9]"],"0$1"],["(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1"]]],"0",0,0,0,0,0,[["(?:1[0689]|2\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\d{6}",[8]],["67(?:1[0-8]|2[4-7])\\d{5}|(?:14|6[1-6]|[89]\\d)\\d{7}",[9]],["(?:001800\\d|1800)\\d{6}",[10,13]],["1900\\d{6}",[10]],0,0,0,0,["6[08]\\d{7}",[9]]]],TJ:["992","810","[0-57-9]\\d{8}",[9],[["(\\d{6})(\\d)(\\d{2})","$1 $2 $3",["331","3317"]],["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["44[02-479]|[34]7"]],["(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3[1-5]"]],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[0-57-9]"]]],0,0,0,0,0,0,[["(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}"],["(?:4(?:1[18]|4[02-479])|81[1-9])\\d{6}|(?:0[0-57-9]|1[017]|2[02]|[34]0|5[05]|7[0178]|8[078]|9\\d)\\d{7}"]],"8~10"],TK:["690","00","[2-47]\\d{3,6}",[4,5,6,7],0,0,0,0,0,0,0,[["(?:2[2-4]|[34]\\d)\\d{2,5}"],["7[2-4]\\d{2,5}"]]],TL:["670","00","7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}",[7,8],[["(\\d{3})(\\d{4})","$1 $2",["[2-489]|70"]],["(\\d{4})(\\d{4})","$1 $2",["7"]]],0,0,0,0,0,0,[["(?:2[1-5]|3[1-9]|4[1-4])\\d{5}",[7]],["7[2-8]\\d{6}",[8]],["80\\d{5}",[7]],["90\\d{5}",[7]],["70\\d{5}",[7]]]],TM:["993","810","(?:[1-6]\\d|71)\\d{6}",[8],[["(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2-$3-$4",["12"],"(8 $1)"],["(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2-$3-$4",["[1-5]"],"(8 $1)"],["(\\d{2})(\\d{6})","$1 $2",["[67]"],"8 $1"]],"8",0,0,0,0,0,[["(?:1(?:2\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\d{5}"],["(?:6\\d|71)\\d{6}"]],"8~10"],TN:["216","00","[2-57-9]\\d{7}",[8],[["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-57-9]"]]],0,0,0,0,0,0,[["81200\\d{3}|(?:3[0-2]|7\\d)\\d{6}"],["3(?:001|[12]40)\\d{4}|(?:(?:[259]\\d|4[0-8])\\d|3(?:1[1-35]|6[0-4]|91))\\d{5}"],["8010\\d{4}"],["88\\d{6}"],0,0,0,0,0,["8[12]10\\d{4}"]]],TO:["676","00","(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}",[5,7],[["(\\d{2})(\\d{3})","$1-$2",["[2-4]|50|6[09]|7[0-24-69]|8[05]"]],["(\\d{4})(\\d{3})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[5-9]"]]],0,0,0,0,0,0,[["(?:2\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\d{3}",[5]],["(?:5(?:4[0-5]|5[4-6])|6(?:[09]\\d|3[02]|8[15-9])|(?:7\\d|8[46-9])\\d|999)\\d{4}",[7]],["0800\\d{3}",[7]],0,0,0,0,0,["55[0-37-9]\\d{4}",[7]]]],TR:["90","00","4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}",[7,10,12,13],[["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["512|8[01589]|90"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["5(?:[0-59]|61)","5(?:[0-59]|61[06])","5(?:[0-59]|61[06]1)"],"0$1",1],["(\\d{3})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[24][1-8]|3[1-9]"],"(0$1)",1],["(\\d{3})(\\d{3})(\\d{6,7})","$1 $2 $3",["80"],"0$1",1]],"0",0,0,0,0,0,[["(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}",[10]],["561(?:011|61\\d)\\d{4}|5(?:0[15-7]|1[06]|24|[34]\\d|5[1-59]|9[46])\\d{7}",[10]],["8(?:00\\d{7}(?:\\d{2,3})?|11\\d{7})",[10,12,13]],["(?:8[89]8|900)\\d{7}",[10]],["592(?:21[12]|461)\\d{4}",[10]],0,["444\\d{4}",[7]],["512\\d{7}",[10]],["850\\d{7}",[10]]]],TT:["1","011","(?:[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-46-8]\\d{6})$|1","868$1",0,"868",[["868(?:2(?:01|1[5-9]|[23]\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}"],["868(?:(?:2[5-9]|3\\d)\\d|4(?:3[0-6]|[6-9]\\d)|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],TV:["688","00","(?:2|7\\d\\d|90)\\d{4}",[5,6,7],[["(\\d{2})(\\d{3})","$1 $2",["2"]],["(\\d{2})(\\d{4})","$1 $2",["90"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]],0,0,0,0,0,0,[["2[02-9]\\d{3}",[5]],["(?:7[01]\\d|90)\\d{4}",[6,7]]]],TW:["886","0(?:0[25-79]|19)","[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}",[7,8,9,10,11],[["(\\d{2})(\\d)(\\d{4})","$1 $2 $3",["202"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[258]0"],"0$1"],["(\\d)(\\d{3,4})(\\d{4})","$1 $2 $3",["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]","[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[49]"],"0$1"],["(\\d{2})(\\d{4})(\\d{4,5})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,[["(?:2[2-8]\\d|370|55[01]|7[1-9])\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\d)|1[023]\\d)\\d{4,5}|(?:[239]\\d\\d|4(?:0[56]|12|49))\\d{5})|6(?:[01]\\d{7}|4(?:0[56]|12|24|4[09])\\d{4,5})|8(?:(?:2(?:3\\d|4[0-269]|[578]0|66)|36[24-9]|90\\d\\d)\\d{4}|4(?:0[56]|12|24|4[09])\\d{4,5})|(?:2(?:2(?:0\\d\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\d|1[0-4])|(?:4\\d|5[0-49]|6[0-29]|7[0-5])\\d)\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\d\\d|4(?:2(?:[089]\\d|7[1-9])|(?:3[0-4]|[78]\\d|9[01])\\d))\\d)\\d{3}",[8,9]],["(?:40001[0-2]|9[0-8]\\d{4})\\d{3}",[9]],["80[0-79]\\d{6}|800\\d{5}",[8,9]],["20(?:[013-9]\\d\\d|2)\\d{4}",[7,9]],["99\\d{7}",[9]],0,["50[0-46-9]\\d{6}",[9]],0,["7010(?:[0-2679]\\d|3[0-7]|8[0-5])\\d{5}|70\\d{8}",[10,11]]],0,"#"],TZ:["255","00[056]","(?:[25-8]\\d|41|90)\\d{7}",[9],[["(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[24]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["5"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[67]"],"0$1"]],"0",0,0,0,0,0,[["2[2-8]\\d{7}"],["(?:6[125-9]|7[13-9])\\d{7}"],["80[08]\\d{6}"],["90\\d{7}"],0,0,0,0,["41\\d{7}"],["8(?:40|6[01])\\d{6}"]]],UA:["380","00","[89]\\d{9}|[3-9]\\d{8}",[9,10],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]","6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"],"0$1"],["(\\d{4})(\\d{5})","$1 $2",["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])","3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[3-7]|89|9[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"],"0$1"]],"0",0,0,0,0,0,[["(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}",[9]],["(?:39|50|6[36-8]|7[1-357]|9[1-9])\\d{7}",[9]],["800[1-8]\\d{5,6}"],["900[239]\\d{5,6}"],0,0,0,0,["89[1-579]\\d{6}",[9]]],"0~0"],UG:["256","00[057]","800\\d{6}|(?:[29]0|[347]\\d)\\d{7}",[9],[["(\\d{4})(\\d{5})","$1 $2",["202","2024"],"0$1"],["(\\d{3})(\\d{6})","$1 $2",["[27-9]|4(?:6[45]|[7-9])"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[34]"],"0$1"]],"0",0,0,0,0,0,[["20(?:(?:240|30[67])\\d|6(?:00[0-2]|30[0-4]))\\d{3}|(?:20(?:[017]\\d|2[5-9]|3[1-4]|5[0-4]|6[15-9])|[34]\\d{3})\\d{5}"],["72(?:[48]0|6[01])\\d{5}|7(?:[015-8]\\d|20|36|4[0-5]|9[89])\\d{6}"],["800[1-3]\\d{5}"],["90[1-3]\\d{6}"]]],US:["1","011","[2-9]\\d{9}|3\\d{6}",[10],[["(\\d{3})(\\d{4})","$1-$2",["310"],0,1],["(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",["[2-9]"],0,1,"$1-$2-$3"]],"1",0,0,0,0,0,[["(?:5056(?:[0-35-9]\\d|4[468])|7302[0-4]\\d)\\d{4}|(?:472[24]|505[2-57-9]|7306|983[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\d{6}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],UY:["598","0(?:0|1[3-9]\\d)","0004\\d{2,9}|[1249]\\d{7}|(?:[49]\\d|80)\\d{5}",[6,7,8,9,10,11,12,13],[["(\\d{3})(\\d{3,4})","$1 $2",["0"]],["(\\d{3})(\\d{4})","$1 $2",["[49]0|8"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"],"0$1"],["(\\d{4})(\\d{4})","$1 $2",["[124]"]],["(\\d{3})(\\d{3})(\\d{2,4})","$1 $2 $3",["0"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})","$1 $2 $3 $4",["0"]]],"0",0,0,0,0,0,[["(?:1(?:770|9(?:20|87))|(?:2\\d|4[2-7])\\d\\d)\\d{4}",[8]],["9[1-9]\\d{6}",[8]],["0004\\d{2,9}|(?:405|80[05])\\d{4}"],["90[0-8]\\d{4}",[7]]],"00"," int. "],UZ:["998","810","(?:20|33|[5-79]\\d|88)\\d{7}",[9],[["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-9]"],"8 $1"]],"8",0,0,0,0,0,[["(?:55\\d\\d|6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d\\d|7(?:[23]\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|(?:1[12]|[68]\\d)\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|9(?:22|5[1-9])))\\d{5}"],["(?:(?:[25]0|33|88|9[0-57-9])\\d{3}|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:(?:11|7\\d)\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\d)\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(?:2(?:1[1267]|3[01]|5\\d|7[0-4])|(?:5[67]|7\\d)\\d|6(?:2[0-26]|8\\d)))|7(?:[07]\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07]))))\\d{4}"]],"8~10"],VA:["39","00","0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}",[6,7,8,9,10,11],0,0,0,0,0,0,"06698",[["06698\\d{1,6}"],["3[1-9]\\d{8}|3[2-9]\\d{7}",[9,10]],["80(?:0\\d{3}|3)\\d{3}",[6,9]],["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}",[6,8,9,10]],["1(?:78\\d|99)\\d{6}",[9,10]],0,0,0,["55\\d{8}",[10]],["84(?:[08]\\d{3}|[17])\\d{3}",[6,9]]]],VC:["1","011","(?:[58]\\d\\d|784|900)\\d{7}",[10],0,"1",0,"([2-7]\\d{6})$|1","784$1",0,"784",[["784(?:266|3(?:6[6-9]|7\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\d{4}"],["784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"],0,0,0,["78451[0-2]\\d{4}"]]],VE:["58","00","[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}",[10],[["(\\d{3})(\\d{7})","$1-$2",["[24-689]"],"0$1"]],"0",0,0,0,0,0,[["(?:2(?:12|3[457-9]|[467]\\d|[58][1-9]|9[1-6])|[4-6]00)\\d{7}"],["4(?:1[24-8]|2[46])\\d{7}"],["800\\d{7}"],["90[01]\\d{7}"],0,0,["501\\d{7}"]]],VG:["1","011","(?:284|[58]\\d\\d|900)\\d{7}",[10],0,"1",0,"([2-578]\\d{6})$|1","284$1",0,"284",[["284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\d{4}"],["284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|9[69])|5(?:4[0-7]|68|9[69]))\\d{4}"],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],VI:["1","011","[58]\\d{9}|(?:34|90)0\\d{7}",[10],0,"1",0,"([2-9]\\d{6})$|1","340$1",0,"340",[["340(?:2(?:0[0-368]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\d)|884|998)\\d{4}"],[""],["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"],["900[2-9]\\d{6}"],["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\d{6}"]]],VN:["84","00","[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}",[7,8,9,10],[["(\\d{2})(\\d{5})","$1 $2",["80"],"0$1",1],["(\\d{4})(\\d{4,6})","$1 $2",["1"],0,1],["(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["6"],"0$1",1],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[357-9]"],"0$1",1],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2[48]"],"0$1",1],["(\\d{3})(\\d{4})(\\d{3})","$1 $2 $3",["2"],"0$1",1]],"0",0,0,0,0,0,[["2(?:0[3-9]|1[0-689]|2[0-25-9]|[38][2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|9[0-4679])\\d{7}",[10]],["(?:5(?:2[238]|59)|89[6-9]|99[013-9])\\d{6}|(?:3\\d|5[1689]|7[06-9]|8[1-8]|9[0-8])\\d{7}",[9]],["1800\\d{4,6}|12(?:0[13]|28)\\d{4}",[8,9,10]],["1900\\d{4,6}",[8,9,10]],0,0,["(?:[17]99|80\\d)\\d{4}|69\\d{5,6}",[7,8]],0,["672\\d{6}",[9]]]],VU:["678","00","[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}",[5,7],[["(\\d{3})(\\d{4})","$1 $2",["[57-9]"]]],0,0,0,0,0,0,[["(?:38[0-8]|48[4-9])\\d\\d|(?:2[02-9]|3[4-7]|88)\\d{3}",[5]],["(?:[58]\\d|7[013-7])\\d{5}",[7]],["81[18]\\d\\d",[5]],0,0,0,["(?:3[03]|900\\d)\\d{3}"],0,["9(?:0[1-9]|1[01])\\d{4}",[7]]]],WF:["681","00","(?:40|72)\\d{4}|8\\d{5}(?:\\d{3})?",[6,9],[["(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[478]"]],["(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]]],0,0,0,0,0,0,[["72\\d{4}",[6]],["(?:72|8[23])\\d{4}",[6]],["80[0-5]\\d{6}",[9]]]],WS:["685","0","(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}",[5,6,7,10],[["(\\d{5})","$1",["[2-5]|6[1-9]"]],["(\\d{3})(\\d{3,7})","$1 $2",["[68]"]],["(\\d{2})(\\d{5})","$1 $2",["7"]]],0,0,0,0,0,0,[["6[1-9]\\d{3}|(?:[2-5]|60)\\d{4}",[5,6]],["(?:7[1-35-7]|8(?:[3-7]|9\\d{3}))\\d{5}",[7,10]],["800\\d{3}",[6]]]],XK:["383","00","2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}",[8,9,10,11,12],[["(\\d{3})(\\d{5})","$1 $2",["[89]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[2-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["2|39"],"0$1"],["(\\d{2})(\\d{7,10})","$1 $2",["3"],"0$1"]],"0",0,0,0,0,0,[["38\\d{6,10}|(?:2[89]|39)(?:0\\d{5,6}|[1-9]\\d{5})"],["4[3-9]\\d{6}",[8]],["800\\d{5}",[8]],["900\\d{5}",[8]]]],YE:["967","00","(?:1|7\\d)\\d{7}|[1-7]\\d{6}",[7,8,9],[["(\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-6]|7(?:[24-6]|8[0-7])"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7"],"0$1"]],"0",0,0,0,0,0,[["78[0-7]\\d{4}|17\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\d{5}",[7,8]],["7[01378]\\d{7}",[9]]]],YT:["262","00","(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}",[9],0,"0",0,0,0,0,0,[["269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}"],["639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])\\d{4}"],["80\\d{7}"],0,0,0,0,0,["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]],ZA:["27","00","[1-79]\\d{8}|8\\d{4,9}",[5,6,7,8,9,10],[["(\\d{2})(\\d{3,4})","$1 $2",["8[1-4]"],"0$1"],["(\\d{2})(\\d{3})(\\d{2,3})","$1 $2 $3",["8[1-4]"],"0$1"],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["860"],"0$1"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[1-9]"],"0$1"],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8"],"0$1"]],"0",0,0,0,0,0,[["(?:2(?:0330|4302)|52087)0\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\d|5[1346-8])\\d{7}",[9]],["(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\d{3}|8[1-4]\\d{3,7}|(?:2[27]|47|54)4950\\d{3}|(?:1(?:049[2-4]|9[12]\\d\\d)|(?:6\\d|7[0-46-9])\\d{3}|8(?:5\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\d{3}|(?:12|[2-5]1)492\\d{4}",[5,6,7,8,9]],["80\\d{7}",[9]],["(?:86[2-9]|9[0-2]\\d)\\d{6}",[9]],0,0,["861\\d{6,7}",[9,10]],0,["87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\d)\\d{5}",[9]],["860\\d{6}",[9]]]],ZM:["260","00","800\\d{6}|(?:21|63|[79]\\d)\\d{7}",[9],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[28]"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["[79]"],"0$1"]],"0",0,0,0,0,0,[["21[1-8]\\d{6}"],["(?:7[5-79]|9[5-8])\\d{7}"],["800\\d{6}"],0,0,0,0,0,["63\\d{7}"]]],ZW:["263","00","2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}",[5,6,7,8,9,10],[["(\\d{3})(\\d{3,5})","$1 $2",["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"],"0$1"],["(\\d)(\\d{3})(\\d{2,4})","$1 $2 $3",["[49]"],"0$1"],["(\\d{3})(\\d{4})","$1 $2",["80"],"0$1"],["(\\d{2})(\\d{7})","$1 $2",["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2","2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"],"(0$1)"],["(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"],"0$1"],["(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)","2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"],"0$1"],["(\\d{4})(\\d{6})","$1 $2",["8"],"0$1"],["(\\d{2})(\\d{3,5})","$1 $2",["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"],"0$1"],["(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["29[013-9]|39|54"],"0$1"],["(\\d{4})(\\d{3,5})","$1 $2",["(?:25|54)8","258|5483"],"0$1"]],"0",0,0,0,0,0,[["(?:1(?:(?:3\\d|9)\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\d\\d|[56](?:[14]\\d\\d|20)|7(?:[089]|2[03]|[35]\\d\\d))\\d|4(?:2\\d\\d|8))\\d|1(?:2|[39]\\d{4}))|3(?:(?:123|(?:29\\d|92)\\d)\\d\\d|7(?:[19]|[56]\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\d{3}|83)|5(?:25\\d\\d|[78])|[689]\\d)|6(?:(?:[16-8]21|28|52[013])\\d\\d|[39])|8(?:[1349]28|523)\\d\\d)\\d{3}|(?:4\\d\\d|9[2-9])\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\d|7[1-7])\\d|2(?:[278]\\d|92)|58(?:2\\d|3))|3(?:[26]|9\\d{3})|5(?:4\\d|5)\\d\\d)\\d|6(?:(?:(?:[0-246]|[78]\\d)\\d|37)\\d|5[2-8]))\\d\\d|(?:2(?:[569]\\d|8[2-57-9])|3(?:[013-59]\\d|8[37])|6[89]8)\\d{3}"],["7(?:[1278]\\d|3[1-9])\\d{6}",[9]],["80(?:[01]\\d|20|8[0-8])\\d{3}",[7]],0,0,0,0,0,["86(?:1[12]|22|30|44|55|77|8[368])\\d{6}",[10]]]]},nonGeographic:{800:["800",0,"(?:00|[1-9]\\d)\\d{6}",[8],[["(\\d{4})(\\d{4})","$1 $2",["\\d"]]],0,0,0,0,0,0,[0,0,["(?:00|[1-9]\\d)\\d{6}"]]],808:["808",0,"[1-9]\\d{7}",[8],[["(\\d{4})(\\d{4})","$1 $2",["[1-9]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,["[1-9]\\d{7}"]]],870:["870",0,"7\\d{11}|[35-7]\\d{8}",[9,12],[["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[35-7]"]]],0,0,0,0,0,0,[0,["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"]]],878:["878",0,"10\\d{10}",[12],[["(\\d{2})(\\d{5})(\\d{5})","$1 $2 $3",["1"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["10\\d{10}"]]],881:["881",0,"6\\d{9}|[0-36-9]\\d{8}",[9,10],[["(\\d)(\\d{3})(\\d{5})","$1 $2 $3",["[0-37-9]"]],["(\\d)(\\d{3})(\\d{5,6})","$1 $2 $3",["6"]]],0,0,0,0,0,0,[0,["6\\d{9}|[0-36-9]\\d{8}"]]],882:["882",0,"[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?",[7,8,9,10,11,12],[["(\\d{2})(\\d{5})","$1 $2",["16|342"]],["(\\d{2})(\\d{6})","$1 $2",["49"]],["(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["1[36]|9"]],["(\\d{2})(\\d{4})(\\d{3})","$1 $2 $3",["3[23]"]],["(\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["16"]],["(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["10|23|3(?:[15]|4[57])|4|51"]],["(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["34"]],["(\\d{2})(\\d{4,5})(\\d{5})","$1 $2 $3",["[1-35]"]]],0,0,0,0,0,0,[0,["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|50\\d{3})\\d{7}",[7,8,9,10,12]],0,0,0,0,0,0,["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]],883:["883",0,"(?:[1-4]\\d|51)\\d{6,10}",[8,9,10,11,12],[["(\\d{3})(\\d{3})(\\d{2,8})","$1 $2 $3",["[14]|2[24-689]|3[02-689]|51[24-9]"]],["(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["510"]],["(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["21"]],["(\\d{4})(\\d{4})(\\d{4})","$1 $2 $3",["51[13]"]],["(\\d{3})(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3 $4",["[235]"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]],888:["888",0,"\\d{11}",[11],[["(\\d{3})(\\d{3})(\\d{5})","$1 $2 $3"]],0,0,0,0,0,0,[0,0,0,0,0,0,["\\d{11}"]]],979:["979",0,"[1359]\\d{8}",[9],[["(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[1359]"]]],0,0,0,0,0,0,[0,0,0,["[1359]\\d{8}"]]]}};function D0(d,t){var e=Array.prototype.slice.call(t);return e.push(k0),d.apply(this,e)}function P0(d){"@babel/helpers - typeof";return P0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},P0(d)}function g2(d,t,e){return Object.defineProperty(d,"prototype",{writable:!1}),d}function m2(d,t){if(!(d instanceof t))throw new TypeError("Cannot call a class as a function")}function y2(d,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");d.prototype=Object.create(t&&t.prototype,{constructor:{value:d,writable:!0,configurable:!0}}),Object.defineProperty(d,"prototype",{writable:!1}),t&&e0(d,t)}function b2(d){var t=Md();return function(){var n=t0(d),r;if(t){var a=t0(this).constructor;r=Reflect.construct(n,arguments,a)}else r=n.apply(this,arguments);return v2(this,r)}}function v2(d,t){if(t&&(P0(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Rd(d)}function Rd(d){if(d===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return d}function _0(d){var t=typeof Map=="function"?new Map:void 0;return _0=function(n){if(n===null||!N2(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(n))return t.get(n);t.set(n,r)}function r(){return i0(n,arguments,t0(this).constructor)}return r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),e0(r,n)},_0(d)}function i0(d,t,e){return Md()?i0=Reflect.construct:i0=function(r,a,i){var o=[null];o.push.apply(o,a);var l=Function.bind.apply(r,o),u=new l;return i&&e0(u,i.prototype),u},i0.apply(null,arguments)}function Md(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function N2(d){return Function.toString.call(d).indexOf("[native code]")!==-1}function e0(d,t){return e0=Object.setPrototypeOf||function(n,r){return n.__proto__=r,n},e0(d,t)}function t0(d){return t0=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t0(d)}var V=function(d){y2(e,d);var t=b2(e);function e(n){var r;return m2(this,e),r=t.call(this,n),Object.setPrototypeOf(Rd(r),e.prototype),r.name=r.constructor.name,r}return g2(e)}(_0(Error)),L0=2,C2=17,p2=3,w="0-90-9٠-٩۰-۹",P2="-‐-―−ー-",_2="//",I2="..",S2="  ­​⁠ ",E2="()()[]\\[\\]",F2="~⁓∼~",L="".concat(P2).concat(_2).concat(I2).concat(S2).concat(E2).concat(F2),c0="++";function K0(d,t){d=d.split("-"),t=t.split("-");for(var e=d[0].split("."),n=t[0].split("."),r=0;r<3;r++){var a=Number(e[r]),i=Number(n[r]);if(a>i)return 1;if(i>a)return-1;if(!isNaN(a)&&isNaN(i))return 1;if(isNaN(a)&&!isNaN(i))return-1}return d[1]&&t[1]?d[1]>t[1]?1:d[1]=L0&&H2.test(d)}function K2(d){return j2.test(d)}var Z0=new RegExp("(?:"+Dd()+")$","i");function Y2(d){var t=d.search(Z0);if(t<0)return{};for(var e=d.slice(0,t),n=d.match(Z0),r=1;r=d.length?{done:!0}:{done:!1,value:d[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function X2(d,t){if(d){if(typeof d=="string")return J0(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return J0(d,t)}}function J0(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);e=d.length?{done:!0}:{done:!1,value:d[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function q2(d,t){if(d){if(typeof d=="string")return q0(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return q0(d,t)}}function q0(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);ea?"TOO_SHORT":r[r.length-1]=0?"IS_POSSIBLE":"INVALID_LENGTH"}function e1(d,t,e){if(t===void 0&&(t={}),e=new S(e),t.v2){if(!d.countryCallingCode)throw new Error("Invalid phone number object passed");e.selectNumberingPlan(d.countryCallingCode)}else{if(!d.phone)return!1;if(d.country){if(!e.hasCountry(d.country))throw new Error("Unknown country: ".concat(d.country));e.country(d.country)}else{if(!d.countryCallingCode)throw new Error("Invalid phone number object passed");e.selectNumberingPlan(d.countryCallingCode)}}if(e.possibleLengths())return Gd(d.phone||d.nationalNumber,e);if(d.countryCallingCode&&e.isNonGeographicCallingCode(d.countryCallingCode))return!0;throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.')}function Gd(d,t){switch(y0(d,t)){case"IS_POSSIBLE":return!0;default:return!1}}function H(d,t){return d=d||"",new RegExp("^(?:"+t+")$").test(d)}function t1(d,t){var e=typeof Symbol<"u"&&d[Symbol.iterator]||d["@@iterator"];if(e)return(e=e.call(d)).next.bind(e);if(Array.isArray(d)||(e=n1(d))||t){e&&(d=e);var n=0;return function(){return n>=d.length?{done:!0}:{done:!1,value:d[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function n1(d,t){if(d){if(typeof d=="string")return dd(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return dd(d,t)}}function dd(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);e=0}function Bd(d){return d.replace(new RegExp("[".concat(L,"]+"),"g")," ").trim()}var Ud=/(\$\d)/;function jd(d,t,e){var n=e.useInternationalFormat,r=e.withNationalPrefix;e.carrierCode,e.metadata;var a=d.replace(new RegExp(t.pattern()),n?t.internationalFormat():r&&t.nationalPrefixFormattingRule()?t.format().replace(Ud,t.nationalPrefixFormattingRule()):t.format());return n?Bd(a):a}var u1=/^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;function l1(d,t,e){var n=new S(e);if(n.selectNumberingPlan(d,t),n.defaultIDDPrefix())return n.defaultIDDPrefix();if(u1.test(n.IDDPrefix()))return n.IDDPrefix()}function $1(d){var t=d.number,e=d.ext;if(!t)return"";if(t[0]!=="+")throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');return"tel:".concat(t).concat(e?";ext="+e:"")}function s1(d,t){var e=typeof Symbol<"u"&&d[Symbol.iterator]||d["@@iterator"];if(e)return(e=e.call(d)).next.bind(e);if(Array.isArray(d)||(e=f1(d))||t){e&&(d=e);var n=0;return function(){return n>=d.length?{done:!0}:{done:!1,value:d[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function f1(d,t){if(d){if(typeof d=="string")return ed(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return ed(d,t)}}function ed(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);e0){var a=r.leadingDigitsPatterns()[r.leadingDigitsPatterns().length-1];if(t.search(a)!==0)continue}if(H(t,r.pattern()))return r}}function v0(d,t,e,n){return t?n(d,t,e):d}function m1(d,t,e,n,r){var a=m0(n,r.metadata);if(a===e){var i=l0(d,t,"NATIONAL",r);return e==="1"?e+" "+i:i}var o=l1(n,void 0,r.metadata);if(o)return"".concat(o," ").concat(e," ").concat(l0(d,null,"INTERNATIONAL",r))}function ad(d,t){var e=Object.keys(d);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(d);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(d,r).enumerable})),e.push.apply(e,n)}return e}function id(d){for(var t=1;t0&&i[1]==="0"))return d}}}function S0(d,t){if(d&&t.numberingPlan.nationalPrefixForParsing()){var e=new RegExp("^(?:"+t.numberingPlan.nationalPrefixForParsing()+")"),n=e.exec(d);if(n){var r,a,i=n.length-1,o=i>0&&n[i];if(t.nationalPrefixTransformRule()&&o)r=d.replace(e,t.nationalPrefixTransformRule()),i>1&&(a=n[1]);else{var l=n[0];r=d.slice(l.length),o&&(a=n[1])}var u;if(o){var c=d.indexOf(n[1]),b=d.slice(0,c);b===t.numberingPlan.nationalPrefix()&&(u=t.numberingPlan.nationalPrefix())}else u=n[0];return{nationalNumber:r,nationalPrefix:u,carrierCode:a}}}return{nationalNumber:d}}function E0(d,t){var e=S0(d,t),n=e.carrierCode,r=e.nationalNumber;if(r!==d){if(!_1(d,r,t))return{nationalNumber:d};if(t.possibleLengths()&&!I1(r,t))return{nationalNumber:d}}return{nationalNumber:r,carrierCode:n}}function _1(d,t,e){return!(H(d,e.nationalNumberPattern())&&!H(t,e.nationalNumberPattern()))}function I1(d,t){switch(y0(d,t)){case"TOO_SHORT":case"INVALID_LENGTH":return!1;default:return!0}}function Hd(d,t,e,n){var r=t?m0(t,n):e;if(d.indexOf(r)===0){n=new S(n),n.selectNumberingPlan(t,e);var a=d.slice(r.length),i=E0(a,n),o=i.nationalNumber,l=E0(d,n),u=l.nationalNumber;if(!H(u,n.nationalNumberPattern())&&H(o,n.nationalNumberPattern())||y0(u,n)==="TOO_LONG")return{countryCallingCode:r,number:a}}return{number:d}}function Wd(d,t,e,n){if(!d)return{};var r;if(d[0]!=="+"){var a=Vd(d,t,e,n);if(a&&a!==d)r=!0,d="+"+a;else{if(t||e){var i=Hd(d,t,e,n),o=i.countryCallingCode,l=i.number;if(o)return{countryCallingCodeSource:"FROM_NUMBER_WITHOUT_PLUS_SIGN",countryCallingCode:o,number:l}}return{number:d}}}if(d[1]==="0")return{};n=new S(n);for(var u=2;u-1<=p2&&u<=d.length;){var c=d.slice(1,u);if(n.hasCallingCode(c))return n.selectNumberingPlan(c),{countryCallingCodeSource:r?"FROM_NUMBER_WITH_IDD":"FROM_NUMBER_WITH_PLUS_SIGN",countryCallingCode:c,number:d.slice(u)};u++}return{}}function S1(d,t){var e=typeof Symbol<"u"&&d[Symbol.iterator]||d["@@iterator"];if(e)return(e=e.call(d)).next.bind(e);if(Array.isArray(d)||(e=E1(d))||t){e&&(d=e);var n=0;return function(){return n>=d.length?{done:!0}:{done:!1,value:d[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function E1(d,t){if(d){if(typeof d=="string")return od(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return od(d,t)}}function od(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);e0)return a[0]}function Yd(d,t){var e=t.nationalNumber,n=t.defaultCountry,r=t.metadata,a=r.getCountryCodesForCallingCode(d);if(a)return a.length===1?a[0]:Kd(e,{countries:a,defaultCountry:n,metadata:r.metadata})}var zd="+",F1="[\\-\\.\\(\\)]?",ud="(["+w+"]|"+F1+")",A1="^\\"+zd+ud+"*["+w+"]"+ud+"*$",T1=new RegExp(A1,"g"),F0=w,w1="["+F0+"]+((\\-)*["+F0+"])*",O1="a-zA-Z",x1="["+O1+"]+((\\-)*["+F0+"])*",R1="^("+w1+"\\.)*"+x1+"\\.?$",M1=new RegExp(R1,"g"),ld="tel:",A0=";phone-context=",k1=";isub=";function D1(d){var t=d.indexOf(A0);if(t<0)return null;var e=t+A0.length;if(e>=d.length)return"";var n=d.indexOf(";",e);return n>=0?d.substring(e,n):d.substring(e)}function L1(d){return d===null?!0:d.length===0?!1:T1.test(d)||M1.test(d)}function G1(d,t){var e=t.extractFormattedPhoneNumber,n=D1(d);if(!L1(n))throw new V("NOT_A_NUMBER");var r;if(n===null)r=e(d)||"";else{r="",n.charAt(0)===zd&&(r+=n);var a=d.indexOf(ld),i;a>=0?i=a+ld.length:i=0;var o=d.indexOf(A0);r+=d.substring(i,o)}var l=r.indexOf(k1);if(l>0&&(r=r.substring(0,l)),r!=="")return r}var B1=250,U1=new RegExp("["+c0+w+"]"),j1=new RegExp("[^"+w+"#]+$");function V1(d,t,e){if(t=t||{},e=new S(e),t.defaultCountry&&!e.hasCountry(t.defaultCountry))throw t.v2?new V("INVALID_COUNTRY"):new Error("Unknown country: ".concat(t.defaultCountry));var n=W1(d,t.v2,t.extract),r=n.number,a=n.ext,i=n.error;if(!r){if(t.v2)throw i==="TOO_SHORT"?new V("TOO_SHORT"):new V("NOT_A_NUMBER");return{}}var o=Y1(r,t.defaultCountry,t.defaultCallingCode,e),l=o.country,u=o.nationalNumber,c=o.countryCallingCode,b=o.countryCallingCodeSource,$=o.carrierCode;if(!e.hasSelectedNumberingPlan()){if(t.v2)throw new V("INVALID_COUNTRY");return{}}if(!u||u.lengthC2){if(t.v2)throw new V("TOO_LONG");return{}}if(t.v2){var m=new B0(c,u,e.metadata);return l&&(m.country=l),$&&(m.carrierCode=$),a&&(m.ext=a),m.__countryCallingCodeSource=b,m}var y=(t.extended?e.hasSelectedNumberingPlan():l)?H(u,e.nationalNumberPattern()):!1;return t.extended?{country:l,countryCallingCode:c,carrierCode:$,valid:y,possible:y?!0:!!(t.extended===!0&&e.possibleLengths()&&Gd(u,e)),phone:u,ext:a}:y?K1(l,u,a):{}}function H1(d,t,e){if(d){if(d.length>B1){if(e)throw new V("TOO_LONG");return}if(t===!1)return d;var n=d.search(U1);if(!(n<0))return d.slice(n).replace(j1,"")}}function W1(d,t,e){var n=G1(d,{extractFormattedPhoneNumber:function(i){return H1(i,e,t)}});if(!n)return{};if(!W2(n))return K2(n)?{error:"TOO_SHORT"}:{};var r=Y2(n);return r.ext?r:{number:n}}function K1(d,t,e){var n={country:d,phone:t};return e&&(n.ext=e),n}function Y1(d,t,e,n){var r=Wd(Q0(d),t,e,n.metadata),a=r.countryCallingCodeSource,i=r.countryCallingCode,o=r.number,l;if(i)n.selectNumberingPlan(i);else if(o&&(t||e))n.selectNumberingPlan(t,e),t&&(l=t),i=e||m0(t,n.metadata);else return{};if(!o)return{countryCallingCodeSource:a,countryCallingCode:i};var u=E0(Q0(o),n),c=u.nationalNumber,b=u.carrierCode,$=Yd(i,{nationalNumber:c,defaultCountry:t,metadata:n});return $&&(l=$,$==="001"||n.country(l)),{country:l,countryCallingCode:i,countryCallingCodeSource:a,nationalNumber:c,carrierCode:b}}function $d(d,t){var e=Object.keys(d);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(d);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(d,r).enumerable})),e.push.apply(e,n)}return e}function sd(d){for(var t=1;td.length)&&(t=d.length);for(var e=0,n=new Array(t);e=d.length?{done:!0}:{done:!1,value:d[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $e(d,t){if(d){if(typeof d=="string")return hd(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return hd(d,t)}}function hd(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);e1;)t&1&&(e+=d),t>>=1,d+=d;return e+d}function gd(d,t){return d[t]===")"&&t++,se(d.slice(0,t))}function se(d){for(var t=[],e=0;e=d.length?{done:!0}:{done:!1,value:d[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _e(d,t){if(d){if(typeof d=="string")return bd(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return bd(d,t)}}function bd(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);e1&&arguments[1]!==void 0?arguments[1]:{},r=n.allowOverflow;if(!e)throw new Error("String is required");var a=T0(e.split(""),this.matchTree,!0);if(a&&a.match&&delete a.matchedChars,!(a&&a.overflow&&!r))return a}}]),d}();function T0(d,t,e){if(typeof t=="string"){var n=d.join("");return t.indexOf(n)===0?d.length===t.length?{match:!0,matchedChars:d}:{partialMatch:!0}:n.indexOf(t)===0?e&&d.length>t.length?{overflow:!0}:{match:!0,matchedChars:d.slice(0,t.length)}:void 0}if(Array.isArray(t)){for(var r=d.slice(),a=0;a=d.length?{done:!0}:{done:!1,value:d[n++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ae(d,t){if(d){if(typeof d=="string")return Nd(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Nd(d,t)}}function Nd(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);e=0)){var r=this.getTemplateForFormat(e,n);if(r)return this.setNationalNumberTemplate(r,n),!0}}},{key:"getSeparatorAfterNationalPrefix",value:function(e){return this.isNANP||e&&e.nationalPrefixFormattingRule()&&Me.test(e.nationalPrefixFormattingRule())?" ":""}},{key:"getInternationalPrefixBeforeCountryCallingCode",value:function(e,n){var r=e.IDDPrefix,a=e.missingPlus;return r?n&&n.spacing===!1?r:r+" ":a?"":"+"}},{key:"getTemplate",value:function(e){if(this.template){for(var n=-1,r=0,a=e.international?this.getInternationalPrefixBeforeCountryCallingCode(e,{spacing:!1}):"";ru.length)){var c=new RegExp("^"+l+"$"),b=r.replace(/\d/g,w0);c.test(b)&&(u=b);var $=this.getFormatFormat(e,a),m;if(this.shouldTryNationalPrefixFormattingRule(e,{international:a,nationalPrefix:i})){var y=$.replace(Ud,e.nationalPrefixFormattingRule());if(u0(e.nationalPrefixFormattingRule())===(i||"")+u0("$1")&&($=y,m=!0,i))for(var _=i.length;_>0;)$=$.replace(/\d/,D),_--}var v=u.replace(new RegExp(l),$).replace(new RegExp(w0,"g"),D);return m||(o?v=o0(D,o.length)+" "+v:i&&(v=o0(D,i.length)+this.getSeparatorAfterNationalPrefix(e)+v)),a&&(v=Bd(v)),v}}},{key:"formatNextNationalNumberDigits",value:function(e){var n=fe(this.populatedNationalNumberTemplate,this.populatedNationalNumberTemplatePosition,e);if(!n){this.resetFormat();return}return this.populatedNationalNumberTemplate=n[0],this.populatedNationalNumberTemplatePosition=n[1],gd(this.populatedNationalNumberTemplate,this.populatedNationalNumberTemplatePosition+1)}},{key:"shouldTryNationalPrefixFormattingRule",value:function(e,n){var r=n.international,a=n.nationalPrefix;if(e.nationalPrefixFormattingRule()){var i=e.usesNationalPrefix();if(i&&a||!i&&!r)return!0}}}]),d}();function Xd(d,t){return Ve(d)||je(d,t)||Ue(d,t)||Be()}function Be(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ue(d,t){if(d){if(typeof d=="string")return pd(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return pd(d,t)}}function pd(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);e=3;if(n.appendDigits(e),a&&this.extractIddPrefix(n),this.isWaitingForCountryCallingCode(n)){if(!this.extractCountryCallingCode(n))return}else n.appendNationalSignificantNumberDigits(e);n.international||this.hasExtractedNationalSignificantNumber||this.extractNationalSignificantNumber(n.getNationalDigits(),function(i){return n.update(i)})}},{key:"isWaitingForCountryCallingCode",value:function(e){var n=e.international,r=e.callingCode;return n&&!r}},{key:"extractCountryCallingCode",value:function(e){var n=Wd("+"+e.getDigitsWithoutInternationalPrefix(),this.defaultCountry,this.defaultCallingCode,this.metadata.metadata),r=n.countryCallingCode,a=n.number;if(r)return e.setCallingCode(r),e.update({nationalSignificantNumber:a}),!0}},{key:"reset",value:function(e){if(e){this.hasSelectedNumberingPlan=!0;var n=e._nationalPrefixForParsing();this.couldPossiblyExtractAnotherNationalSignificantNumber=n&&Je.test(n)}else this.hasSelectedNumberingPlan=void 0,this.couldPossiblyExtractAnotherNationalSignificantNumber=void 0}},{key:"extractNationalSignificantNumber",value:function(e,n){if(this.hasSelectedNumberingPlan){var r=S0(e,this.metadata),a=r.nationalPrefix,i=r.nationalNumber,o=r.carrierCode;if(i!==e)return this.onExtractedNationalNumber(a,o,i,e,n),!0}}},{key:"extractAnotherNationalSignificantNumber",value:function(e,n,r){if(!this.hasExtractedNationalSignificantNumber)return this.extractNationalSignificantNumber(e,r);if(this.couldPossiblyExtractAnotherNationalSignificantNumber){var a=S0(e,this.metadata),i=a.nationalPrefix,o=a.nationalNumber,l=a.carrierCode;if(o!==n)return this.onExtractedNationalNumber(i,l,o,e,r),!0}}},{key:"onExtractedNationalNumber",value:function(e,n,r,a,i){var o,l,u=a.lastIndexOf(r);if(u>=0&&u===a.length-r.length){l=!0;var c=a.slice(0,u);c!==e&&(o=c)}i({nationalPrefix:e,carrierCode:n,nationalSignificantNumber:r,nationalSignificantNumberMatchesInput:l,complexPrefixBeforeNationalSignificantNumber:o}),this.hasExtractedNationalSignificantNumber=!0,this.onNationalSignificantNumberChange()}},{key:"reExtractNationalSignificantNumber",value:function(e){if(this.extractAnotherNationalSignificantNumber(e.getNationalDigits(),e.nationalSignificantNumber,function(n){return e.update(n)}))return!0;if(this.extractIddPrefix(e))return this.extractCallingCodeAndNationalSignificantNumber(e),!0;if(this.fixMissingPlus(e))return this.extractCallingCodeAndNationalSignificantNumber(e),!0}},{key:"extractIddPrefix",value:function(e){var n=e.international,r=e.IDDPrefix,a=e.digits;if(e.nationalSignificantNumber,!(n||r)){var i=Vd(a,this.defaultCountry,this.defaultCallingCode,this.metadata.metadata);if(i!==void 0&&i!==a)return e.update({IDDPrefix:a.slice(0,a.length-i.length)}),this.startInternationalNumber(e,{country:void 0,callingCode:void 0}),!0}}},{key:"fixMissingPlus",value:function(e){if(!e.international){var n=Hd(e.digits,this.defaultCountry,this.defaultCallingCode,this.metadata.metadata),r=n.countryCallingCode;if(n.number,r)return e.update({missingPlus:!0}),this.startInternationalNumber(e,{country:e.country,callingCode:r}),!0}}},{key:"startInternationalNumber",value:function(e,n){var r=n.country,a=n.callingCode;e.startInternationalNumber(r,a),e.nationalSignificantNumber&&(e.resetNationalSignificantNumber(),this.onNationalSignificantNumberChange(),this.hasExtractedNationalSignificantNumber=void 0)}},{key:"extractCallingCodeAndNationalSignificantNumber",value:function(e){this.extractCountryCallingCode(e)&&this.extractNationalSignificantNumber(e.getNationalDigits(),function(n){return e.update(n)})}}]),d}();function Qe(d){var t=d.search(Xe);if(!(t<0)){d=d.slice(t);var e;return d[0]==="+"&&(e=!0,d=d.slice(1)),d=d.replace(Ze,""),e&&(d="+"+d),d}}function dt(d){var t=Qe(d)||"";return t[0]==="+"?[t.slice(1),!0]:[t]}function et(d){var t=dt(d),e=Xd(t,2),n=e[0],r=e[1];return ze.test(n)||(n=""),[n,r]}function tt(d,t){return it(d)||at(d,t)||rt(d,t)||nt()}function nt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rt(d,t){if(d){if(typeof d=="string")return Pd(d,t);var e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Pd(d,t)}}function Pd(d,t){(t==null||t>d.length)&&(t=d.length);for(var e=0,n=new Array(t);e1}},{key:"determineTheCountry",value:function(){this.state.setCountry(Yd(this.isInternational()?this.state.callingCode:this.defaultCallingCode,{nationalNumber:this.state.nationalSignificantNumber,defaultCountry:this.defaultCountry,metadata:this.metadata}))}},{key:"getNumberValue",value:function(){var e=this.state,n=e.digits,r=e.callingCode,a=e.country,i=e.nationalSignificantNumber;if(n){if(this.isInternational())return r?"+"+r+i:"+"+n;if(a||r){var o=a?this.metadata.countryCallingCode():r;return"+"+o+i}}}},{key:"getNumber",value:function(){var e=this.state,n=e.nationalSignificantNumber,r=e.carrierCode,a=e.callingCode,i=this._getCountry();if(n&&!(!i&&!a)){if(i&&i===this.defaultCountry){var o=new S(this.metadata.metadata);o.selectNumberingPlan(i);var l=o.numberingPlan.callingCode(),u=this.metadata.getCountryCodesForCallingCode(l);if(u.length>1){var c=Kd(n,{countries:u,defaultCountry:this.defaultCountry,metadata:this.metadata.metadata});c&&(i=c)}}var b=new B0(i||a,n,this.metadata.metadata);return r&&(b.carrierCode=r),b}}},{key:"isPossible",value:function(){var e=this.getNumber();return e?e.isPossible():!1}},{key:"isValid",value:function(){var e=this.getNumber();return e?e.isValid():!1}},{key:"getNationalNumber",value:function(){return this.state.nationalSignificantNumber}},{key:"getChars",value:function(){return(this.state.international?"+":"")+this.state.digits}},{key:"getTemplate",value:function(){return this.formatter.getTemplate(this.state)||this.getNonFormattedTemplate()||""}}]),d}();function $t(d,t,e){if(t[d])return new B0(d,t[d],e)}function st(){return D0(re,arguments)}function $0(d){return Zd.call(this,d,k0)}$0.prototype=Object.create(Zd.prototype,{});$0.prototype.constructor=$0;function ft(){return D0(m0,arguments)}function s0(){return S.call(this,k0)}s0.prototype=Object.create(S.prototype,{});s0.prototype.constructor=s0;function ct(){return D0($t,arguments)}const ht=[["Afghanistan (‫افغانستان‬‎)","af","93"],["Albania (Shqipëri)","al","355"],["Algeria (‫الجزائر‬‎)","dz","213"],["American Samoa","as","1",5,["684"]],["Andorra","ad","376"],["Angola","ao","244"],["Anguilla","ai","1",6,["264"]],["Antigua and Barbuda","ag","1",7,["268"]],["Argentina","ar","54"],["Armenia (Հայաստան)","am","374"],["Aruba","aw","297"],["Ascension Island","ac","247"],["Australia","au","61",0],["Austria (Österreich)","at","43"],["Azerbaijan (Azərbaycan)","az","994"],["Bahamas","bs","1",8,["242"]],["Bahrain (‫البحرين‬‎)","bh","973"],["Bangladesh (বাংলাদেশ)","bd","880"],["Barbados","bb","1",9,["246"]],["Belarus (Беларусь)","by","375"],["Belgium (België)","be","32"],["Belize","bz","501"],["Benin (Bénin)","bj","229"],["Bermuda","bm","1",10,["441"]],["Bhutan (འབྲུག)","bt","975"],["Bolivia","bo","591"],["Bosnia and Herzegovina (Босна и Херцеговина)","ba","387"],["Botswana","bw","267"],["Brazil (Brasil)","br","55"],["British Indian Ocean Territory","io","246"],["British Virgin Islands","vg","1",11,["284"]],["Brunei","bn","673"],["Bulgaria (България)","bg","359"],["Burkina Faso","bf","226"],["Burundi (Uburundi)","bi","257"],["Cambodia (កម្ពុជា)","kh","855"],["Cameroon (Cameroun)","cm","237"],["Canada","ca","1",1,["204","226","236","249","250","289","306","343","365","387","403","416","418","431","437","438","450","506","514","519","548","579","581","587","604","613","639","647","672","705","709","742","778","780","782","807","819","825","867","873","902","905"]],["Cape Verde (Kabu Verdi)","cv","238"],["Caribbean Netherlands","bq","599",1,["3","4","7"]],["Cayman Islands","ky","1",12,["345"]],["Central African Republic (République centrafricaine)","cf","236"],["Chad (Tchad)","td","235"],["Chile","cl","56"],["China (中国)","cn","86"],["Christmas Island","cx","61",2,["89164"]],["Cocos (Keeling) Islands","cc","61",1,["89162"]],["Colombia","co","57"],["Comoros (‫جزر القمر‬‎)","km","269"],["Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)","cd","243"],["Congo (Republic) (Congo-Brazzaville)","cg","242"],["Cook Islands","ck","682"],["Costa Rica","cr","506"],["Côte d’Ivoire","ci","225"],["Croatia (Hrvatska)","hr","385"],["Cuba","cu","53"],["Curaçao","cw","599",0],["Cyprus (Κύπρος)","cy","357"],["Czech Republic (Česká republika)","cz","420"],["Denmark (Danmark)","dk","45"],["Djibouti","dj","253"],["Dominica","dm","1",13,["767"]],["Dominican Republic (República Dominicana)","do","1",2,["809","829","849"]],["Ecuador","ec","593"],["Egypt (‫مصر‬‎)","eg","20"],["El Salvador","sv","503"],["Equatorial Guinea (Guinea Ecuatorial)","gq","240"],["Eritrea","er","291"],["Estonia (Eesti)","ee","372"],["Eswatini","sz","268"],["Ethiopia","et","251"],["Falkland Islands (Islas Malvinas)","fk","500"],["Faroe Islands (Føroyar)","fo","298"],["Fiji","fj","679"],["Finland (Suomi)","fi","358",0],["France","fr","33"],["French Guiana (Guyane française)","gf","594"],["French Polynesia (Polynésie française)","pf","689"],["Gabon","ga","241"],["Gambia","gm","220"],["Georgia (საქართველო)","ge","995"],["Germany (Deutschland)","de","49"],["Ghana (Gaana)","gh","233"],["Gibraltar","gi","350"],["Greece (Ελλάδα)","gr","30"],["Greenland (Kalaallit Nunaat)","gl","299"],["Grenada","gd","1",14,["473"]],["Guadeloupe","gp","590",0],["Guam","gu","1",15,["671"]],["Guatemala","gt","502"],["Guernsey","gg","44",1,["1481","7781","7839","7911"]],["Guinea (Guinée)","gn","224"],["Guinea-Bissau (Guiné Bissau)","gw","245"],["Guyana","gy","592"],["Haiti","ht","509"],["Honduras","hn","504"],["Hong Kong (香港)","hk","852"],["Hungary (Magyarország)","hu","36"],["Iceland (Ísland)","is","354"],["India (भारत)","in","91"],["Indonesia","id","62"],["Iran (‫ایران‬‎)","ir","98"],["Iraq (‫العراق‬‎)","iq","964"],["Ireland","ie","353"],["Isle of Man","im","44",2,["1624","74576","7524","7924","7624"]],["Israel (‫ישראל‬‎)","il","972"],["Italy (Italia)","it","39",0],["Jamaica","jm","1",4,["876","658"]],["Japan (日本)","jp","81"],["Jersey","je","44",3,["1534","7509","7700","7797","7829","7937"]],["Jordan (‫الأردن‬‎)","jo","962"],["Kazakhstan (Казахстан)","kz","7",1,["33","7"]],["Kenya","ke","254"],["Kiribati","ki","686"],["Kosovo","xk","383"],["Kuwait (‫الكويت‬‎)","kw","965"],["Kyrgyzstan (Кыргызстан)","kg","996"],["Laos (ລາວ)","la","856"],["Latvia (Latvija)","lv","371"],["Lebanon (‫لبنان‬‎)","lb","961"],["Lesotho","ls","266"],["Liberia","lr","231"],["Libya (‫ليبيا‬‎)","ly","218"],["Liechtenstein","li","423"],["Lithuania (Lietuva)","lt","370"],["Luxembourg","lu","352"],["Macau (澳門)","mo","853"],["North Macedonia (Македонија)","mk","389"],["Madagascar (Madagasikara)","mg","261"],["Malawi","mw","265"],["Malaysia","my","60"],["Maldives","mv","960"],["Mali","ml","223"],["Malta","mt","356"],["Marshall Islands","mh","692"],["Martinique","mq","596"],["Mauritania (‫موريتانيا‬‎)","mr","222"],["Mauritius (Moris)","mu","230"],["Mayotte","yt","262",1,["269","639"]],["Mexico (México)","mx","52"],["Micronesia","fm","691"],["Moldova (Republica Moldova)","md","373"],["Monaco","mc","377"],["Mongolia (Монгол)","mn","976"],["Montenegro (Crna Gora)","me","382"],["Montserrat","ms","1",16,["664"]],["Morocco (‫المغرب‬‎)","ma","212",0],["Mozambique (Moçambique)","mz","258"],["Myanmar (Burma) (မြန်မာ)","mm","95"],["Namibia (Namibië)","na","264"],["Nauru","nr","674"],["Nepal (नेपाल)","np","977"],["Netherlands (Nederland)","nl","31"],["New Caledonia (Nouvelle-Calédonie)","nc","687"],["New Zealand","nz","64"],["Nicaragua","ni","505"],["Niger (Nijar)","ne","227"],["Nigeria","ng","234"],["Niue","nu","683"],["Norfolk Island","nf","672"],["North Korea (조선 민주주의 인민 공화국)","kp","850"],["Northern Mariana Islands","mp","1",17,["670"]],["Norway (Norge)","no","47",0],["Oman (‫عُمان‬‎)","om","968"],["Pakistan (‫پاکستان‬‎)","pk","92"],["Palau","pw","680"],["Palestine (‫فلسطين‬‎)","ps","970"],["Panama (Panamá)","pa","507"],["Papua New Guinea","pg","675"],["Paraguay","py","595"],["Peru (Perú)","pe","51"],["Philippines","ph","63"],["Poland (Polska)","pl","48"],["Portugal","pt","351"],["Puerto Rico","pr","1",3,["787","939"]],["Qatar (‫قطر‬‎)","qa","974"],["Réunion (La Réunion)","re","262",0],["Romania (România)","ro","40"],["Russia (Россия)","ru","7",0],["Rwanda","rw","250"],["Saint Barthélemy","bl","590",1],["Saint Helena","sh","290"],["Saint Kitts and Nevis","kn","1",18,["869"]],["Saint Lucia","lc","1",19,["758"]],["Saint Martin (Saint-Martin (partie française))","mf","590",2],["Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)","pm","508"],["Saint Vincent and the Grenadines","vc","1",20,["784"]],["Samoa","ws","685"],["San Marino","sm","378"],["São Tomé and Príncipe (São Tomé e Príncipe)","st","239"],["Saudi Arabia (‫المملكة العربية السعودية‬‎)","sa","966"],["Senegal (Sénégal)","sn","221"],["Serbia (Србија)","rs","381"],["Seychelles","sc","248"],["Sierra Leone","sl","232"],["Singapore","sg","65"],["Sint Maarten","sx","1",21,["721"]],["Slovakia (Slovensko)","sk","421"],["Slovenia (Slovenija)","si","386"],["Solomon Islands","sb","677"],["Somalia (Soomaaliya)","so","252"],["South Africa","za","27"],["South Korea (대한민국)","kr","82"],["South Sudan (‫جنوب السودان‬‎)","ss","211"],["Spain (España)","es","34"],["Sri Lanka (ශ්‍රී ලංකාව)","lk","94"],["Sudan (‫السودان‬‎)","sd","249"],["Suriname","sr","597"],["Svalbard and Jan Mayen","sj","47",1,["79"]],["Sweden (Sverige)","se","46"],["Switzerland (Schweiz)","ch","41"],["Syria (‫سوريا‬‎)","sy","963"],["Taiwan (台灣)","tw","886"],["Tajikistan","tj","992"],["Tanzania","tz","255"],["Thailand (ไทย)","th","66"],["Timor-Leste","tl","670"],["Togo","tg","228"],["Tokelau","tk","690"],["Tonga","to","676"],["Trinidad and Tobago","tt","1",22,["868"]],["Tristan da Cunha","ta","290"],["Tunisia (‫تونس‬‎)","tn","216"],["Turkey (Türkiye)","tr","90"],["Turkmenistan","tm","993"],["Turks and Caicos Islands","tc","1",23,["649"]],["Tuvalu","tv","688"],["U.S. Virgin Islands","vi","1",24,["340"]],["Uganda","ug","256"],["Ukraine (Україна)","ua","380"],["United Arab Emirates (‫الإمارات العربية المتحدة‬‎)","ae","971"],["United Kingdom","gb","44",0],["United States","us","1",0],["Uruguay","uy","598"],["Uzbekistan (Oʻzbekiston)","uz","998"],["Vanuatu","vu","678"],["Vatican City (Città del Vaticano)","va","39",1,["06698"]],["Venezuela","ve","58"],["Vietnam (Việt Nam)","vn","84"],["Wallis and Futuna (Wallis-et-Futuna)","wf","681"],["Western Sahara (‫الصحراء الغربية‬‎)","eh","212",1,["5288","5289"]],["Yemen (‫اليمن‬‎)","ye","967"],["Zambia","zm","260"],["Zimbabwe","zw","263"],["Åland Islands","ax","358",1,["18"]]],O0=ht.map(d=>({id:d[1].toUpperCase(),label:`${d[0]} +${d[2]}`,name:d[0],iso2:d[1].toUpperCase(),dialCode:d[2],priority:d[3]||0,areaCodes:d[4]||null})),gt={AC:"40123",AD:"312345",AE:"501234567",AF:"701234567",AG:"2684641234",AI:"2642351234",AL:"672123456",AM:"77123456",AO:"923123456",AR:"91123456789",AS:"6847331234",AT:"664123456",AU:"412345678",AW:"5601234",AX:"412345678",AZ:"401234567",BA:"61123456",BB:"2462501234",BD:"1812345678",BE:"470123456",BF:"70123456",BG:"43012345",BH:"36001234",BI:"79561234",BJ:"90011234",BL:"690001234",BM:"4413701234",BN:"7123456",BO:"71234567",BQ:"3181234",BR:"11961234567",BS:"2423591234",BT:"17123456",BW:"71123456",BY:"294911911",BZ:"6221234",CA:"5062345678",CC:"412345678",CD:"991234567",CF:"70012345",CG:"061234567",CH:"781234567",CI:"0123456789",CK:"71234",CL:"221234567",CM:"671234567",CN:"13123456789",CO:"3211234567",CR:"83123456",CU:"51234567",CV:"9911234",CW:"95181234",CX:"412345678",CY:"96123456",CZ:"601123456",DE:"15123456789",DJ:"77831001",DK:"32123456",DM:"7672251234",DO:"8092345678",DZ:"551234567",EC:"991234567",EE:"51234567",EG:"1001234567",EH:"650123456",ER:"7123456",ES:"612345678",ET:"911234567",FI:"412345678",FJ:"7012345",FK:"51234",FM:"3501234",FO:"211234",FR:"612345678",GA:"06031234",GB:"7400123456",GD:"4734031234",GE:"555123456",GF:"694201234",GG:"7781123456",GH:"231234567",GI:"57123456",GL:"221234",GM:"3012345",GN:"601123456",GP:"690001234",GQ:"222123456",GR:"6912345678",GT:"51234567",GU:"6713001234",GW:"955012345",GY:"6091234",HK:"51234567",HN:"91234567",HR:"921234567",HT:"34101234",HU:"201234567",ID:"812345678",IE:"850123456",IL:"502345678",IM:"7924123456",IN:"8123456789",IO:"3801234",IQ:"7912345678",IR:"9123456789",IS:"6111234",IT:"3123456789",JE:"7797712345",JM:"8762101234",JO:"790123456",JP:"9012345678",KE:"712123456",KG:"700123456",KH:"91234567",KI:"72001234",KM:"3212345",KN:"8697652917",KP:"1921234567",KR:"1020000000",KW:"50012345",KY:"3453231234",KZ:"7710009998",LA:"2023123456",LB:"71123456",LC:"7582845678",LI:"660234567",LK:"712345678",LR:"770123456",LS:"50123456",LT:"61234567",LU:"628123456",LV:"21234567",LY:"912345678",MA:"650123456",MC:"612345678",MD:"62112345",ME:"67622901",MF:"690001234",MG:"321234567",MH:"2351234",MK:"72345678",ML:"65012345",MM:"92123456",MN:"88123456",MO:"66123456",MP:"6702345678",MQ:"696201234",MR:"22123456",MS:"6644923456",MT:"96961234",MU:"52512345",MV:"7712345",MW:"991234567",MX:"12221234567",MY:"123456789",MZ:"821234567",NA:"811234567",NC:"751234",NE:"93123456",NF:"381234",NG:"8021234567",NI:"81234567",NL:"612345678",NO:"40612345",NP:"9841234567",NR:"5551234",NU:"8884012",NZ:"211234567",OM:"92123456",PA:"61234567",PE:"912345678",PF:"87123456",PG:"70123456",PH:"9051234567",PK:"3012345678",PL:"512345678",PM:"551234",PR:"7872345678",PS:"599123456",PT:"912345678",PW:"6201234",PY:"961456789",QA:"33123456",RE:"692123456",RO:"712034567",RS:"601234567",RU:"9123456789",RW:"720123456",SA:"512345678",SB:"7421234",SC:"2510123",SD:"911231234",SE:"701234567",SG:"81234567",SH:"51234",SI:"31234567",SJ:"41234567",SK:"912123456",SL:"25123456",SM:"66661212",SN:"701234567",SO:"71123456",SR:"7412345",SS:"977123456",ST:"9812345",SV:"70123456",SX:"7215205678",SY:"944567890",SZ:"76123456",TA:"8999",TC:"6492311234",TD:"63012345",TG:"90112345",TH:"812345678",TJ:"917123456",TK:"7290",TL:"77212345",TM:"66123456",TN:"20123456",TO:"7715123",TR:"5012345678",TT:"8682911234",TV:"901234",TW:"912345678",TZ:"621234567",UA:"501234567",UG:"712345678",US:"2015550123",UY:"94231234",UZ:"912345678",VA:"3123456789",VC:"7844301234",VE:"4121234567",VG:"2843001234",VI:"3406421234",VN:"912345678",VU:"5912345",WF:"821234",WS:"7212345",XK:"43201234",YE:"712345678",YT:"639012345",ZA:"711234567",ZM:"955123456",ZW:"712345678"},mt=d=>Object.fromEntries(Object.entries({countryCode:d?d.country:null,isValid:d?d.isValid():!1,isPossible:d?d.isPossible():!1,phoneNumber:d?d.number:null,countryCallingCode:d?d.countryCallingCode:null,formattedNumber:d?d.formatInternational():null,nationalNumber:d?d.nationalNumber:null,formatInternational:d?d.formatInternational():null,formatOriginal:d?d.formatInternational().slice(d.countryCallingCode.length+1).trim():null,formatNational:d?d.formatNational():null,uri:d?d.getURI():null,e164:d?d.number:null}).filter(([,e])=>e!==null)),yt=(d,{format:t,spaces:e}={format:"national",spaces:!0})=>{const n=ct(d,gt);if(n)switch(t){case"international":return e?n.formatInternational():n.number;default:return e?n.formatInternational().slice(n.countryCallingCode.length+1).trim():n.nationalNumber}else throw new Error(`No country found with this country code: ${d}`)},bt=d=>{var a;const t=/^\d+$/;let e="+"+ft(d);const r=(a=new s0().numberingPlan)==null?void 0:a.leadingDigits();return r&&t.test(r)&&(e+=r),e},_d=(d,{country:t,countries:e,required:n}={})=>{if(d==="+")return t;const r=vt(d);return r&&(!e||e.indexOf(r)>=0)?r:t&&!n&&!Nt(d,t)?void 0:t},vt=d=>{const t=new $0;return t.input(d),t.getCountry()},Nt=(d,t)=>{const e=bt(t);let n=0;for(;n{const e={0:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9","0":"0","1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9"};return t&&new RegExp("[\\t\\n\\v\\f\\r \\u00a0\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u200b\\u2028\\u2029\\u3000]","g").test(d)?d:e[d]},pt=(d,{allowSpaces:t,parseCharacter:e})=>{let n="";for(let r=0;rd==="+"&&!t?d:Ct(d,{spaces:e}),_t=(d,{handler:t,spaces:e})=>{const n=r=>{if(d&&d.contains(r.target)){const a=r.target.value,i=pt(a,{parseCharacter:Pt,allowSpaces:e});d.value=i,t(i)}};return d.addEventListener("input",n,!0),{update(r){(r.value===null||r.value==="")&&(d.value="")},destroy(){d.removeEventListener("input",n,!0)}}},Z=[];function It(d,t=Q){let e;const n=new Set;function r(o){if(f0(d,o)&&(d=o,e)){const l=!Z.length;for(const u of n)u[1](),Z.push(u,d);if(l){for(let u=0;u{n.delete(u),n.size===0&&e&&(e(),e=null)}}return{set:r,update:a,subscribe:i}}const St=(d,t)=>{const{subscribe:e,update:n}=It(d);return{subscribe:e,set:r=>{n(a=>(t(a,r),r))}}};function Et(d){let t,e,n,r;return{c(){t=z("input"),P(t,"autocomplete",d[1]),P(t,"class",d[2]),t.disabled=d[3],P(t,"id",d[4]),P(t,"name",d[5]),t.readOnly=d[6],t.required=d[7],P(t,"size",d[8]),P(t,"placeholder",d[10]),P(t,"type","tel"),t.value=d[9]},m(a,i){Y(a,t,i),n||(r=[k(t,"beforeinput",d[19]),k(t,"blur",d[20]),k(t,"change",d[21]),k(t,"click",d[22]),k(t,"focus",d[23]),k(t,"input",d[24]),k(t,"keydown",d[25]),k(t,"keypress",d[26]),k(t,"keyup",d[27]),k(t,"paste",d[28]),n2(e=_t.call(null,t,{handler:d[12],spaces:d[11].spaces,value:d[0]}))],n=!0)},p(a,i){i[0]&2&&P(t,"autocomplete",a[1]),i[0]&4&&P(t,"class",a[2]),i[0]&8&&(t.disabled=a[3]),i[0]&16&&P(t,"id",a[4]),i[0]&32&&P(t,"name",a[5]),i[0]&64&&(t.readOnly=a[6]),i[0]&128&&(t.required=a[7]),i[0]&256&&P(t,"size",a[8]),i[0]&1024&&P(t,"placeholder",a[10]),i[0]&512&&t.value!==a[9]&&(t.value=a[9]),e&&u2(e.update)&&i[0]&1&&e.update.call(null,{handler:a[12],spaces:a[11].spaces,value:a[0]})},i:Q,o:Q,d(a){a&&K(t),n=!1,Fd(r)}}}function Ft(d,t,e){let n,r;const a=r2(),i={autoPlaceholder:!0,spaces:!0,invalidateOnCountryChange:!1,format:"national"};let{autocomplete:o=null}=t,{class:l=""}=t,{disabled:u=!1}=t,{id:c="phone-input-"+new Date().getTime().toString(36)+Math.random().toString(36).slice(2)}=t,{name:b=null}=t,{placeholder:$=null}=t,{readonly:m=null}=t,{required:y=null}=t,{size:_=null}=t,{value:v}=t,{country:N}=t,{detailedValue:s=null}=t,{valid:E=!0}=t,{options:x=i}=t,F=v,O=N;const C={...i,...x},g=f=>{u||m||R(f,N)},A=f=>(f!==N&&(e(14,N=f),O=N,a("updateCountry",N)),N),R=(f,J=null)=>{if(f!==null){const r0=_d(f);r0&&r0!==O&&A(r0);try{e(15,s=mt(st(f,r0??J??void 0)))}catch(a0){if(a0 instanceof V)e(15,s={isValid:!1,error:a0.message}),a("parseError",a0.message);else throw a0}const j0=C.format==="national"?"nationalNumber":"e164",V0=C.format==="national"?"formatOriginal":"formatInternational";C.spaces&&(s!=null&&s[V0])?e(9,F=s[V0]??null):s!=null&&s[j0]&&e(9,F=s[j0]??null),e(0,v=(s==null?void 0:s.e164)??f??null),e(16,E=(s==null?void 0:s.isValid)??!1),a("updateValid",E),a("updateValue",v),a("updateDetailedValue",s)}else f===null&&J!==null?J!==O&&(O=J,e(16,E=!x.invalidateOnCountryChange),e(0,v=null),e(9,F=null),e(15,s=null),a("updateValid",E),a("updateValue",v),a("updateDetailedValue",s)):(e(16,E=!0),e(0,v=null),e(15,s=null),O=J,a("updateValid",E),a("updateDetailedValue",s),e(9,F=null))};let n0=!0;const M=St(null,()=>{n0||R(null,N),n0=!1});a2(d,M,f=>e(31,r=f)),i2(()=>{v&&R(v,_d(v)||N)});function T(f){G.call(this,d,f)}function h(f){G.call(this,d,f)}function p(f){G.call(this,d,f)}function I(f){G.call(this,d,f)}function Jd(f){G.call(this,d,f)}function qd(f){G.call(this,d,f)}function Qd(f){G.call(this,d,f)}function d2(f){G.call(this,d,f)}function e2(f){G.call(this,d,f)}function t2(f){G.call(this,d,f)}return d.$$set=f=>{"autocomplete"in f&&e(1,o=f.autocomplete),"class"in f&&e(2,l=f.class),"disabled"in f&&e(3,u=f.disabled),"id"in f&&e(4,c=f.id),"name"in f&&e(5,b=f.name),"placeholder"in f&&e(17,$=f.placeholder),"readonly"in f&&e(6,m=f.readonly),"required"in f&&e(7,y=f.required),"size"in f&&e(8,_=f.size),"value"in f&&e(0,v=f.value),"country"in f&&e(14,N=f.country),"detailedValue"in f&&e(15,s=f.detailedValue),"valid"in f&&e(16,E=f.valid),"options"in f&&e(18,x=f.options)},d.$$.update=()=>{d.$$.dirty[0]&16384&&o2(M,r=N,r),d.$$.dirty[0]&147456&&e(10,n=C.autoPlaceholder&&N?yt(N,{format:C.format,spaces:C.spaces}):$),d.$$.dirty[0]&33281&&v===null&&F!==null&&s!==null&&(e(9,F=null),e(15,s=null),a("updateDetailedValue",s))},[v,o,l,u,c,b,m,y,_,F,n,C,g,M,N,s,E,$,x,T,h,p,I,Jd,qd,Qd,d2,e2,t2]}class At extends R0{constructor(t){super(),M0(this,t,Ft,Et,f0,{autocomplete:1,class:2,disabled:3,id:4,name:5,placeholder:17,readonly:6,required:7,size:8,value:0,country:14,detailedValue:15,valid:16,options:18},null,[-1,-1])}}function Id(d,t,e){const n=d.slice();return n[22]=t[e],n}function Sd(d,t){let e,n=t[22].iso2+"",r,a,i=t[22].dialCode+"",o,l,u,c;return{key:d,first:null,c(){e=z("option"),r=q(n),a=q(" (+"),o=q(i),l=q(`) + `),e.__value=t[22].iso2,xd(e,e.__value),e.selected=u=t[22].iso2===t[3],P(e,"aria-selected",c=t[22].iso2===t[3]),this.first=e},m(b,$){Y(b,e,$),W(e,r),W(e,a),W(e,o),W(e,l)},p(b,$){t=b,$&8&&u!==(u=t[22].iso2===t[3])&&(e.selected=u),$&8&&c!==(c=t[22].iso2===t[3])&&P(e,"aria-selected",c)},d(b){b&&K(e)}}}function Ed(d){let t,e,n,r,a;return{c(){t=z("input"),n=p0(),r=z("input"),P(t,"type","hidden"),P(t,"name",d[7]),t.value=e=d[2].e164,P(r,"type","hidden"),P(r,"name",d[8]),r.value=a=d[2].countryCode},m(i,o){Y(i,t,o),Y(i,n,o),Y(i,r,o)},p(i,o){o&128&&P(t,"name",i[7]),o&4&&e!==(e=i[2].e164)&&(t.value=e),o&256&&P(r,"name",i[8]),o&4&&a!==(a=i[2].countryCode)&&(r.value=a)},d(i){i&&(K(t),K(n),K(r))}}}function Tt(d){let t,e,n,r,a,i=[],o=new Map,l,u,c,b,$,m,y,_,v,N,s,E,x,F=W0(O0);const O=h=>h[22].id;for(let h=0;hU(u,"country",C)),B.push(()=>U(u,"valid",g)),B.push(()=>U(u,"value",A)),B.push(()=>U(u,"detailedValue",R)),B.push(()=>U(u,"disabled",n0)),B.push(()=>U(u,"readonly",U0));let T=d[9]&&d[2]&&Ed(d);return{c(){t=z("div"),e=z("select"),n=z("option"),r=q("Country");for(let h=0;hd[12].call(e)),P(t,"class","flex w-full")},m(h,p){Y(h,t,p),W(t,e),W(e,n),W(n,r);for(let I=0;Ic=!1)),!b&&p&2&&(b=!0,I.valid=h[1],j(()=>b=!1)),!$&&p&1&&($=!0,I.value=h[0],j(()=>$=!1)),!m&&p&4&&(m=!0,I.detailedValue=h[2],j(()=>m=!1)),!y&&p&16&&(y=!0,I.disabled=h[4],j(()=>y=!1)),!_&&p&32&&(_=!0,I.readonly=h[5],j(()=>_=!1)),u.$set(I),h[9]&&h[2]?T?T.p(h,p):(T=Ed(h),T.c(),T.m(N.parentNode,N)):T&&(T.d(1),T=null)},i(h){s||(x0(u.$$.fragment,h),s=!0)},o(h){Td(u.$$.fragment,h),s=!1},d(h){h&&(K(t),K(v),K(N));for(let p=0;p{n&&(v(o),clearTimeout(_),_=setTimeout(()=>{},wt))});function v(g){const A=document.getElementById(y);if(A){const R=new CustomEvent(m,{detail:{detailedValue:g}});A.dispatchEvent(R)}}function N(){a=f2(this),e(3,a)}function s(g){a=g,e(3,a)}function E(g){i=g,e(1,i)}function x(g){r=g,e(0,r)}function F(g){o=g,e(2,o)}function O(g){u=g,e(4,u)}function C(g){c=g,e(5,c)}return d.$$set=g=>{"value"in g&&e(0,r=g.value),"country"in g&&e(3,a=g.country),"valid"in g&&e(1,i=g.valid),"detailedValue"in g&&e(2,o=g.detailedValue),"options"in g&&e(6,l=g.options),"disabled"in g&&e(4,u=g.disabled),"readonly"in g&&e(5,c=g.readonly),"formInputNameE164"in g&&e(7,b=g.formInputNameE164),"formInputNameCountryCode"in g&&e(8,$=g.formInputNameCountryCode),"saveEventName"in g&&e(10,m=g.saveEventName),"componentID"in g&&e(11,y=g.componentID)},d.$$.update=()=>{d.$$.dirty&7&&e(9,n=r&&o&&i)},[r,i,o,a,u,c,l,b,$,n,m,y,N,s,E,x,F,O,C]}class xt extends R0{constructor(t){super(),M0(this,t,Ot,Tt,f0,{value:0,country:3,valid:1,detailedValue:2,options:6,disabled:4,readonly:5,formInputNameE164:7,formInputNameCountryCode:8,saveEventName:10,componentID:11})}}function Rt(d){let t,e,n,r,a,i;function o($){d[11]($)}function l($){d[12]($)}function u($){d[13]($)}function c($){d[14]($)}let b={options:d[4],disabled:d[5],readonly:d[6],formInputNameE164:d[7],formInputNameCountryCode:d[8],saveEventName:d[9],componentID:d[10]};return d[0]!==void 0&&(b.value=d[0]),d[1]!==void 0&&(b.country=d[1]),d[2]!==void 0&&(b.valid=d[2]),d[3]!==void 0&&(b.detailedValue=d[3]),t=new xt({props:b}),B.push(()=>U(t,"value",o)),B.push(()=>U(t,"country",l)),B.push(()=>U(t,"valid",u)),B.push(()=>U(t,"detailedValue",c)),{c(){Od(t.$$.fragment)},m($,m){wd(t,$,m),i=!0},p($,[m]){const y={};m&16&&(y.options=$[4]),m&32&&(y.disabled=$[5]),m&64&&(y.readonly=$[6]),m&128&&(y.formInputNameE164=$[7]),m&256&&(y.formInputNameCountryCode=$[8]),m&512&&(y.saveEventName=$[9]),m&1024&&(y.componentID=$[10]),!e&&m&1&&(e=!0,y.value=$[0],j(()=>e=!1)),!n&&m&2&&(n=!0,y.country=$[1],j(()=>n=!1)),!r&&m&4&&(r=!0,y.valid=$[2],j(()=>r=!1)),!a&&m&8&&(a=!0,y.detailedValue=$[3],j(()=>a=!1)),t.$set(y)},i($){i||(x0(t.$$.fragment,$),i=!0)},o($){Td(t.$$.fragment,$),i=!1},d($){Ad(t,$)}}}function Mt(d,t,e){let{value:n=null}=t,{country:r=null}=t,{valid:a}=t,{detailedValue:i=null}=t,{options:o}=t,{disabled:l=!1}=t,{readonly:u=!1}=t,{formInputNameE164:c="phone_number_e164"}=t,{formInputNameCountryCode:b="country_code"}=t,{saveEventName:$="savePhoneNumber"}=t,{componentID:m="phone-number-picker"}=t;function y(s){n=s,e(0,n)}function _(s){r=s,e(1,r)}function v(s){a=s,e(2,a)}function N(s){i=s,e(3,i)}return d.$$set=s=>{"value"in s&&e(0,n=s.value),"country"in s&&e(1,r=s.country),"valid"in s&&e(2,a=s.valid),"detailedValue"in s&&e(3,i=s.detailedValue),"options"in s&&e(4,o=s.options),"disabled"in s&&e(5,l=s.disabled),"readonly"in s&&e(6,u=s.readonly),"formInputNameE164"in s&&e(7,c=s.formInputNameE164),"formInputNameCountryCode"in s&&e(8,b=s.formInputNameCountryCode),"saveEventName"in s&&e(9,$=s.saveEventName),"componentID"in s&&e(10,m=s.componentID)},[n,r,a,i,o,l,u,c,b,$,m,y,_,v,N]}class Dt extends R0{constructor(t){super(),M0(this,t,Mt,Rt,f0,{value:0,country:1,valid:2,detailedValue:3,options:4,disabled:5,readonly:6,formInputNameE164:7,formInputNameCountryCode:8,saveEventName:9,componentID:10})}}export{Dt as default}; +//# sourceMappingURL=PhoneNumberPicker-Bgr0xok_.js.map diff --git a/app/static/islands/PhoneNumberPicker-Bgr0xok_.js.map b/app/static/islands/PhoneNumberPicker-Bgr0xok_.js.map new file mode 100644 index 00000000..636afb85 --- /dev/null +++ b/app/static/islands/PhoneNumberPicker-Bgr0xok_.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PhoneNumberPicker-Bgr0xok_.js","sources":["../../../frontend/node_modules/svelte/src/runtime/internal/each.js","../../../frontend/node_modules/libphonenumber-js/metadata.max.json.js","../../../frontend/node_modules/libphonenumber-js/max/exports/withMetadataArgument.js","../../../frontend/node_modules/libphonenumber-js/es6/ParseError.js","../../../frontend/node_modules/libphonenumber-js/es6/constants.js","../../../frontend/node_modules/libphonenumber-js/es6/tools/semver-compare.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/isObject.js","../../../frontend/node_modules/libphonenumber-js/es6/metadata.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/parseDigits.js","../../../frontend/node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","../../../frontend/node_modules/libphonenumber-js/es6/isPossible.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/getNumberType.js","../../../frontend/node_modules/libphonenumber-js/es6/isValid.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/RFC3966.js","../../../frontend/node_modules/libphonenumber-js/es6/format.js","../../../frontend/node_modules/libphonenumber-js/es6/PhoneNumber.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","../../../frontend/node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","../../../frontend/node_modules/libphonenumber-js/es6/parse.js","../../../frontend/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","../../../frontend/node_modules/libphonenumber-js/es6/normalizeArguments.js","../../../frontend/node_modules/libphonenumber-js/es6/parsePhoneNumberWithError.js","../../../frontend/node_modules/libphonenumber-js/es6/AsYouTypeState.js","../../../frontend/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.util.js","../../../frontend/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js","../../../frontend/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternParser.js","../../../frontend/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternMatcher.js","../../../frontend/node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js","../../../frontend/node_modules/libphonenumber-js/es6/AsYouTypeParser.js","../../../frontend/node_modules/libphonenumber-js/es6/AsYouType.js","../../../frontend/node_modules/libphonenumber-js/es6/getExampleNumber.js","../../../frontend/node_modules/libphonenumber-js/max/exports/parsePhoneNumberWithError.js","../../../frontend/node_modules/libphonenumber-js/max/exports/AsYouType.js","../../../frontend/node_modules/libphonenumber-js/max/exports/getCountryCallingCode.js","../../../frontend/node_modules/libphonenumber-js/max/exports/Metadata.js","../../../frontend/node_modules/libphonenumber-js/max/exports/getExampleNumber.js","../../../frontend/node_modules/svelte-tel-input/dist/assets/allCountry.js","../../../frontend/node_modules/svelte-tel-input/dist/assets/examplePhoneNumbers.js","../../../frontend/node_modules/svelte-tel-input/dist/utils/helpers.js","../../../frontend/node_modules/svelte-tel-input/dist/utils/directives/telInputAction.js","../../../frontend/node_modules/svelte/src/runtime/store/index.js","../../../frontend/node_modules/svelte-tel-input/dist/stores/index.js","../../../frontend/node_modules/svelte-tel-input/dist/components/input/TelInput.svelte","../../../frontend/javascript/svelte/components/PhoneNumberPicker.svelte","../../../frontend/islands/PhoneNumberPicker.svelte"],"sourcesContent":["import { transition_in, transition_out } from './transitions.js';\nimport { run_all } from './utils.js';\n\n// general each functions:\n\nexport function ensure_array_like(array_like_or_iterator) {\n\treturn array_like_or_iterator?.length !== undefined\n\t\t? array_like_or_iterator\n\t\t: Array.from(array_like_or_iterator);\n}\n\n// keyed each functions:\n\n/** @returns {void} */\nexport function destroy_block(block, lookup) {\n\tblock.d(1);\n\tlookup.delete(block.key);\n}\n\n/** @returns {void} */\nexport function outro_and_destroy_block(block, lookup) {\n\ttransition_out(block, 1, 1, () => {\n\t\tlookup.delete(block.key);\n\t});\n}\n\n/** @returns {void} */\nexport function fix_and_destroy_block(block, lookup) {\n\tblock.f();\n\tdestroy_block(block, lookup);\n}\n\n/** @returns {void} */\nexport function fix_and_outro_and_destroy_block(block, lookup) {\n\tblock.f();\n\toutro_and_destroy_block(block, lookup);\n}\n\n/** @returns {any[]} */\nexport function update_keyed_each(\n\told_blocks,\n\tdirty,\n\tget_key,\n\tdynamic,\n\tctx,\n\tlist,\n\tlookup,\n\tnode,\n\tdestroy,\n\tcreate_each_block,\n\tnext,\n\tget_context\n) {\n\tlet o = old_blocks.length;\n\tlet n = list.length;\n\tlet i = o;\n\tconst old_indexes = {};\n\twhile (i--) old_indexes[old_blocks[i].key] = i;\n\tconst new_blocks = [];\n\tconst new_lookup = new Map();\n\tconst deltas = new Map();\n\tconst updates = [];\n\ti = n;\n\twhile (i--) {\n\t\tconst child_ctx = get_context(ctx, list, i);\n\t\tconst key = get_key(child_ctx);\n\t\tlet block = lookup.get(key);\n\t\tif (!block) {\n\t\t\tblock = create_each_block(key, child_ctx);\n\t\t\tblock.c();\n\t\t} else if (dynamic) {\n\t\t\t// defer updates until all the DOM shuffling is done\n\t\t\tupdates.push(() => block.p(child_ctx, dirty));\n\t\t}\n\t\tnew_lookup.set(key, (new_blocks[i] = block));\n\t\tif (key in old_indexes) deltas.set(key, Math.abs(i - old_indexes[key]));\n\t}\n\tconst will_move = new Set();\n\tconst did_move = new Set();\n\t/** @returns {void} */\n\tfunction insert(block) {\n\t\ttransition_in(block, 1);\n\t\tblock.m(node, next);\n\t\tlookup.set(block.key, block);\n\t\tnext = block.first;\n\t\tn--;\n\t}\n\twhile (o && n) {\n\t\tconst new_block = new_blocks[n - 1];\n\t\tconst old_block = old_blocks[o - 1];\n\t\tconst new_key = new_block.key;\n\t\tconst old_key = old_block.key;\n\t\tif (new_block === old_block) {\n\t\t\t// do nothing\n\t\t\tnext = new_block.first;\n\t\t\to--;\n\t\t\tn--;\n\t\t} else if (!new_lookup.has(old_key)) {\n\t\t\t// remove old block\n\t\t\tdestroy(old_block, lookup);\n\t\t\to--;\n\t\t} else if (!lookup.has(new_key) || will_move.has(new_key)) {\n\t\t\tinsert(new_block);\n\t\t} else if (did_move.has(old_key)) {\n\t\t\to--;\n\t\t} else if (deltas.get(new_key) > deltas.get(old_key)) {\n\t\t\tdid_move.add(new_key);\n\t\t\tinsert(new_block);\n\t\t} else {\n\t\t\twill_move.add(old_key);\n\t\t\to--;\n\t\t}\n\t}\n\twhile (o--) {\n\t\tconst old_block = old_blocks[o];\n\t\tif (!new_lookup.has(old_block.key)) destroy(old_block, lookup);\n\t}\n\twhile (n) insert(new_blocks[n - 1]);\n\trun_all(updates);\n\treturn new_blocks;\n}\n\n/** @returns {void} */\nexport function validate_each_keys(ctx, list, get_context, get_key) {\n\tconst keys = new Map();\n\tfor (let i = 0; i < list.length; i++) {\n\t\tconst key = get_key(get_context(ctx, list, i));\n\t\tif (keys.has(key)) {\n\t\t\tlet value = '';\n\t\t\ttry {\n\t\t\t\tvalue = `with value '${String(key)}' `;\n\t\t\t} catch (e) {\n\t\t\t\t// can't stringify\n\t\t\t}\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot have duplicate keys in a keyed each: Keys at index ${keys.get(\n\t\t\t\t\tkey\n\t\t\t\t)} and ${i} ${value}are duplicates`\n\t\t\t);\n\t\t}\n\t\tkeys.set(key, i);\n\t}\n}\n","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default {\"version\":4,\"country_calling_codes\":{\"1\":[\"US\",\"AG\",\"AI\",\"AS\",\"BB\",\"BM\",\"BS\",\"CA\",\"DM\",\"DO\",\"GD\",\"GU\",\"JM\",\"KN\",\"KY\",\"LC\",\"MP\",\"MS\",\"PR\",\"SX\",\"TC\",\"TT\",\"VC\",\"VG\",\"VI\"],\"7\":[\"RU\",\"KZ\"],\"20\":[\"EG\"],\"27\":[\"ZA\"],\"30\":[\"GR\"],\"31\":[\"NL\"],\"32\":[\"BE\"],\"33\":[\"FR\"],\"34\":[\"ES\"],\"36\":[\"HU\"],\"39\":[\"IT\",\"VA\"],\"40\":[\"RO\"],\"41\":[\"CH\"],\"43\":[\"AT\"],\"44\":[\"GB\",\"GG\",\"IM\",\"JE\"],\"45\":[\"DK\"],\"46\":[\"SE\"],\"47\":[\"NO\",\"SJ\"],\"48\":[\"PL\"],\"49\":[\"DE\"],\"51\":[\"PE\"],\"52\":[\"MX\"],\"53\":[\"CU\"],\"54\":[\"AR\"],\"55\":[\"BR\"],\"56\":[\"CL\"],\"57\":[\"CO\"],\"58\":[\"VE\"],\"60\":[\"MY\"],\"61\":[\"AU\",\"CC\",\"CX\"],\"62\":[\"ID\"],\"63\":[\"PH\"],\"64\":[\"NZ\"],\"65\":[\"SG\"],\"66\":[\"TH\"],\"81\":[\"JP\"],\"82\":[\"KR\"],\"84\":[\"VN\"],\"86\":[\"CN\"],\"90\":[\"TR\"],\"91\":[\"IN\"],\"92\":[\"PK\"],\"93\":[\"AF\"],\"94\":[\"LK\"],\"95\":[\"MM\"],\"98\":[\"IR\"],\"211\":[\"SS\"],\"212\":[\"MA\",\"EH\"],\"213\":[\"DZ\"],\"216\":[\"TN\"],\"218\":[\"LY\"],\"220\":[\"GM\"],\"221\":[\"SN\"],\"222\":[\"MR\"],\"223\":[\"ML\"],\"224\":[\"GN\"],\"225\":[\"CI\"],\"226\":[\"BF\"],\"227\":[\"NE\"],\"228\":[\"TG\"],\"229\":[\"BJ\"],\"230\":[\"MU\"],\"231\":[\"LR\"],\"232\":[\"SL\"],\"233\":[\"GH\"],\"234\":[\"NG\"],\"235\":[\"TD\"],\"236\":[\"CF\"],\"237\":[\"CM\"],\"238\":[\"CV\"],\"239\":[\"ST\"],\"240\":[\"GQ\"],\"241\":[\"GA\"],\"242\":[\"CG\"],\"243\":[\"CD\"],\"244\":[\"AO\"],\"245\":[\"GW\"],\"246\":[\"IO\"],\"247\":[\"AC\"],\"248\":[\"SC\"],\"249\":[\"SD\"],\"250\":[\"RW\"],\"251\":[\"ET\"],\"252\":[\"SO\"],\"253\":[\"DJ\"],\"254\":[\"KE\"],\"255\":[\"TZ\"],\"256\":[\"UG\"],\"257\":[\"BI\"],\"258\":[\"MZ\"],\"260\":[\"ZM\"],\"261\":[\"MG\"],\"262\":[\"RE\",\"YT\"],\"263\":[\"ZW\"],\"264\":[\"NA\"],\"265\":[\"MW\"],\"266\":[\"LS\"],\"267\":[\"BW\"],\"268\":[\"SZ\"],\"269\":[\"KM\"],\"290\":[\"SH\",\"TA\"],\"291\":[\"ER\"],\"297\":[\"AW\"],\"298\":[\"FO\"],\"299\":[\"GL\"],\"350\":[\"GI\"],\"351\":[\"PT\"],\"352\":[\"LU\"],\"353\":[\"IE\"],\"354\":[\"IS\"],\"355\":[\"AL\"],\"356\":[\"MT\"],\"357\":[\"CY\"],\"358\":[\"FI\",\"AX\"],\"359\":[\"BG\"],\"370\":[\"LT\"],\"371\":[\"LV\"],\"372\":[\"EE\"],\"373\":[\"MD\"],\"374\":[\"AM\"],\"375\":[\"BY\"],\"376\":[\"AD\"],\"377\":[\"MC\"],\"378\":[\"SM\"],\"380\":[\"UA\"],\"381\":[\"RS\"],\"382\":[\"ME\"],\"383\":[\"XK\"],\"385\":[\"HR\"],\"386\":[\"SI\"],\"387\":[\"BA\"],\"389\":[\"MK\"],\"420\":[\"CZ\"],\"421\":[\"SK\"],\"423\":[\"LI\"],\"500\":[\"FK\"],\"501\":[\"BZ\"],\"502\":[\"GT\"],\"503\":[\"SV\"],\"504\":[\"HN\"],\"505\":[\"NI\"],\"506\":[\"CR\"],\"507\":[\"PA\"],\"508\":[\"PM\"],\"509\":[\"HT\"],\"590\":[\"GP\",\"BL\",\"MF\"],\"591\":[\"BO\"],\"592\":[\"GY\"],\"593\":[\"EC\"],\"594\":[\"GF\"],\"595\":[\"PY\"],\"596\":[\"MQ\"],\"597\":[\"SR\"],\"598\":[\"UY\"],\"599\":[\"CW\",\"BQ\"],\"670\":[\"TL\"],\"672\":[\"NF\"],\"673\":[\"BN\"],\"674\":[\"NR\"],\"675\":[\"PG\"],\"676\":[\"TO\"],\"677\":[\"SB\"],\"678\":[\"VU\"],\"679\":[\"FJ\"],\"680\":[\"PW\"],\"681\":[\"WF\"],\"682\":[\"CK\"],\"683\":[\"NU\"],\"685\":[\"WS\"],\"686\":[\"KI\"],\"687\":[\"NC\"],\"688\":[\"TV\"],\"689\":[\"PF\"],\"690\":[\"TK\"],\"691\":[\"FM\"],\"692\":[\"MH\"],\"850\":[\"KP\"],\"852\":[\"HK\"],\"853\":[\"MO\"],\"855\":[\"KH\"],\"856\":[\"LA\"],\"880\":[\"BD\"],\"886\":[\"TW\"],\"960\":[\"MV\"],\"961\":[\"LB\"],\"962\":[\"JO\"],\"963\":[\"SY\"],\"964\":[\"IQ\"],\"965\":[\"KW\"],\"966\":[\"SA\"],\"967\":[\"YE\"],\"968\":[\"OM\"],\"970\":[\"PS\"],\"971\":[\"AE\"],\"972\":[\"IL\"],\"973\":[\"BH\"],\"974\":[\"QA\"],\"975\":[\"BT\"],\"976\":[\"MN\"],\"977\":[\"NP\"],\"992\":[\"TJ\"],\"993\":[\"TM\"],\"994\":[\"AZ\"],\"995\":[\"GE\"],\"996\":[\"KG\"],\"998\":[\"UZ\"]},\"countries\":{\"AC\":[\"247\",\"00\",\"(?:[01589]\\\\d|[46])\\\\d{4}\",[5,6],0,0,0,0,0,0,0,[[\"6[2-467]\\\\d{3}\",[5]],[\"4\\\\d{4}\",[5]],0,0,0,0,[\"(?:0[1-9]|[1589]\\\\d)\\\\d{4}\",[6]]]],\"AD\":[\"376\",\"00\",\"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\",[6,8,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"[135-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[[\"[78]\\\\d{5}\",[6]],[\"690\\\\d{6}|[356]\\\\d{5}\",[6,9]],[\"180[02]\\\\d{4}\",[8]],[\"[19]\\\\d{5}\",[6]]]],\"AE\":[\"971\",\"00\",\"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{2,9})\",\"$1 $2\",[\"60|8\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[236]|[479][2-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{5})\",\"$1 $2 $3\",[\"[479]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"[2-4679][2-8]\\\\d{6}\",[8]],[\"5[024-68]\\\\d{7}\",[9]],[\"400\\\\d{6}|800\\\\d{2,9}\"],[\"900[02]\\\\d{5}\",[9]],0,0,[\"600[25]\\\\d{5}\",[9]],0,0,[\"700[05]\\\\d{5}\",[9]]]],\"AF\":[\"93\",\"00\",\"[2-7]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\\\d{6}\"],[\"7\\\\d{8}\"]]],\"AG\":[\"1\",\"011\",\"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([457]\\\\d{6})$|1\",\"268$1\",0,\"268\",[[\"268(?:4(?:6[0-38]|84)|56[0-2])\\\\d{4}\"],[\"268(?:464|7(?:1[3-9]|[28]\\\\d|3[0246]|64|7[0-689]))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,[\"26840[69]\\\\d{4}\"],[\"26848[01]\\\\d{4}\"]]],\"AI\":[\"1\",\"011\",\"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2457]\\\\d{6})$|1\",\"264$1\",0,\"264\",[[\"264(?:292|4(?:6[12]|9[78]))\\\\d{4}\"],[\"264(?:235|4(?:69|76)|5(?:3[6-9]|8[1-4])|7(?:29|72))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,[\"264724\\\\d{4}\"]]],\"AL\":[\"355\",\"00\",\"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\",[6,7,8,9],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"80|9\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"4[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2358][2-5]|4\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[23578]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"4505[0-2]\\\\d{3}|(?:[2358][16-9]\\\\d[2-9]|4410)\\\\d{4}|(?:[2358][2-5][2-9]|4(?:[2-57-9][2-9]|6\\\\d))\\\\d{5}\",[8]],[\"6(?:[78][2-9]|9\\\\d)\\\\d{6}\",[9]],[\"800\\\\d{4}\",[7]],[\"900[1-9]\\\\d\\\\d\",[6]],[\"700[2-9]\\\\d{4}\",[8]],0,0,0,0,[\"808[1-9]\\\\d\\\\d\",[6]]]],\"AM\":[\"374\",\"00\",\"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]0\"],\"0 $1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2|3[12]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"1|47\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[3-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:(?:1[0-25]|47)\\\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\\\d{5}\"],[\"(?:33|4[1349]|55|77|88|9[13-9])\\\\d{6}\"],[\"800\\\\d{5}\"],[\"90[016]\\\\d{5}\"],0,0,0,0,[\"60(?:2[78]|3[5-9]|4[02-9]|5[0-46-9]|[6-8]\\\\d|9[0-2])\\\\d{4}\"],[\"80[1-4]\\\\d{5}\"]]],\"AO\":[\"244\",\"00\",\"[29]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[29]\"]]],0,0,0,0,0,0,[[\"2\\\\d(?:[0134][25-9]|[25-9]\\\\d)\\\\d{5}\"],[\"9[1-59]\\\\d{7}\"]]],\"AR\":[\"54\",\"00\",\"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\",[10,11],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2-$3\",[\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\",\"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"1\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[68]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[23]\"],\"0$1\",1],[\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9(?:2[2-469]|3[3-578])\",\"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\",\"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\",\"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 15-$3-$4\",[\"91\"],\"0$1\",0,\"$1 $2 $3-$4\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 15-$3-$4\",[\"9\"],\"0$1\",0,\"$1 $2 $3-$4\"]],\"0\",0,\"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\",\"9$1\",0,0,[[\"3888[013-9]\\\\d{5}|3(?:7(?:1[15]|81)|8(?:21|4[16]|69|9[12]))[46]\\\\d{5}|(?:2(?:657|9(?:54|66))|3(?:7(?:55|77)|865))[2-8]\\\\d{5}|(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\\\d{5}|(?:2(?:284|3(?:02|23)|920)|3(?:4(?:46|8[27]|92)|541|878))[2-7]\\\\d{5}|(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\\\d{5}|(?:(?:11[1-8]|670)\\\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6])))\\\\d{6}|2(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\\\d{5}|(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\\\d{5}|(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\\\d{5}\",[10]],[\"93(?:7(?:1[15]|81)[46]|8(?:(?:21|4[16]|69|9[12])[46]|88[013-9]))\\\\d{5}|9(?:2(?:657|9(?:54|66))|3(?:7(?:55|77)|865))[2-8]\\\\d{5}|9(?:2(?:2(?:2[59]|44|52)|3(?:26|44)|473|9(?:[07]2|2[26]|34|46))|3327)[45]\\\\d{5}|9(?:2(?:284|3(?:02|23)|920)|3(?:4(?:46|8[27]|92)|541|878))[2-7]\\\\d{5}|9(?:2(?:(?:26|62)2|320|477|9(?:42|83))|3(?:329|4(?:62|76|89)|564))[2-6]\\\\d{5}|(?:675\\\\d|9(?:11[1-8]\\\\d|2(?:2(?:0[45]|1[2-6]|3[3-6])|3(?:[06]4|7[45])|494|6(?:04|1[2-8]|[36][45]|4[3-6])|80[45]|9(?:[17][4-6]|[48][45]|9[3-6]))|3(?:364|4(?:1[2-8]|[235][4-6]|84)|5(?:1[2-9]|[38][4-6])|6(?:2[45]|44)|7[069][45]|8(?:0[45]|[17][2-6]|3[4-6]|[58][3-6]))))\\\\d{6}|92(?:2(?:21|4[23]|6[145]|7[1-4]|8[356]|9[267])|3(?:16|3[13-8]|43|5[346-8]|9[3-5])|475|6(?:2[46]|4[78]|5[1568])|9(?:03|2[1457-9]|3[1356]|4[08]|[56][23]|82))4\\\\d{5}|9(?:2(?:2(?:57|81)|3(?:24|46|92)|9(?:01|23|64))|3(?:4(?:42|71)|5(?:25|37|4[347]|71)|7(?:18|5[17])))[3-6]\\\\d{5}|9(?:2(?:2(?:02|2[3467]|4[156]|5[45]|6[6-8]|91)|3(?:1[47]|25|[45][25]|96)|47[48]|625|932)|3(?:38[2578]|4(?:0[0-24-9]|3[78]|4[457]|58|6[03-9]|72|83|9[136-8])|5(?:2[124]|[368][23]|4[2689]|7[2-6])|7(?:16|2[15]|3[145]|4[13]|5[468]|7[2-5]|8[26])|8(?:2[5-7]|3[278]|4[3-5]|5[78]|6[1-378]|[78]7|94)))[4-6]\\\\d{5}\"],[\"800\\\\d{7,8}\"],[\"60[04579]\\\\d{7}\",[10]],0,0,[\"810\\\\d{7}\",[10]]]],\"AS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\",[10],0,\"1\",0,\"([267]\\\\d{6})$|1\",\"684$1\",0,\"684\",[[\"6846(?:22|33|44|55|77|88|9[19])\\\\d{4}\"],[\"684(?:2(?:48|5[2468]|7[26])|7(?:3[13]|70|82))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"AT\":[\"43\",\"00\",\"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\",[4,5,6,7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3,12})\",\"$1 $2\",[\"1(?:11|[2-9])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})\",\"$1 $2\",[\"517\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"5[079]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,10})\",\"$1 $2\",[\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,9})\",\"$1 $2\",[\"[2-467]|5[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\",\"$1 $2 $3\",[\"5\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1(?:11\\\\d|[2-9]\\\\d{3,11})|(?:316|463|(?:51|66|73)2)\\\\d{3,10}|(?:2(?:1[467]|2[13-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|9[1458])|3(?:1[1-578]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|7[1368]|8[2457])|5(?:2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[135-8]|5[468])|7(?:2[1-8]|35|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\\\d{4,10}\"],[\"6(?:5[0-3579]|6[013-9]|[7-9]\\\\d)\\\\d{4,10}\",[7,8,9,10,11,12,13]],[\"800\\\\d{6,10}\",[9,10,11,12,13]],[\"(?:8[69][2-68]|9(?:0[01]|3[019]))\\\\d{6,10}\",[9,10,11,12,13]],0,0,0,0,[\"5(?:0[1-9]|17|[79]\\\\d)\\\\d{2,10}|7[28]0\\\\d{6,10}\",[5,6,7,8,9,10,11,12,13]],[\"8(?:10|2[018])\\\\d{6,10}|828\\\\d{5}\",[8,9,10,11,12,13]]]],\"AU\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\",[5,6,7,8,9,10,12],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"16\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"16\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"14|4\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[2378]\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:30|[89])\"]]],\"0\",0,\"(183[12])|0\",0,0,0,[[\"(?:(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d|3(?:(?:[0-3589]\\\\d|6[1-9]|7[0-35-9])\\\\d|4(?:[0-578]\\\\d|90)))\\\\d\\\\d|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4])|3\\\\d\\\\d)|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[0-36-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,[\"163\\\\d{2,6}\",[5,6,7,8,9]],[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"AW\":[\"297\",\"00\",\"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[25-9]\"]]],0,0,0,0,0,0,[[\"5(?:2\\\\d|8[1-9])\\\\d{4}\"],[\"(?:290|5[69]\\\\d|6(?:[03]0|22|4[0-2]|[69]\\\\d)|7(?:[34]\\\\d|7[07])|9(?:6[45]|9[4-8]))\\\\d{4}\"],[\"800\\\\d{4}\"],[\"900\\\\d{4}\"],0,0,0,0,[\"(?:28\\\\d|501)\\\\d{4}\"]]],\"AX\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\",[5,6,7,8,9,10,11,12],0,\"0\",0,0,0,0,\"18\",[[\"18[1-8]\\\\d{3,6}\",[6,7,8,9]],[\"4946\\\\d{2,6}|(?:4[0-8]|50)\\\\d{4,8}\",[6,7,8,9,10]],[\"800\\\\d{4,6}\",[7,8,9]],[\"[67]00\\\\d{5,6}\",[8,9]],0,0,[\"20\\\\d{4,8}|60[12]\\\\d{5,6}|7(?:099\\\\d{4,5}|5[03-9]\\\\d{3,7})|20[2-59]\\\\d\\\\d|(?:606|7(?:0[78]|1|3\\\\d))\\\\d{7}|(?:10|29|3[09]|70[1-5]\\\\d)\\\\d{4,8}\"]],\"00\"],\"AZ\":[\"994\",\"00\",\"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[28]|2|365|46\",\"1[28]|2|365[45]|46\",\"1[28]|2|365(?:4|5[02])|46\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[13-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2[12]428|3655[02])\\\\d{4}|(?:2(?:22[0-79]|63[0-28])|3654)\\\\d{5}|(?:(?:1[28]|46)\\\\d|2(?:[014-6]2|[23]3))\\\\d{6}\"],[\"36554\\\\d{4}|(?:[16]0|4[04]|5[015]|7[07]|99)\\\\d{7}\"],[\"88\\\\d{7}\"],[\"900200\\\\d{3}\"]]],\"BA\":[\"387\",\"00\",\"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[1-3]|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2-$3\",[\"[3-5]|6[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3(?:[05-79][2-9]|1[4579]|[23][24-9]|4[2-4689]|8[2457-9])|49[2-579]|5(?:0[2-49]|[13][2-9]|[268][2-4679]|4[4689]|5[2-79]|7[2-69]|9[2-4689]))\\\\d{5}\",[8]],[\"6040\\\\d{5}|6(?:03|[1-356]|44|7\\\\d)\\\\d{6}\"],[\"8[08]\\\\d{6}\",[8]],[\"9[0246]\\\\d{6}\",[8]],0,0,[\"703[235]0\\\\d{3}|70(?:2[0-5]|3[0146]|[56]0)\\\\d{4}\",[8]],0,0,[\"8[12]\\\\d{6}\",[8]]]],\"BB\":[\"1\",\"011\",\"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"246$1\",0,\"246\",[[\"246521[0369]\\\\d{3}|246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\\\d|3[2-9])|5(?:20|[34]\\\\d|54|7[1-3])|6(?:2\\\\d|38)|7[35]7|9(?:1[89]|63))\\\\d{4}\"],[\"246(?:(?:2(?:[3568]\\\\d|4[0-57-9])|3(?:5[2-9]|6[0-6])|4(?:46|5\\\\d)|69[5-7]|8(?:[2-5]\\\\d|83))\\\\d|52(?:1[147]|20))\\\\d{3}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"(?:246976|900[2-9]\\\\d\\\\d)\\\\d{4}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,[\"246(?:292|367|4(?:1[7-9]|3[01]|4[47-9]|67)|7(?:1[2-9]|2\\\\d|3[016]|53))\\\\d{4}\"],0,[\"24631\\\\d{5}\"]]],\"BD\":[\"880\",\"00\",\"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1-$2\",[\"31[5-8]|[459]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1-$2\",[\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,6})\",\"$1-$2\",[\"[13-9]|22\"],\"0$1\"],[\"(\\\\d)(\\\\d{7,8})\",\"$1-$2\",[\"2\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:4(?:31\\\\d\\\\d|423)|5222)\\\\d{3}(?:\\\\d{2})?|8332[6-9]\\\\d\\\\d|(?:3(?:03[56]|224)|4(?:22[25]|653))\\\\d{3,4}|(?:3(?:42[47]|529|823)|4(?:027|525|65(?:28|8))|562|6257|7(?:1(?:5[3-5]|6[12]|7[156]|89)|22[589]56|32|42675|52(?:[25689](?:56|8)|[347]8)|71(?:6[1267]|75|89)|92374)|82(?:2[59]|32)56|9(?:03[23]56|23(?:256|373)|31|5(?:1|2[4589]56)))\\\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[0136-9]|7[0-7]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|181|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|7(?:22[57-9]|42[56]|82[35])8|8(?:0[124-9]|2(?:181|2[02-4679]8)|4[12]|[5-7]2)|9(?:[04]2|2(?:2|328)|81))\\\\d{4}|(?:2(?:222|[45]\\\\d)\\\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\\\d|[257]1|332|4(?:2[246]|5[25])|6(?:2[35]|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[35-79]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\\\d|[3-589]1|6[12]|72[24])|8(?:217|3[12]|[5-7]1)|9[24]1)\\\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\\\d{5}|[59]1\\\\d{5}\"],[\"(?:1[13-9]\\\\d|644)\\\\d{7}|(?:3[78]|44|66)[02-9]\\\\d{7}\",[10]],[\"80[03]\\\\d{7}\",[10]],0,0,0,0,0,[\"96(?:0[469]|1[0-47]|3[389]|43|6[69]|7[78])\\\\d{6}\",[10]]]],\"BE\":[\"32\",\"00\",\"4\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:80|9)0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[239]|4[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[15-8]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"80[2-8]\\\\d{5}|(?:1[0-69]|[23][2-8]|4[23]|5\\\\d|6[013-57-9]|71|8[1-79]|9[2-4])\\\\d{6}\",[8]],[\"4[5-9]\\\\d{7}\",[9]],[\"800[1-9]\\\\d{4}\",[8]],[\"(?:70(?:2[0-57]|3[04-7]|44|6[4-69]|7[0579])|90\\\\d\\\\d)\\\\d{4}\",[8]],0,0,[\"78(?:0[57]|1[014-8]|2[25]|3[15-8]|48|[56]0|7[06-8]|9\\\\d)\\\\d{4}\",[8]],0,0,[\"7879\\\\d{4}\",[8]]]],\"BF\":[\"226\",\"00\",\"[025-7]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[025-7]\"]]],0,0,0,0,0,0,[[\"2(?:0(?:49|5[23]|6[5-7]|9[016-9])|4(?:4[569]|5[4-6]|6[5-7]|7[0179])|5(?:[34]\\\\d|50|6[5-7]))\\\\d{4}\"],[\"(?:0[1-35-7]|5[0-8]|[67]\\\\d)\\\\d{6}\"]]],\"BG\":[\"359\",\"00\",\"00800\\\\d{7}|[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\",[6,7,8,9,12],[[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"43[1-6]|70[1-9]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:70|8)0\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3\",[\"43[1-7]|7\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[48]|9[08]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"2\\\\d{5,7}|(?:43[1-6]|70[1-9])\\\\d{4,5}|(?:[36]\\\\d|4[124-7]|[57][1-9]|8[1-6]|9[1-7])\\\\d{5,6}\",[6,7,8]],[\"(?:43[07-9]|99[69]\\\\d)\\\\d{5}|(?:8[7-9]|98)\\\\d{7}\",[8,9]],[\"(?:00800\\\\d\\\\d|800)\\\\d{5}\",[8,12]],[\"90\\\\d{6}\",[8]],0,0,0,0,0,[\"700\\\\d{5}\",[8]]]],\"BH\":[\"973\",\"00\",\"[136-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[13679]|8[02-4679]\"]]],0,0,0,0,0,0,[[\"(?:1(?:3[1356]|6[0156]|7\\\\d)\\\\d|6(?:1[16]\\\\d|500|6(?:0\\\\d|3[12]|44|55|7[7-9]|88)|9[69][69])|7(?:[07]\\\\d\\\\d|1(?:11|78)))\\\\d{4}\"],[\"(?:3(?:[0-79]\\\\d|8[0-57-9])\\\\d|6(?:3(?:00|33|6[16])|441|6(?:3[03-9]|[69]\\\\d|7[0-689])))\\\\d{4}\"],[\"8[02369]\\\\d{6}\"],[\"(?:87|9[0-8])\\\\d{6}\"],0,0,0,0,0,[\"84\\\\d{6}\"]]],\"BI\":[\"257\",\"00\",\"(?:[267]\\\\d|31)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2367]\"]]],0,0,0,0,0,0,[[\"(?:22|31)\\\\d{6}\"],[\"(?:29|[67][125-9])\\\\d{6}\"]]],\"BJ\":[\"229\",\"00\",\"[24-689]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-689]\"]]],0,0,0,0,0,0,[[\"2(?:02|1[037]|2[45]|3[68]|4\\\\d)\\\\d{5}\"],[\"(?:4[0-7]|[56]\\\\d|9[013-9])\\\\d{6}\"],0,0,0,0,[\"81\\\\d{6}\"],0,[\"857[58]\\\\d{4}\"]]],\"BL\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:2[7-9]|3[3-7]|5[12]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"BM\":[\"1\",\"011\",\"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"441$1\",0,\"441\",[[\"441(?:[46]\\\\d\\\\d|5(?:4\\\\d|60|89))\\\\d{4}\"],[\"441(?:[2378]\\\\d|5[0-39]|9[02])\\\\d{5}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"BN\":[\"673\",\"00\",\"[2-578]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-578]\"]]],0,0,0,0,0,0,[[\"22[0-7]\\\\d{4}|(?:2[013-9]|[34]\\\\d|5[0-25-9])\\\\d{5}\"],[\"(?:22[89]|[78]\\\\d\\\\d)\\\\d{4}\"],0,0,0,0,0,0,[\"5[34]\\\\d{5}\"]]],\"BO\":[\"591\",\"00(?:1\\\\d)?\",\"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\",[8,9],[[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[23]|4[46]\"]],[\"(\\\\d{8})\",\"$1\",[\"[67]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,\"0(1\\\\d)?\",0,0,0,[[\"(?:2(?:2\\\\d\\\\d|5(?:11|[258]\\\\d|9[67])|6(?:12|2\\\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\\\d\\\\d|4(?:6\\\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:[27]\\\\d|3[2-4]|4[248]|5[24]|6[2-6]))|4(?:4\\\\d\\\\d|6(?:11|[24689]\\\\d|72)))\\\\d{4}\",[8]],[\"[67]\\\\d{7}\",[8]],[\"8001[07]\\\\d{4}\",[9]]]],\"BQ\":[\"599\",\"00\",\"(?:[34]1|7\\\\d)\\\\d{5}\",[7],0,0,0,0,0,0,\"[347]\",[[\"(?:318[023]|41(?:6[023]|70)|7(?:1[578]|2[05]|50)\\\\d)\\\\d{3}\"],[\"(?:31(?:8[14-8]|9[14578])|416[14-9]|7(?:0[01]|7[07]|8\\\\d|9[056])\\\\d)\\\\d{3}\"]]],\"BR\":[\"55\",\"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\",\"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\",[8,9,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"300|4(?:0[02]|37)\",\"4(?:02|37)0|[34]00\"]],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:[358]|90)0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2-$3\",[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1 $2-$3\",[\"[16][1-9]|[2-57-9]\"],\"($1)\"]],\"0\",0,\"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\",\"$2\",0,0,[[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\\\d{7}\",[10]],[\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])(?:7|9\\\\d)\\\\d{7}\",[10,11]],[\"800\\\\d{6,7}\",[9,10]],[\"300\\\\d{6}|[59]00\\\\d{6,7}\",[9,10]],0,0,0,0,0,[\"(?:30[03]\\\\d{3}|4(?:0(?:0\\\\d|20)|370))\\\\d{4}|300\\\\d{5}\",[8,10]]]],\"BS\":[\"1\",\"011\",\"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([3-8]\\\\d{6})$|1\",\"242$1\",0,\"242\",[[\"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[347]|8[0-4]|9[2-467])|461|502|6(?:0[1-5]|12|2[013]|[45]0|7[67]|8[78]|9[89])|7(?:02|88))\\\\d{4}\"],[\"242(?:3(?:5[79]|7[56]|95)|4(?:[23][1-9]|4[1-35-9]|5[1-8]|6[2-8]|7\\\\d|81)|5(?:2[45]|3[35]|44|5[1-46-9]|65|77)|6[34]6|7(?:27|38)|8(?:0[1-9]|1[02-9]|2\\\\d|3[0-4]|[89]9))\\\\d{4}\"],[\"242300\\\\d{4}|8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,[\"242225\\\\d{4}\"]]],\"BT\":[\"975\",\"00\",\"[17]\\\\d{7}|[2-8]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-68]|7[246]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[67]|7\"]]],0,0,0,0,0,0,[[\"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\\\d{5}\",[7]],[\"(?:1[67]|77)\\\\d{6}\",[8]]]],\"BW\":[\"267\",\"00\",\"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[24-6]|3[15-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0-35-9]|55|[69]\\\\d|7[013]|81)|4(?:6[03]|7[1267]|9[0-5])|5(?:3[03489]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\\\d{4}\",[7]],[\"(?:321|7[1-8]\\\\d)\\\\d{5}\",[8]],[\"(?:0800|800\\\\d)\\\\d{6}\",[10]],[\"90\\\\d{5}\",[7]],0,0,0,0,[\"79(?:1(?:[01]\\\\d|2[0-8])|2[0-7]\\\\d)\\\\d{3}\",[8]]]],\"BY\":[\"375\",\"810\",\"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"800\"],\"8 $1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\",\"$1 $2 $3\",[\"800\"],\"8 $1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\",\"$1 $2-$3\",[\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\",\"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"1(?:[56]|7[467])|2[1-3]\"],\"8 0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-4]\"],\"8 0$1\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"8 $1\"]],\"8\",0,\"0|80?\",0,0,0,[[\"(?:1(?:5(?:1[1-5]|[24]\\\\d|6[2-4]|9[1-7])|6(?:[235]\\\\d|4[1-7])|7\\\\d\\\\d)|2(?:1(?:[246]\\\\d|3[0-35-9]|5[1-9])|2(?:[235]\\\\d|4[0-8])|3(?:[26]\\\\d|3[02-79]|4[024-7]|5[03-7])))\\\\d{5}\",[9]],[\"(?:2(?:5[5-79]|9[1-9])|(?:33|44)\\\\d)\\\\d{6}\",[9]],[\"800\\\\d{3,7}|8(?:0[13]|20\\\\d)\\\\d{7}\"],[\"(?:810|902)\\\\d{7}\",[10]],0,0,0,0,[\"249\\\\d{6}\",[9]]],\"8~10\"],\"BZ\":[\"501\",\"00\",\"(?:0800\\\\d|[2-8])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-8]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"0\"]]],0,0,0,0,0,0,[[\"(?:2(?:[02]\\\\d|36|[68]0)|[3-58](?:[02]\\\\d|[68]0)|7(?:[02]\\\\d|32|[68]0))\\\\d{4}\",[7]],[\"6[0-35-7]\\\\d{5}\",[7]],[\"0800\\\\d{7}\",[11]]]],\"CA\":[\"1\",\"011\",\"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\",[7,10],0,\"1\",0,0,0,0,0,[[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|90[25])[2-9]\\\\d{6}\",[10]],[\"\",[10]],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\",[10]],[\"900[2-9]\\\\d{6}\",[10]],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-9]|33|44|66|77|88)|622)[2-9]\\\\d{6}\",[10]],0,[\"310\\\\d{4}\",[7]],0,[\"600[2-9]\\\\d{6}\",[10]]]],\"CC\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[0-36-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CD\":[\"243\",\"00\",\"[189]\\\\d{8}|[1-68]\\\\d{6}\",[7,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[1-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"12\\\\d{7}|[1-6]\\\\d{6}\"],[\"88\\\\d{5}|(?:8[0-59]|9[017-9])\\\\d{7}\"]]],\"CF\":[\"236\",\"00\",\"(?:[27]\\\\d{3}|8776)\\\\d{4}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[278]\"]]],0,0,0,0,0,0,[[\"2[12]\\\\d{6}\"],[\"7[024-7]\\\\d{6}\"],0,[\"8776\\\\d{4}\"]]],\"CG\":[\"242\",\"00\",\"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[02]\"]]],0,0,0,0,0,0,[[\"222[1-589]\\\\d{5}\"],[\"026(?:1[0-5]|6[6-9])\\\\d{4}|0(?:[14-6]\\\\d\\\\d|2(?:40|5[5-8]|6[07-9]))\\\\d{5}\"],0,[\"80[0-2]\\\\d{6}\"]]],\"CH\":[\"41\",\"00\",\"8\\\\d{11}|[2-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8[047]|90\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]|81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2[12467]|3[1-4]|4[134]|5[256]|6[12]|[7-9]1)\\\\d{7}\"],[\"7[35-9]\\\\d{7}\"],[\"800\\\\d{6}\"],[\"90[016]\\\\d{6}\"],[\"878\\\\d{6}\"],0,[\"5[18]\\\\d{7}\"],[\"74[0248]\\\\d{6}\"],0,[\"84[0248]\\\\d{6}\"]]],\"CI\":[\"225\",\"00\",\"[02]\\\\d{9}\",[10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\",\"$1 $2 $3 $4\",[\"2\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"0\"]]],0,0,0,0,0,0,[[\"2(?:[15]\\\\d{3}|7(?:2(?:0[23]|1[2357]|2[245]|3[45]|4[3-5])|3(?:06|1[69]|[2-6]7)))\\\\d{5}\"],[\"0[157]\\\\d{8}\"]]],\"CK\":[\"682\",\"00\",\"[2-578]\\\\d{4}\",[5],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"[2-578]\"]]],0,0,0,0,0,0,[[\"(?:2\\\\d|3[13-7]|4[1-5])\\\\d{3}\"],[\"[578]\\\\d{4}\"]]],\"CL\":[\"56\",\"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\",\"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\",[9,10,11],[[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"219\",\"2196\"],\"($1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[1-36]\"],\"($1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"9[2-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"60|8\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"60\"]]],0,0,0,0,0,0,[[\"2(?:1982[0-6]|3314[05-9])\\\\d{3}|(?:2(?:1(?:160|962)|3(?:2\\\\d\\\\d|3(?:[03467]\\\\d|1[0-35-9]|2[1-9]|5[0-24-9]|8[0-3])|600)|646[59])|80[1-9]\\\\d\\\\d|9(?:3(?:[0-57-9]\\\\d\\\\d|6(?:0[02-9]|[1-9]\\\\d))|6(?:[0-8]\\\\d\\\\d|9(?:[02-79]\\\\d|1[05-9]))|7[1-9]\\\\d\\\\d|9(?:[03-9]\\\\d\\\\d|1(?:[0235-9]\\\\d|4[0-24-9])|2(?:[0-79]\\\\d|8[0-46-9]))))\\\\d{4}|(?:22|3[2-5]|[47][1-35]|5[1-3578]|6[13-57]|8[1-9]|9[2458])\\\\d{7}\",[9]],[\"\",[9]],[\"(?:123|8)00\\\\d{6}\",[9,11]],0,0,0,0,0,[\"44\\\\d{7}\",[9]],[\"600\\\\d{7,8}\",[10,11]]]],\"CM\":[\"237\",\"00\",\"[26]\\\\d{8}|88\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"88\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[26]|88\"]]],0,0,0,0,0,0,[[\"2(?:22|33)\\\\d{6}\",[9]],[\"(?:24[23]|6[25-9]\\\\d)\\\\d{6}\",[9]],[\"88\\\\d{6,7}\"]]],\"CN\":[\"86\",\"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\",\"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5,6})\",\"$1 $2\",[\"(?:10|2[0-57-9])[19]\",\"(?:10|2[0-57-9])(?:10|9[56])\",\"10(?:10|9[56])|2[0-57-9](?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\",\"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\",\"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\",\"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"(?:4|80)0\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|2(?:[02-57-9]|1[1-9])\",\"10|2(?:[02-57-9]|1[1-9])\",\"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-578]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"1[3-9]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"[12]\"],\"0$1\",1]],\"0\",0,\"(1(?:[12]\\\\d|79)\\\\d\\\\d)|0\",0,0,0,[[\"(?:10(?:[02-79]\\\\d\\\\d|[18](?:0[1-9]|[1-9]\\\\d))|21(?:[18](?:0[1-9]|[1-9]\\\\d)|[2-79]\\\\d\\\\d))\\\\d{5}|(?:43[35]|754)\\\\d{7,8}|8(?:078\\\\d{7}|51\\\\d{7,8})|(?:10|(?:2|85)1|43[35]|754)(?:100\\\\d\\\\d|95\\\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\\\d{7}|1(?:0(?:0\\\\d\\\\d(?:\\\\d{3})?|[1-9]\\\\d{5})|[1-9]\\\\d{6})|9(?:[0-46-9]\\\\d{6}|5\\\\d{3}(?:\\\\d(?:\\\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:[02-8]\\\\d{6}|1(?:0(?:0\\\\d\\\\d(?:\\\\d{2})?|[1-9]\\\\d{4})|[1-9]\\\\d{5})|9(?:[0-46-9]\\\\d{5}|5\\\\d{3,5}))\",[7,8,9,10,11]],[\"1740[0-5]\\\\d{6}|1(?:[38]\\\\d|4[57]|[59][0-35-9]|6[25-7]|7[0-35-8])\\\\d{8}\",[11]],[\"(?:(?:10|21)8|8)00\\\\d{7}\",[10,12]],[\"16[08]\\\\d{5}\",[8]],0,0,0,0,0,[\"10(?:10\\\\d{4}|96\\\\d{3,4})|400\\\\d{7}|950\\\\d{7,8}|(?:2[0-57-9]|3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))96\\\\d{3,4}\",[7,8,9,10,11]]],\"00\"],\"CO\":[\"57\",\"00(?:4(?:[14]4|56)|[579])\",\"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\",[10,11],[[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"6\"],\"($1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3[0-357]|91\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{7})\",\"$1-$2-$3\",[\"1\"],\"0$1\",0,\"$1 $2 $3\"]],\"0\",0,\"0([3579]|4(?:[14]4|56))?\",0,0,0,[[\"601055(?:[0-4]\\\\d|50)\\\\d\\\\d|6010(?:[0-4]\\\\d|5[0-4])\\\\d{4}|60(?:[124-7][2-9]|8[1-9])\\\\d{6}\",[10]],[\"333301[0-5]\\\\d{3}|3333(?:00|2[5-9]|[3-9]\\\\d)\\\\d{4}|(?:3(?:24[1-9]|3(?:00|3[0-24-9]))|9101)\\\\d{6}|3(?:0[0-5]|1\\\\d|2[0-3]|5[01]|70)\\\\d{7}\",[10]],[\"1800\\\\d{7}\",[11]],[\"19(?:0[01]|4[78])\\\\d{7}\",[11]]]],\"CR\":[\"506\",\"00\",\"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\",[8,10],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[3-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[89]\"]]],0,0,\"(19(?:0[0-2468]|1[09]|20|66|77|99))\",0,0,0,[[\"210[7-9]\\\\d{4}|2(?:[024-7]\\\\d|1[1-9])\\\\d{5}\",[8]],[\"(?:3005\\\\d|6500[01])\\\\d{3}|(?:5[07]|6[0-4]|7[0-3]|8[3-9])\\\\d{6}\",[8]],[\"800\\\\d{7}\",[10]],[\"90[059]\\\\d{7}\",[10]],0,0,0,0,[\"(?:210[0-6]|4\\\\d{3}|5100)\\\\d{4}\",[8]]]],\"CU\":[\"53\",\"119\",\"(?:[2-7]|8\\\\d\\\\d)\\\\d{7}|[2-47]\\\\d{6}|[34]\\\\d{5}\",[6,7,8,10],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"2[1-4]|[34]\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{6,7})\",\"$1 $2\",[\"7\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"[56]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3[23]|4[89])\\\\d{4,6}|(?:31|4[36]|8(?:0[25]|78)\\\\d)\\\\d{6}|(?:2[1-4]|4[1257]|7\\\\d)\\\\d{5,6}\"],[\"(?:5\\\\d|6[2-4])\\\\d{6}\",[8]],[\"800\\\\d{7}\",[10]],0,0,0,0,0,0,[\"807\\\\d{7}\",[10]]]],\"CV\":[\"238\",\"0\",\"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2-589]\"]]],0,0,0,0,0,0,[[\"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\\\d|7[1-3]|8[1-5])\\\\d{4}\"],[\"(?:36|5[1-389]|9\\\\d)\\\\d{5}\"],[\"800\\\\d{4}\"],0,0,0,0,0,[\"(?:3[3-5]|4[356])\\\\d{5}\"]]],\"CW\":[\"599\",\"00\",\"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[3467]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9[4-8]\"]]],0,0,0,0,0,\"[69]\",[[\"9(?:4(?:3[0-5]|4[14]|6\\\\d)|50\\\\d|7(?:2[014]|3[02-9]|4[4-9]|6[357]|77|8[7-9])|8(?:3[39]|[46]\\\\d|7[01]|8[57-9]))\\\\d{4}\"],[\"953[01]\\\\d{4}|9(?:5[12467]|6[5-9])\\\\d{5}\"],0,0,0,0,0,[\"955\\\\d{5}\",[8]],0,[\"60[0-2]\\\\d{4}\",[7]]]],\"CX\":[\"61\",\"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\",\"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\",[6,7,8,9,10,12],0,\"0\",0,\"([59]\\\\d{7})$|0\",\"8$1\",0,0,[[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\",[9]],[\"4(?:(?:79|94)[01]|83[0-389])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[0-36-9]|7[02-8]|8[0-24-9]|9[0-37-9])\\\\d{6}\",[9]],[\"180(?:0\\\\d{3}|2)\\\\d{3}\",[7,10]],[\"190[0-26]\\\\d{6}\",[10]],0,0,0,0,[\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\",[9]],[\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\",[6,8,10,12]]],\"0011\"],\"CY\":[\"357\",\"00\",\"(?:[279]\\\\d|[58]0)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[257-9]\"]]],0,0,0,0,0,0,[[\"2[2-6]\\\\d{6}\"],[\"9(?:10|[4-79]\\\\d)\\\\d{5}\"],[\"800\\\\d{5}\"],[\"90[09]\\\\d{5}\"],[\"700\\\\d{5}\"],0,[\"(?:50|77)\\\\d{6}\"],0,0,[\"80[1-9]\\\\d{5}\"]]],\"CZ\":[\"420\",\"00\",\"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]|9[015-7]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"96\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,[[\"(?:2\\\\d|3[1257-9]|4[16-9]|5[13-9])\\\\d{7}\"],[\"(?:60[1-8]\\\\d|7(?:0(?:[2-5]\\\\d|60)|190|[2379]\\\\d\\\\d))\\\\d{5}\"],[\"800\\\\d{6}\"],[\"9(?:0[05689]|76)\\\\d{6}\"],[\"70[01]\\\\d{6}\"],0,[\"9(?:5\\\\d|7[2-4])\\\\d{6}\"],0,[\"9[17]0\\\\d{6}\"],[\"8[134]\\\\d{7}\"]]],\"DE\":[\"49\",\"00\",\"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|2[13]|31|[46][1-8])\\\\d{1,9}\",[4,5,6,7,8,9,10,11,12,13,14,15],[[\"(\\\\d{2})(\\\\d{3,13})\",\"$1 $2\",[\"3[02]|40|[68]9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,12})\",\"$1 $2\",[\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\",\"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2,11})\",\"$1 $2\",[\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\",\"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"138\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{2,10})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,11})\",\"$1 $2\",[\"181\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\",\"$1 $2 $3\",[\"1(?:3|80)|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,8})\",\"$1 $2\",[\"1[67]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7,12})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"185\",\"1850\",\"18500\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"18[68]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{7})\",\"$1 $2\",[\"15[1279]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{6})\",\"$1 $2\",[\"15[03568]\",\"15(?:[0568]|31)\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{8})\",\"$1 $2\",[\"18\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\",\"$1 $2 $3\",[\"1(?:6[023]|7)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\",\"$1 $2 $3\",[\"15[279]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\",\"$1 $2 $3\",[\"15\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"32\\\\d{9,11}|49[1-6]\\\\d{10}|322\\\\d{6}|49[0-7]\\\\d{3,9}|(?:[34]0|[68]9)\\\\d{3,13}|(?:2(?:0[1-689]|[1-3569]\\\\d|4[0-8]|7[1-7]|8[0-7])|3(?:[3569]\\\\d|4[0-79]|7[1-7]|8[1-8])|4(?:1[02-9]|[2-48]\\\\d|5[0-6]|6[0-8]|7[0-79])|5(?:0[2-8]|[124-6]\\\\d|[38][0-8]|[79][0-7])|6(?:0[02-9]|[1-358]\\\\d|[47][0-8]|6[1-9])|7(?:0[2-8]|1[1-9]|[27][0-7]|3\\\\d|[4-6][0-8]|8[0-5]|9[013-7])|8(?:0[2-9]|1[0-79]|2\\\\d|3[0-46-9]|4[0-6]|5[013-9]|6[1-8]|7[0-8]|8[0-24-6])|9(?:0[6-9]|[1-4]\\\\d|[589][0-7]|6[0-8]|7[0-467]))\\\\d{3,12}\",[5,6,7,8,9,10,11,12,13,14,15]],[\"15(?:[0-25-9]\\\\d\\\\d|310)\\\\d{6}|1(?:6[023]|7\\\\d)\\\\d{7,8}\",[10,11]],[\"800\\\\d{7,12}\",[10,11,12,13,14,15]],[\"(?:137[7-9]|900(?:[135]|9\\\\d))\\\\d{6}\",[10,11]],[\"700\\\\d{8}\",[11]],0,[\"18(?:1\\\\d{5,11}|[2-9]\\\\d{8})\",[8,9,10,11,12,13,14]],[\"16(?:4\\\\d{1,10}|[89]\\\\d{1,11})\",[4,5,6,7,8,9,10,11,12,13,14]],0,[\"180\\\\d{5,11}|13(?:7[1-6]\\\\d\\\\d|8)\\\\d{4}\",[7,8,9,10,11,12,13,14]]]],\"DJ\":[\"253\",\"00\",\"(?:2\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[27]\"]]],0,0,0,0,0,0,[[\"2(?:1[2-5]|7[45])\\\\d{5}\"],[\"77\\\\d{6}\"]]],\"DK\":[\"45\",\"00\",\"[2-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-9]\"]]],0,0,0,0,0,0,[[\"(?:(?:2\\\\d|9[1-46-9])\\\\d|3(?:[0-37]\\\\d|4[013]|5[0-58]|6[01347-9]|8[0-8]|9[0-79])|4(?:[0-25]\\\\d|[34][02-9]|6[013-579]|7[013579]|8[0-47]|9[0-27])|5(?:[0-36]\\\\d|4[0146-9]|5[03-57-9]|7[0568]|8[0-358]|9[0-69])|6(?:[013578]\\\\d|2[0-68]|4[02-8]|6[01689]|9[015689])|7(?:[0-69]\\\\d|7[03-9]|8[0147])|8(?:[16-9]\\\\d|2[0-58]))\\\\d{5}\"],[\"(?:[2-7]\\\\d|8[126-9]|9[1-46-9])\\\\d{6}\"],[\"80\\\\d{6}\"],[\"90\\\\d{6}\"]]],\"DM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"767$1\",0,\"767\",[[\"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\\\d{4}\"],[\"767(?:2(?:[2-4689]5|7[5-7])|31[5-7]|61[1-8]|70[1-6])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"DO\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"8001|8[024]9\",[[\"8(?:[04]9[2-9]\\\\d\\\\d|29(?:2(?:[0-59]\\\\d|6[04-9]|7[0-27]|8[0237-9])|3(?:[0-35-9]\\\\d|4[7-9])|[45]\\\\d\\\\d|6(?:[0-27-9]\\\\d|[3-5][1-9]|6[0135-8])|7(?:0[013-9]|[1-37]\\\\d|4[1-35689]|5[1-4689]|6[1-57-9]|8[1-79]|9[1-8])|8(?:0[146-9]|1[0-48]|[248]\\\\d|3[1-79]|5[01589]|6[013-68]|7[124-8]|9[0-8])|9(?:[0-24]\\\\d|3[02-46-9]|5[0-79]|60|7[0169]|8[57-9]|9[02-9])))\\\\d{4}\"],[\"8[024]9[2-9]\\\\d{6}\"],[\"8(?:00(?:14|[2-9]\\\\d)|(?:33|44|55|66|77|88)[2-9]\\\\d)\\\\d{5}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"DZ\":[\"213\",\"00\",\"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-8]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"9619\\\\d{5}|(?:1\\\\d|2[013-79]|3[0-8]|4[013-689])\\\\d{6}\"],[\"(?:5(?:4[0-29]|5\\\\d|6[0-2])|6(?:[569]\\\\d|7[0-6])|7[7-9]\\\\d)\\\\d{6}\",[9]],[\"800\\\\d{6}\",[9]],[\"80[3-689]1\\\\d{5}\",[9]],0,0,0,0,[\"98[23]\\\\d{6}\",[9]],[\"80[12]1\\\\d{5}\",[9]]]],\"EC\":[\"593\",\"00\",\"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\",[8,9,10,11],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2-$3\",[\"[2-7]\"],\"(0$1)\",0,\"$1-$2-$3\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"[2-7][2-7]\\\\d{6}\",[8]],[\"964[0-2]\\\\d{5}|9(?:39|[57][89]|6[0-36-9]|[89]\\\\d)\\\\d{6}\",[9]],[\"1800\\\\d{7}|1[78]00\\\\d{6}\",[10,11]],0,0,0,0,0,[\"[2-7]890\\\\d{4}\",[8]]]],\"EE\":[\"372\",\"00\",\"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\",\"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]],[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[45]|8(?:00|[1-49])\",\"[45]|8(?:00[1-9]|[1-49])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"(?:3[23589]|4[3-8]|6\\\\d|7[1-9]|88)\\\\d{5}\",[7]],[\"(?:5\\\\d{5}|8(?:1(?:0(?:0(?:00|[178]\\\\d)|[3-9]\\\\d\\\\d)|(?:1(?:0[236]|1\\\\d)|(?:2[0-59]|[3-79]\\\\d)\\\\d)\\\\d)|2(?:0(?:0(?:00|4\\\\d)|(?:19|[2-7]\\\\d)\\\\d)|(?:(?:[124-6]\\\\d|3[5-9])\\\\d|7(?:[0-79]\\\\d|8[13-9])|8(?:[2-6]\\\\d|7[01]))\\\\d)|[349]\\\\d{4}))\\\\d\\\\d|5(?:(?:[02]\\\\d|5[0-478])\\\\d|1(?:[0-8]\\\\d|95)|6(?:4[0-4]|5[1-589]))\\\\d{3}\",[7,8]],[\"800(?:(?:0\\\\d\\\\d|1)\\\\d|[2-9])\\\\d{3}\"],[\"(?:40\\\\d\\\\d|900)\\\\d{4}\",[7,8]],[\"70[0-2]\\\\d{5}\",[8]]]],\"EG\":[\"20\",\"00\",\"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{7,8})\",\"$1 $2\",[\"[23]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,7})\",\"$1 $2\",[\"1[35]|[4-6]|8[2468]|9[235-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{8})\",\"$1 $2\",[\"1\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"13[23]\\\\d{6}|(?:15|57)\\\\d{6,7}|(?:2[2-4]|3|4[05-8]|5[05]|6[24-689]|8[2468]|9[235-7])\\\\d{7}\",[8,9]],[\"1[0-25]\\\\d{8}\",[10]],[\"800\\\\d{7}\",[10]],[\"900\\\\d{7}\",[10]]]],\"EH\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],0,\"0\",0,0,0,0,\"528[89]\",[[\"528[89]\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-4]|5[01]|8[0-3]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"ER\":[\"291\",\"00\",\"[178]\\\\d{6}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[178]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1[12568]|[24]0|55|6[146])|8\\\\d\\\\d)\\\\d{4}\"],[\"(?:17[1-3]|7\\\\d\\\\d)\\\\d{4}\"]]],\"ES\":[\"34\",\"00\",\"[5-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[89]00\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-9]\"]]],0,0,0,0,0,0,[[\"96906(?:0[0-8]|1[1-9]|[2-9]\\\\d)\\\\d\\\\d|9(?:69(?:0[0-57-9]|[1-9]\\\\d)|73(?:[0-8]\\\\d|9[1-9]))\\\\d{4}|(?:8(?:[1356]\\\\d|[28][0-8]|[47][1-9])|9(?:[135]\\\\d|[268][0-8]|4[1-9]|7[124-9]))\\\\d{6}\"],[\"(?:590[16]00\\\\d|9(?:6906(?:09|10)|7390\\\\d\\\\d))\\\\d\\\\d|(?:6\\\\d|7[1-48])\\\\d{7}\"],[\"[89]00\\\\d{6}\"],[\"80[367]\\\\d{6}\"],[\"70\\\\d{7}\"],0,[\"51\\\\d{7}\"],0,0,[\"90[12]\\\\d{6}\"]]],\"ET\":[\"251\",\"00\",\"(?:11|[2-579]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-579]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"11667[01]\\\\d{3}|(?:11(?:1(?:1[124]|2[2-7]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-3]|6[5-8])|5(?:1[578]|44|5[0-4])|6(?:1[578]|2[69]|39|4[5-7]|5[0-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|(?:22|55)[0-6]|33[0134689]|44[04]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:119|22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:(?:11|22)[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\\\d)))\\\\d{4}\"],[\"700[1-9]\\\\d{5}|(?:7(?:0[1-9]|1[0-8]|22|77|86|99)|9\\\\d\\\\d)\\\\d{6}\"]]],\"FI\":[\"358\",\"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\",\"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\",[5,6,7,8,9,10,11,12],[[\"(\\\\d{5})\",\"$1\",[\"20[2-59]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"(?:[1-3]0|[68])0|70[07-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,8})\",\"$1 $2\",[\"[14]|2[09]|50|7[135]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6,10})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d)(\\\\d{4,9})\",\"$1 $2\",[\"(?:1[3-79]|[2568])[1-8]|3(?:0[1-9]|[1-9])|9\"],\"0$1\"]],\"0\",0,0,0,0,\"1[03-79]|[2-9]\",[[\"(?:1[3-79][1-8]|[23568][1-8]\\\\d|9(?:00|[1-8]\\\\d))\\\\d{2,6}\",[5,6,7,8,9]],[\"4946\\\\d{2,6}|(?:4[0-8]|50)\\\\d{4,8}\",[6,7,8,9,10]],[\"800\\\\d{4,6}\",[7,8,9]],[\"[67]00\\\\d{5,6}\",[8,9]],0,0,[\"20\\\\d{4,8}|60[12]\\\\d{5,6}|7(?:099\\\\d{4,5}|5[03-9]\\\\d{3,7})|20[2-59]\\\\d\\\\d|(?:606|7(?:0[78]|1|3\\\\d))\\\\d{7}|(?:10|29|3[09]|70[1-5]\\\\d)\\\\d{4,8}\"]],\"00\"],\"FJ\":[\"679\",\"0(?:0|52)\",\"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\",[7,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[235-9]|45\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]]],0,0,0,0,0,0,[[\"603\\\\d{4}|(?:3[0-5]|6[25-7]|8[58])\\\\d{5}\",[7]],[\"(?:[279]\\\\d|45|5[01568]|8[034679])\\\\d{5}\",[7]],[\"0800\\\\d{7}\",[11]]],\"00\"],\"FK\":[\"500\",\"00\",\"[2-7]\\\\d{4}\",[5],0,0,0,0,0,0,0,[[\"[2-47]\\\\d{4}\"],[\"[56]\\\\d{4}\"]]],\"FM\":[\"691\",\"00\",\"(?:[39]\\\\d\\\\d|820)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[389]\"]]],0,0,0,0,0,0,[[\"31(?:00[67]|208|309)\\\\d\\\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-6]\\\\d)\\\\d)\\\\d{3}\"],[\"31(?:00[67]|208|309)\\\\d\\\\d|(?:3(?:[2357]0[1-9]|602|804|905)|(?:820|9[2-7]\\\\d)\\\\d)\\\\d{3}\"]]],\"FO\":[\"298\",\"00\",\"[2-9]\\\\d{5}\",[6],[[\"(\\\\d{6})\",\"$1\",[\"[2-9]\"]]],0,0,\"(10(?:01|[12]0|88))\",0,0,0,[[\"(?:20|[34]\\\\d|8[19])\\\\d{4}\"],[\"(?:[27][1-9]|5\\\\d|9[16])\\\\d{4}\"],[\"80[257-9]\\\\d{3}\"],[\"90(?:[13-5][15-7]|2[125-7]|9\\\\d)\\\\d\\\\d\"],0,0,0,0,[\"(?:6[0-36]|88)\\\\d{4}\"]]],\"FR\":[\"33\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0 $1\"],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"[1-79]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:26[013-9]|59[1-35-9])\\\\d{6}|(?:[13]\\\\d|2[0-57-9]|4[1-9]|5[0-8])\\\\d{7}\"],[\"(?:6(?:[0-24-8]\\\\d|3[0-8]|9[589])|7[3-9]\\\\d)\\\\d{6}\"],[\"80[0-5]\\\\d{6}\"],[\"836(?:0[0-36-9]|[1-9]\\\\d)\\\\d{4}|8(?:1[2-9]|2[2-47-9]|3[0-57-9]|[569]\\\\d|8[0-35-9])\\\\d{6}\"],0,0,[\"80[6-9]\\\\d{6}\"],0,[\"9\\\\d{8}\"],[\"8(?:1[01]|2[0156]|4[02]|84)\\\\d{6}\"]]],\"GA\":[\"241\",\"00\",\"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"11|[67]\"],\"0$1\"]],0,0,\"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\",\"$1\",0,0,[[\"[01]1\\\\d{6}\",[8]],[\"(?:(?:0[2-7]|7[467])\\\\d|6(?:0[0-4]|10|[256]\\\\d))\\\\d{5}|[2-7]\\\\d{6}\"]]],\"GB\":[\"44\",\"00\",\"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\",[7,9,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"800\",\"8001\",\"80011\",\"800111\",\"8001111\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"845\",\"8454\",\"84546\",\"845464\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"1(?:38|5[23]|69|76|94)\",\"1(?:(?:38|69)7|5(?:24|39)|768|946)\",\"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"1(?:[2-69][02-9]|[78])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[25]|7(?:0|6[02-9])\",\"[25]|7(?:0|6(?:[03-9]|2[356]))\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1389]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:(?:[0-5]\\\\d|70)\\\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\\\d|6(?:[0-4]\\\\d|50))\\\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d|1(?:[0-7]\\\\d|8[0-2]))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d)\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\",[9,10]],[\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]],0,\" x\"],\"GD\":[\"1\",\"011\",\"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"473$1\",0,\"473\",[[\"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-4]|5[579]|73|90)|63[68]|7(?:58|84)|800|938)\\\\d{4}\"],[\"473(?:4(?:0[2-79]|1[04-9]|2[0-5]|49|5[68])|5(?:2[01]|3[3-8])|901)\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"GE\":[\"995\",\"00\",\"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"32\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[57]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[348]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3(?:[256]\\\\d|4[124-9]|7[0-4])|4(?:1\\\\d|2[2-7]|3[1-79]|4[2-8]|7[239]|9[1-7]))\\\\d{6}\"],[\"5(?:(?:(?:0555|1(?:[17]77|555))[5-9]|757(?:7[7-9]|8[01]))\\\\d|22252[0-4])\\\\d\\\\d|(?:5(?:0(?:0(?:0\\\\d|11|22|33|44|5[05]|77|88|9[09])|111)|1(?:1(?:00|[124]\\\\d|3[01])|4\\\\d\\\\d)|(?:44|68)\\\\d\\\\d|5(?:[0157-9]\\\\d\\\\d|200)|7(?:[0147-9]\\\\d\\\\d|5(?:00|[57]5))|8(?:0(?:[018]\\\\d|2[0-4])|58[89]|8(?:55|88))|9(?:090|[1-35-9]\\\\d\\\\d))|790\\\\d\\\\d)\\\\d{4}|5(?:0(?:0[17]0|505)|1(?:0[01]0|1(?:07|33|51))|2(?:0[02]0|2[25]2)|3(?:0[03]0|3[35]3)|(?:40[04]|900)0|5222)[0-4]\\\\d{3}\"],[\"800\\\\d{6}\"],0,0,0,0,0,[\"70[67]\\\\d{6}\"]]],\"GF\":[\"594\",\"00\",\"[56]94\\\\d{6}|(?:80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[56]|9[47]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"594(?:[02-49]\\\\d|1[0-5]|5[6-9]|6[0-3]|80)\\\\d{4}\"],[\"694(?:[0-249]\\\\d|3[0-8])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:396|76\\\\d)\\\\d|476[0-5])\\\\d{4}\"]]],\"GG\":[\"44\",\"00\",\"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\",[7,9,10],0,\"0\",0,\"([25-9]\\\\d{5})$|0\",\"1481$1\",0,0,[[\"1481[25-9]\\\\d{5}\",[10]],[\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\",[10]],[\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"],[\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\",[7,10]],[\"70\\\\d{8}\",[10]],0,[\"(?:3[0347]|55)\\\\d{8}\",[10]],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\",[10]],[\"56\\\\d{8}\",[10]]]],\"GH\":[\"233\",\"00\",\"(?:[235]\\\\d{3}|800)\\\\d{5}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[235]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"3082[0-5]\\\\d{4}|3(?:0(?:[237]\\\\d|8[01])|[167](?:2[0-6]|7\\\\d|80)|2(?:2[0-5]|7\\\\d|80)|3(?:2[0-3]|7\\\\d|80)|4(?:2[013-9]|3[01]|7\\\\d|80)|5(?:2[0-7]|7\\\\d|80)|8(?:2[0-2]|7\\\\d|80)|9(?:[28]0|7\\\\d))\\\\d{5}\",[9]],[\"(?:2(?:[0346-9]\\\\d|5[67])|5(?:[03-7]\\\\d|9[1-9]))\\\\d{6}\",[9]],[\"800\\\\d{5}\",[8]]]],\"GI\":[\"350\",\"00\",\"(?:[25]\\\\d|60)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"2\"]]],0,0,0,0,0,0,[[\"2190[0-2]\\\\d{3}|2(?:0(?:[02]\\\\d|3[01])|16[24-9]|2[2-5]\\\\d)\\\\d{4}\"],[\"5251[0-4]\\\\d{3}|(?:5(?:[146-8]\\\\d\\\\d|250)|60(?:1[01]|6\\\\d))\\\\d{4}\"]]],\"GL\":[\"299\",\"00\",\"(?:19|[2-689]\\\\d|70)\\\\d{4}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"19|[2-9]\"]]],0,0,0,0,0,0,[[\"(?:19|3[1-7]|[68][1-9]|70|9\\\\d)\\\\d{4}\"],[\"[245]\\\\d{5}\"],[\"80\\\\d{4}\"],0,0,0,0,0,[\"3[89]\\\\d{4}\"]]],\"GM\":[\"220\",\"00\",\"[2-9]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]],0,0,0,0,0,0,[[\"(?:4(?:[23]\\\\d\\\\d|4(?:1[024679]|[6-9]\\\\d))|5(?:5(?:3\\\\d|4[0-7])|6[67]\\\\d|7(?:1[04]|2[035]|3[58]|48))|8\\\\d{3})\\\\d{3}\"],[\"(?:[23679]\\\\d|5[0-489])\\\\d{5}\"]]],\"GN\":[\"224\",\"00\",\"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"3\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[67]\"]]],0,0,0,0,0,0,[[\"3(?:0(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])|1\\\\d\\\\d)\\\\d{4}\",[8]],[\"6[0-356]\\\\d{7}\",[9]],0,0,0,0,0,0,[\"722\\\\d{6}\",[9]]]],\"GP\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\\\d)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"GQ\":[\"240\",\"00\",\"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235]\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[89]\"]]],0,0,0,0,0,0,[[\"33[0-24-9]\\\\d[46]\\\\d{4}|3(?:33|5\\\\d)\\\\d[7-9]\\\\d{4}\"],[\"(?:222|55\\\\d)\\\\d{6}\"],[\"80\\\\d[1-9]\\\\d{5}\"],[\"90\\\\d[1-9]\\\\d{5}\"]]],\"GR\":[\"30\",\"00\",\"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\",[10,11,12],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"21|7\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2689]\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"2(?:1\\\\d\\\\d|2(?:2[1-46-9]|[36][1-8]|4[1-7]|5[1-4]|7[1-5]|[89][1-9])|3(?:1\\\\d|2[1-57]|[35][1-3]|4[13]|7[1-7]|8[124-6]|9[1-79])|4(?:1\\\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\\\d|[29][1-4]|3[1-5]|4[124]|5[1-6])|6(?:1\\\\d|[269][1-6]|3[1245]|4[1-7]|5[13-9]|7[14]|8[1-5])|7(?:1\\\\d|2[1-5]|3[1-6]|4[1-7]|5[1-57]|6[135]|9[125-7])|8(?:1\\\\d|2[1-5]|[34][1-4]|9[1-57]))\\\\d{6}\",[10]],[\"68[57-9]\\\\d{7}|(?:69|94)\\\\d{8}\",[10]],[\"800\\\\d{7,9}\"],[\"90[19]\\\\d{7}\",[10]],[\"70\\\\d{8}\",[10]],0,[\"5005000\\\\d{3}\",[10]],0,0,[\"8(?:0[16]|12|[27]5|50)\\\\d{7}\",[10]]]],\"GT\":[\"502\",\"00\",\"80\\\\d{6}|(?:1\\\\d{3}|[2-7])\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-8]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[[\"[267][2-9]\\\\d{6}\",[8]],[\"(?:[3-5]\\\\d\\\\d|80[0-4])\\\\d{5}\",[8]],[\"18[01]\\\\d{8}\",[11]],[\"19\\\\d{9}\",[11]]]],\"GU\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"671$1\",0,\"671\",[[\"671(?:2\\\\d\\\\d|3(?:00|3[39]|4[349]|55|6[26])|4(?:00|56|7[1-9]|8[02-46-9])|5(?:55|6[2-5]|88)|6(?:3[2-578]|4[24-9]|5[34]|78|8[235-9])|7(?:[0479]7|2[0167]|3[45]|8[7-9])|8(?:[2-57-9]8|6[48])|9(?:2[29]|6[79]|7[1279]|8[7-9]|9[78]))\\\\d{4}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"GW\":[\"245\",\"00\",\"[49]\\\\d{8}|4\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"40\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"]]],0,0,0,0,0,0,[[\"443\\\\d{6}\",[9]],[\"9(?:5\\\\d|6[569]|77)\\\\d{6}\",[9]],0,0,0,0,0,0,[\"40\\\\d{5}\",[7]]]],\"GY\":[\"592\",\"001\",\"(?:[2-8]\\\\d{3}|9008)\\\\d{3}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]],0,0,0,0,0,0,[[\"(?:2(?:1[6-9]|2[0-35-9]|3[1-4]|5[3-9]|6\\\\d|7[0-79])|3(?:2[25-9]|3\\\\d)|4(?:4[0-24]|5[56])|50[0-6]|77[1-57])\\\\d{4}\"],[\"(?:510|6\\\\d\\\\d|7(?:[01]\\\\d|2[156]|3[12]|49))\\\\d{4}\"],[\"(?:289|8(?:00|6[28]|88|99))\\\\d{4}\"],[\"9008\\\\d{3}\"],0,0,0,0,[\"515\\\\d{4}\"]]],\"HK\":[\"852\",\"00(?:30|5[09]|[126-9]?)\",\"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\",[5,6,7,8,9,11],[[\"(\\\\d{3})(\\\\d{2,5})\",\"$1 $2\",[\"900\",\"9003\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"9\"]]],0,0,0,0,0,0,[[\"(?:2(?:[13-9]\\\\d|2[013-9])\\\\d|3(?:(?:[1569][0-24-9]|4[0-246-9]|7[0-24-69])\\\\d|8(?:4[0-8]|[59]\\\\d|6[01]))|58(?:0[1-9]|1[2-9]))\\\\d{4}\",[8]],[\"(?:4(?:44[0-25-9]|6(?:1[0-7]|4[0-57-9]|6[0-4]))|5(?:73[0-6]|95[0-8])|6(?:26[013-8]|66[0-3])|70(?:7[1-8]|8[0-4])|848[0-35-9]|9(?:29[013-9]|39[01]|59[0-4]|899))\\\\d{4}|(?:4(?:4[0-35-8]|6[02357-9])|5(?:[1-59][0-46-9]|6[0-4689]|7[0-246-9])|6(?:0[1-9]|[13-59]\\\\d|[268][0-57-9]|7[0-79])|70[129]|84[0-29]|9(?:0[1-9]|1[02-9]|[2358][0-8]|[467]\\\\d))\\\\d{5}\",[8]],[\"800\\\\d{6}\",[9]],[\"900(?:[0-24-9]\\\\d{7}|3\\\\d{1,4})\",[5,6,7,8,11]],[\"8(?:1[0-4679]\\\\d|2(?:[0-36]\\\\d|7[0-4])|3(?:[034]\\\\d|2[09]|70))\\\\d{4}\",[8]],0,[\"30(?:0[1-9]|[15-7]\\\\d|2[047]|89)\\\\d{4}\",[8]],[\"7(?:1(?:0[0-38]|1[0-3679]|3[013]|69|9[0136])|2(?:[02389]\\\\d|1[18]|7[27-9])|3(?:[0-38]\\\\d|7[0-369]|9[2357-9])|47\\\\d|5(?:[178]\\\\d|5[0-5])|6(?:0[0-7]|2[236-9]|[35]\\\\d)|7(?:[27]\\\\d|8[7-9])|8(?:[23689]\\\\d|7[1-9])|9(?:[025]\\\\d|6[0-246-8]|7[0-36-9]|8[238]))\\\\d{4}\",[8]]],\"00\"],\"HN\":[\"504\",\"00\",\"8\\\\d{10}|[237-9]\\\\d{7}\",[8,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[237-9]\"]]],0,0,0,0,0,0,[[\"2(?:2(?:0[0-59]|1[1-9]|[23]\\\\d|4[02-6]|5[57]|6[245]|7[0135689]|8[01346-9]|9[0-2])|4(?:0[578]|2[3-59]|3[13-9]|4[0-68]|5[1-3589])|5(?:0[2357-9]|1[1-356]|4[03-5]|5\\\\d|6[014-69]|7[04]|80)|6(?:[056]\\\\d|17|2[067]|3[047]|4[0-378]|[78][0-8]|9[01])|7(?:0[5-79]|6[46-9]|7[02-9]|8[034]|91)|8(?:79|8[0-357-9]|9[1-57-9]))\\\\d{4}\",[8]],[\"[37-9]\\\\d{7}\",[8]],[\"8002\\\\d{7}\",[11]]]],\"HR\":[\"385\",\"00\",\"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"6[01]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6|7[245]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-57]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1\\\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\\\d{6,7}\",[8,9]],[\"9(?:(?:0[1-9]|[12589]\\\\d)\\\\d\\\\d|7(?:[0679]\\\\d\\\\d|5(?:[01]\\\\d|44|55|77|9[5-7])))\\\\d{4}|98\\\\d{6}\",[8,9]],[\"80\\\\d{5,7}\",[7,8,9]],[\"6[01459]\\\\d{6}|6[01]\\\\d{4,5}\",[6,7,8]],[\"7[45]\\\\d{6}\",[8]],0,[\"62\\\\d{6,7}|72\\\\d{6}\",[8,9]]]],\"HT\":[\"509\",\"00\",\"(?:[2-489]\\\\d|55)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-589]\"]]],0,0,0,0,0,0,[[\"2(?:2\\\\d|5[1-5]|81|9[149])\\\\d{5}\"],[\"(?:[34]\\\\d|55)\\\\d{6}\"],[\"8\\\\d{7}\"],0,0,0,0,0,[\"9(?:[67][0-4]|8[0-3589]|9\\\\d)\\\\d{5}\"]]],\"HU\":[\"36\",\"00\",\"[235-7]\\\\d{8}|[1-9]\\\\d{7}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"],\"(06 $1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"06 $1\"]],\"06\",0,0,0,0,0,[[\"(?:1\\\\d|[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6[23689]|8[2-57-9]|9[2-69])\\\\d{6}\",[8]],[\"(?:[257]0|3[01])\\\\d{7}\",[9]],[\"(?:[48]0\\\\d|680[29])\\\\d{5}\"],[\"9[01]\\\\d{6}\",[8]],0,0,[\"38\\\\d{7}\",[9]],0,[\"21\\\\d{7}\",[9]]]],\"ID\":[\"62\",\"00[89]\",\"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\",[7,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"15\"]],[\"(\\\\d{2})(\\\\d{5,9})\",\"$1 $2\",[\"2[124]|[36]1\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,7})\",\"$1 $2\",[\"800\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5,8})\",\"$1 $2\",[\"[2-79]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\",\"$1-$2-$3\",[\"8[1-35-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6,8})\",\"$1 $2\",[\"1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"804\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"80\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1-$2-$3\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"2[124]\\\\d{7,8}|619\\\\d{8}|2(?:1(?:14|500)|2\\\\d{3})\\\\d{3}|61\\\\d{5,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:[25]\\\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\\\d{5,8}\",[7,8,9,10,11]],[\"8[1-35-9]\\\\d{7,10}\",[9,10,11,12]],[\"00[17]803\\\\d{7}|(?:177\\\\d|800)\\\\d{5,7}|001803\\\\d{6}\",[8,9,10,11,12,13]],[\"809\\\\d{7}\",[10]],0,0,[\"(?:1500|8071\\\\d{3})\\\\d{3}\",[7,10]],0,0,[\"804\\\\d{7}\",[10]]]],\"IE\":[\"353\",\"00\",\"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"2[24-9]|47|58|6[237-9]|9[35-9]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[45]0\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2569]|4[1-69]|7[14]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"70\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"81\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"4\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1\\\\d|21)\\\\d{6,7}|(?:2[24-9]|4(?:0[24]|5\\\\d|7)|5(?:0[45]|1\\\\d|8)|6(?:1\\\\d|[237-9])|9(?:1\\\\d|[35-9]))\\\\d{5}|(?:23|4(?:[1-469]|8\\\\d)|5[23679]|6[4-6]|7[14]|9[04])\\\\d{7}\"],[\"8(?:22|[35-9]\\\\d)\\\\d{6}\",[9]],[\"1800\\\\d{6}\",[10]],[\"15(?:1[2-8]|[2-8]0|9[089])\\\\d{6}\",[10]],[\"700\\\\d{6}\",[9]],0,[\"818\\\\d{6}\",[9]],0,[\"76\\\\d{7}\",[9]],[\"18[59]0\\\\d{6}\",[10]]]],\"IL\":[\"972\",\"0(?:0|1[2-9])\",\"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\",[7,8,9,10,11,12],[[\"(\\\\d{4})(\\\\d{3})\",\"$1-$2\",[\"125\"]],[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"121\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[2-489]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"12\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1-$2\",[\"159\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3-$4\",[\"1[7-9]\"]],[\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3-$4\",[\"15\"]]],\"0\",0,0,0,0,0,[[\"153\\\\d{8,9}|29[1-9]\\\\d{5}|(?:2[0-8]|[3489]\\\\d)\\\\d{6}\",[8,11,12]],[\"55410\\\\d{4}|5(?:(?:[02][02-9]|[149][2-9]|[36]\\\\d|8[3-7])\\\\d|5(?:01|2\\\\d|3[0-3]|4[34]|5[0-25689]|6[6-8]|7[0-267]|8[7-9]|9[1-9]))\\\\d{5}\",[9]],[\"1(?:255|80[019]\\\\d{3})\\\\d{3}\",[7,10]],[\"1212\\\\d{4}|1(?:200|9(?:0[0-2]|19))\\\\d{6}\",[8,10]],0,0,[\"1599\\\\d{6}\",[10]],0,[\"7(?:38(?:0\\\\d|5[0-29]|88)|8(?:33|55|77|81)\\\\d)\\\\d{4}|7(?:18|2[23]|3[237]|47|6[258]|7\\\\d|82|9[2-9])\\\\d{6}\",[9]],[\"1700\\\\d{6}\",[10]]]],\"IM\":[\"44\",\"00\",\"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([25-8]\\\\d{5})$|0\",\"1624$1\",0,\"74576|(?:16|7[56])24\",[[\"1624(?:230|[5-8]\\\\d\\\\d)\\\\d{3}\"],[\"76245[06]\\\\d{4}|7(?:4576|[59]24\\\\d|624[0-4689])\\\\d{5}\"],[\"808162\\\\d{4}\"],[\"8(?:440[49]06|72299\\\\d)\\\\d{3}|(?:8(?:45|70)|90[0167])624\\\\d{4}\"],[\"70\\\\d{8}\"],0,[\"3440[49]06\\\\d{3}|(?:3(?:08162|3\\\\d{4}|45624|7(?:0624|2299))|55\\\\d{4})\\\\d{4}\"],0,[\"56\\\\d{8}\"]]],\"IN\":[\"91\",\"00\",\"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\",[8,9,10,11,12,13],[[\"(\\\\d{8})\",\"$1\",[\"5(?:0|2[23]|3[03]|[67]1|88)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\",\"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"],0,1],[\"(\\\\d{4})(\\\\d{4,5})\",\"$1 $2\",[\"180\",\"1800\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"140\"],0,1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\",\"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\",\"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\",\"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\",\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\",\"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"],\"0$1\",1],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"[6-9]\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1(?:6|8[06])\",\"1(?:6|8[06]0)\"],0,1],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"18\"],0,1]],\"0\",0,0,0,0,0,[[\"2717(?:[2-7]\\\\d|95)\\\\d{4}|(?:271[0-689]|782[0-6])[2-7]\\\\d{5}|(?:170[24]|2(?:(?:[02][2-79]|90)\\\\d|80[13468])|(?:3(?:23|80)|683|79[1-7])\\\\d|4(?:20[24]|72[2-8])|552[1-7])\\\\d{6}|(?:11|33|4[04]|80)[2-7]\\\\d{7}|(?:342|674|788)(?:[0189][2-7]|[2-7]\\\\d)\\\\d{5}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[13]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[014-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\\\d{6}|(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[3-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1245]|4[5-8]|5[125689]|6[235-7]|7[157-9]|8[2-46-8])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])|7(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|8[013-7]|9[089])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\\\d[2-7]\\\\d{5}\",[10]],[\"(?:61279|7(?:887[02-9]|9(?:313|79[07-9]))|8(?:079[04-9]|(?:84|91)7[02-8]))\\\\d{5}|(?:6(?:12|[2-47]1|5[17]|6[13]|80)[0189]|7(?:1(?:2[0189]|9[0-5])|2(?:[14][017-9]|8[0-59])|3(?:2[5-8]|[34][017-9]|9[016-9])|4(?:1[015-9]|[29][89]|39|8[389])|5(?:[15][017-9]|2[04-9]|9[7-9])|6(?:0[0-47]|1[0-257-9]|2[0-4]|3[19]|5[4589])|70[0289]|88[089]|97[02-8])|8(?:0(?:6[67]|7[02-8])|70[017-9]|84[01489]|91[0-289]))\\\\d{6}|(?:7(?:31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[0189]\\\\d|7[02-8])\\\\d{5}|(?:6(?:[09]\\\\d|1[04679]|2[03689]|3[05-9]|4[0489]|50|6[069]|7[07]|8[7-9])|7(?:0\\\\d|2[0235-79]|3[05-8]|40|5[0346-8]|6[6-9]|7[1-9]|8[0-79]|9[089])|8(?:0[01589]|1[0-57-9]|2[235-9]|3[03-57-9]|[45]\\\\d|6[02457-9]|7[1-69]|8[0-25-9]|9[02-9])|9\\\\d\\\\d)\\\\d{7}|(?:6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|8[124-6])\\\\d|7(?:[235689]\\\\d|4[0189]))|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-5])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]|881))[0189]\\\\d{5}\",[10]],[\"000800\\\\d{7}|1(?:600\\\\d{6}|80(?:0\\\\d{4,9}|3\\\\d{9}))\"],[\"186[12]\\\\d{9}\",[13]],0,0,[\"140\\\\d{7}\",[10]],0,0,[\"1860\\\\d{7}\",[11]]]],\"IO\":[\"246\",\"00\",\"3\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"3\"]]],0,0,0,0,0,0,[[\"37\\\\d{5}\"],[\"38\\\\d{5}\"]]],\"IQ\":[\"964\",\"00\",\"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1\\\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\\\d{6,7}\",[8,9]],[\"7[3-9]\\\\d{8}\",[10]]]],\"IR\":[\"98\",\"00\",\"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\",[4,5,6,7,10],[[\"(\\\\d{4,5})\",\"$1\",[\"96\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4,5})\",\"$1 $2\",[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-8]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])(?:[03-57]\\\\d{7}|[16]\\\\d{3}(?:\\\\d{4})?|[289]\\\\d{3}(?:\\\\d(?:\\\\d{3})?)?)|94(?:000[09]|(?:12\\\\d|30[0-2])\\\\d|2(?:121|[2689]0\\\\d)|4(?:111|40\\\\d))\\\\d{4}\",[6,7,10]],[\"9(?:(?:0(?:[0-35]\\\\d|4[4-6])|(?:[13]\\\\d|2[0-3])\\\\d)\\\\d|9(?:[0-46]\\\\d\\\\d|5[15]0|8(?:[12]\\\\d|88)|9(?:0[0-3]|[19]\\\\d|21|69|77|8[7-9])))\\\\d{5}\",[10]],0,0,0,0,[\"96(?:0[12]|2[16-8]|3(?:08|[14]5|[23]|66)|4(?:0|80)|5[01]|6[89]|86|9[19])\",[4,5]]]],\"IS\":[\"354\",\"00|1(?:0(?:01|[12]0)|100)\",\"(?:38\\\\d|[4-9])\\\\d{6}\",[7,9],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"(?:4(?:1[0-24-69]|2[0-7]|[37][0-8]|4[0-24589]|5[0-68]|6\\\\d|8[0-36-8])|5(?:05|[156]\\\\d|2[02578]|3[0-579]|4[03-7]|7[0-2578]|8[0-35-9]|9[013-689])|872)\\\\d{4}\",[7]],[\"(?:38[589]\\\\d\\\\d|6(?:1[1-8]|2[0-6]|3[026-9]|4[014679]|5[0159]|6[0-69]|70|8[06-8]|9\\\\d)|7(?:5[057]|[6-9]\\\\d)|8(?:2[0-59]|[3-69]\\\\d|8[238]))\\\\d{4}\"],[\"80[0-8]\\\\d{4}\",[7]],[\"90(?:0\\\\d|1[5-79]|2[015-79]|3[135-79]|4[125-7]|5[25-79]|7[1-37]|8[0-35-7])\\\\d{3}\",[7]],0,0,[\"809\\\\d{4}\",[7]],0,[\"49[0-24-79]\\\\d{4}\",[7]]],\"00\"],\"IT\":[\"39\",\"00\",\"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:43|55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\",[6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{4,6})\",\"$1 $2\",[\"0[26]\"]],[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\",\"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]],[\"(\\\\d{4})(\\\\d{2,6})\",\"$1 $2\",[\"0(?:[13-579][2-46-8]|8[236-8])\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"894\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[26]|5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"1(?:44|[679])|[378]|43\"]],[\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"0[13-57-9][0159]|14\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\",\"$1 $2 $3\",[\"0[26]\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"3\"]]],0,0,0,0,0,0,[[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"],[\"3[2-9]\\\\d{7,8}|(?:31|43)\\\\d{8}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],0,0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"JE\":[\"44\",\"00\",\"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\",[10],0,\"0\",0,\"([0-24-8]\\\\d{5})$|0\",\"1534$1\",0,0,[[\"1534[0-24-8]\\\\d{5}\"],[\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97\\\\d))\\\\d{5}\"],[\"80(?:07(?:35|81)|8901)\\\\d{4}\"],[\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"],[\"701511\\\\d{4}\"],0,[\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"],[\"76(?:464|652)\\\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"],[\"56\\\\d{8}\"]]],\"JM\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"658|876\",[[\"8766060\\\\d{3}|(?:658(?:2(?:[0-8]\\\\d|9[0-46-9])|[3-9]\\\\d\\\\d)|876(?:52[35]|6(?:0[1-3579]|1[0235-9]|[23]\\\\d|40|5[06]|6[2-589]|7[0-25-9]|8[04]|9[4-9])|7(?:0[2-689]|[1-6]\\\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\\\d|9[2-468])))\\\\d{4}\"],[\"(?:658295|876(?:2(?:0[1-9]|[13-9]\\\\d|2[013-9])|[348]\\\\d\\\\d|5(?:0[1-9]|[1-9]\\\\d)|6(?:4[89]|6[67])|7(?:0[07]|7\\\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579])))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"JO\":[\"962\",\"00\",\"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\",[8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2356]|87\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"70\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"87(?:000|90[01])\\\\d{3}|(?:2(?:6(?:2[0-35-9]|3[0-578]|4[24-7]|5[0-24-8]|[6-8][023]|9[0-3])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\\\d|4[0-3]|[5-7][023])|53(?:0[0-3]|[13][023]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2(?:[05]0|22)|3(?:00|33)|4(?:0[0-25]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[178]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[0239]))|87(?:20|7[078]|99))\\\\d{4}\",[8]],[\"7(?:[78][0-25-9]|9\\\\d)\\\\d{6}\",[9]],[\"80\\\\d{6}\",[8]],[\"9\\\\d{7}\",[8]],[\"70\\\\d{7}\",[9]],0,[\"8(?:10|8\\\\d)\\\\d{5}\",[8]],[\"74(?:66|77)\\\\d{5}\",[9]],0,[\"85\\\\d{6}\",[8]]]],\"JP\":[\"81\",\"010\",\"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\",[8,9,10,11,12,13,14,15,16,17],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1-$2-$3\",[\"(?:12|57|99)0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\",\"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[36]|4(?:2[09]|7[01])\",\"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\",\"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3\",[\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"800\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[257-9]\"],\"0$1\"]],\"0\",0,\"(000[259]\\\\d{6})$|(?:(?:003768)0?)|0\",\"$1\",0,0,[[\"(?:1(?:1[235-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-9])|(?:2[2-9]|[36][1-9])\\\\d|4(?:[2-578]\\\\d|6[02-8]|9[2-59])|5(?:[2-589]\\\\d|6[1-9]|7[2-8])|7(?:[25-9]\\\\d|3[4-9]|4[02-9])|8(?:[2679]\\\\d|3[2-9]|4[5-9]|5[1-9]|8[03-9])|9(?:[2-58]\\\\d|[679][1-9]))\\\\d{6}\",[9]],[\"[7-9]0[1-9]\\\\d{7}\",[10]],[\"00777(?:[01]|5\\\\d)\\\\d\\\\d|(?:00(?:7778|882[1245])|(?:120|800\\\\d)\\\\d\\\\d)\\\\d{4}|00(?:37|66|78)\\\\d{6,13}\"],[\"990\\\\d{6}\",[9]],[\"60\\\\d{7}\",[9]],0,[\"570\\\\d{6}\",[9]],[\"20\\\\d{8}\",[10]],[\"50[1-9]\\\\d{7}\",[10]]]],\"KE\":[\"254\",\"000\",\"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"[24-6]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[17]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:4[245]|5[1-79]|6[01457-9])\\\\d{5,7}|(?:4[136]|5[08]|62)\\\\d{7}|(?:[24]0|66)\\\\d{6,7}\",[7,8,9]],[\"(?:1(?:0[0-8]|1[0-5]|2[014]|30)|7\\\\d\\\\d)\\\\d{6}\",[9]],[\"800[02-8]\\\\d{5,6}\",[9,10]],[\"900[02-9]\\\\d{5}\",[9]]]],\"KG\":[\"996\",\"00\",\"8\\\\d{9}|[235-9]\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3(?:1[346]|[24-79])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[235-79]|88\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"312(?:5[0-79]\\\\d|9(?:[0-689]\\\\d|7[0-24-9]))\\\\d{3}|(?:3(?:1(?:2[0-46-8]|3[1-9]|47|[56]\\\\d)|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6\\\\d)|5(?:22|3[4-7]|59|6\\\\d)|6(?:22|5[35-7]|6\\\\d)|7(?:22|3[468]|4[1-9]|59|[67]\\\\d)|9(?:22|4[1-8]|6\\\\d))|6(?:09|12|2[2-4])\\\\d)\\\\d{5}\",[9]],[\"312(?:58\\\\d|973)\\\\d{3}|(?:2(?:0[0-35]|2\\\\d)|5[0-24-7]\\\\d|600|7(?:[07]\\\\d|55)|88[08]|9(?:12|9[05-9]))\\\\d{6}\",[9]],[\"800\\\\d{6,7}\"]]],\"KH\":[\"855\",\"00[14-9]\",\"1\\\\d{9}|[1-9]\\\\d{7,8}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"23(?:4(?:[2-4]|[56]\\\\d)|[568]\\\\d\\\\d)\\\\d{4}|23[236-9]\\\\d{5}|(?:2[4-6]|3[2-6]|4[2-4]|[5-7][2-5])(?:(?:[237-9]|4[56]|5\\\\d)\\\\d{5}|6\\\\d{5,6})\",[8,9]],[\"(?:(?:1[28]|3[18]|9[67])\\\\d|6[016-9]|7(?:[07-9]|[16]\\\\d)|8(?:[013-79]|8\\\\d))\\\\d{6}|(?:1\\\\d|9[0-57-9])\\\\d{6}|(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])48\\\\d{5}\",[8,9]],[\"1800(?:1\\\\d|2[019])\\\\d{4}\",[10]],[\"1900(?:1\\\\d|2[09])\\\\d{4}\",[10]]]],\"KI\":[\"686\",\"00\",\"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\",[5,8],0,\"0\",0,0,0,0,0,[[\"(?:[24]\\\\d|3[1-9]|50|65(?:02[12]|12[56]|22[89]|[3-5]00)|7(?:27\\\\d\\\\d|3100|5(?:02[12]|12[56]|22[89]|[34](?:00|81)|500))|8[0-5])\\\\d{3}\"],[\"(?:6200[01]|7(?:310[1-9]|5(?:02[03-9]|12[0-47-9]|22[0-7]|[34](?:0[1-9]|8[02-9])|50[1-9])))\\\\d{3}|(?:63\\\\d\\\\d|7(?:(?:[0146-9]\\\\d|2[0-689])\\\\d|3(?:[02-9]\\\\d|1[1-9])|5(?:[0-2][013-9]|[34][1-79]|5[1-9]|[6-9]\\\\d)))\\\\d{4}\",[8]],0,0,0,0,0,0,[\"30(?:0[01]\\\\d\\\\d|12(?:11|20))\\\\d\\\\d\",[8]]]],\"KM\":[\"269\",\"00\",\"[3478]\\\\d{6}\",[7],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[3478]\"]]],0,0,0,0,0,0,[[\"7[4-7]\\\\d{5}\"],[\"[34]\\\\d{6}\"],0,[\"8\\\\d{6}\"]]],\"KN\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"869$1\",0,\"869\",[[\"869(?:2(?:29|36)|302|4(?:6[015-9]|70)|56[5-7])\\\\d{4}\"],[\"869(?:48[89]|55[6-8]|66\\\\d|76[02-7])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"KP\":[\"850\",\"00|99\",\"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\",[8,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-7]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:(?:195|2)\\\\d|3[19]|4[159]|5[37]|6[17]|7[39]|85)\\\\d{6}\"],[\"19[1-3]\\\\d{7}\",[10]]]],\"KR\":[\"82\",\"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\",\"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\",[5,6,8,9,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1-$2\",[\"(?:3[1-3]|[46][1-4]|5[1-5])1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"1\"]],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1-$2-$3\",[\"60|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1-$2-$3\",[\"[1346]|5[1-5]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2-$3\",[\"[57]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\",\"$1-$2-$3\",[\"5\"],\"0$1\"]],\"0\",0,\"0(8(?:[1-46-8]|5\\\\d\\\\d))?\",0,0,0,[[\"(?:2|3[1-3]|[46][1-4]|5[1-5])[1-9]\\\\d{6,7}|(?:3[1-3]|[46][1-4]|5[1-5])1\\\\d{2,3}\",[5,6,8,9,10]],[\"1(?:05(?:[0-8]\\\\d|9[0-6])|22[13]\\\\d)\\\\d{4,5}|1(?:0[0-46-9]|[16-9]\\\\d|2[013-9])\\\\d{6,7}\",[9,10]],[\"00(?:308\\\\d{6,7}|798\\\\d{7,9})|(?:00368|80)\\\\d{7}\",[9,11,12,13,14]],[\"60[2-9]\\\\d{6}\",[9]],[\"50\\\\d{8,9}\",[10,11]],0,[\"1(?:5(?:22|33|44|66|77|88|99)|6(?:[07]0|44|6[0168]|88)|8(?:00|33|55|77|99))\\\\d{4}\",[8]],[\"15\\\\d{7,8}\",[9,10]],[\"70\\\\d{8}\",[10]]]],\"KW\":[\"965\",\"00\",\"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3,4})\",\"$1 $2\",[\"[169]|2(?:[235]|4[1-35-9])|52\"]],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[245]\"]]],0,0,0,0,0,0,[[\"2(?:[23]\\\\d\\\\d|4(?:[1-35-9]\\\\d|44)|5(?:0[034]|[2-46]\\\\d|5[1-3]|7[1-7]))\\\\d{4}\",[8]],[\"(?:41\\\\d\\\\d|5(?:(?:[05]\\\\d|1[0-7]|6[56])\\\\d|2(?:22|5[25])|7(?:55|77)|88[58])|6(?:(?:0[034679]|5[015-9]|6\\\\d)\\\\d|1(?:00|11|6[16])|2[26]2|3[36]3|4[46]4|7(?:0[013-9]|[67]\\\\d)|8[68]8|9(?:[069]\\\\d|3[039]))|9(?:(?:[04679]\\\\d|8[057-9])\\\\d|1(?:1[01]|99)|2(?:00|2\\\\d)|3(?:00|3[03])|5(?:00|5\\\\d)))\\\\d{4}\",[8]],[\"18\\\\d{5}\",[7]]]],\"KY\":[\"1\",\"011\",\"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"345$1\",0,\"345\",[[\"345(?:2(?:22|3[23]|44|66)|333|444|6(?:23|38|40)|7(?:30|4[35-79]|6[6-9]|77)|8(?:00|1[45]|[48]8)|9(?:14|4[035-9]))\\\\d{4}\"],[\"345(?:32[1-9]|42[0-4]|5(?:1[67]|2[5-79]|4[6-9]|50|76)|649|82[56]|9(?:1[679]|2[2-9]|3[06-9]|90))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"(?:345976|900[2-9]\\\\d\\\\d)\\\\d{4}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,[\"345849\\\\d{4}\"]]],\"KZ\":[\"7\",\"810\",\"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\",[10,14],0,\"8\",0,0,0,0,\"33|7\",[[\"(?:33622|7(?:1(?:0(?:[23]\\\\d|4[0-3]|59|63)|1(?:[23]\\\\d|4[0-79]|59)|2(?:[23]\\\\d|59)|3(?:2\\\\d|3[0-79]|4[0-35-9]|59)|4(?:[24]\\\\d|3[013-9]|5[1-9]|97)|5(?:2\\\\d|3[1-9]|4[0-7]|59)|6(?:[2-4]\\\\d|5[19]|61)|72\\\\d|8(?:[27]\\\\d|3[1-46-9]|4[0-5]|59))|2(?:1(?:[23]\\\\d|4[46-9]|5[3469])|2(?:2\\\\d|3[0679]|46|5[12679])|3(?:[2-4]\\\\d|5[139])|4(?:2\\\\d|3[1-35-9]|59)|5(?:[23]\\\\d|4[0-8]|59|61)|6(?:2\\\\d|3[1-9]|4[0-4]|59)|7(?:[2379]\\\\d|40|5[279])|8(?:[23]\\\\d|4[0-3]|59)|9(?:2\\\\d|3[124578]|59))))\\\\d{5}\",[10]],[\"7(?:0[0-25-8]|47|6[0-4]|7[15-8]|85)\\\\d{7}\",[10]],[\"8(?:00|108\\\\d{3})\\\\d{7}\"],[\"809\\\\d{7}\",[10]],[\"808\\\\d{7}\",[10]],0,0,0,[\"751\\\\d{7}\",[10]]],\"8~10\"],\"LA\":[\"856\",\"00\",\"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2[13]|3[14]|[4-8]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"30[013-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2[13]|[35-7][14]|41|8[1468])\\\\d{6}\",[8]],[\"2088\\\\d{6}|(?:20[23579]|302)\\\\d{7}\",[10]],0,0,0,0,[\"30[013-9]\\\\d{6}\",[9]]]],\"LB\":[\"961\",\"00\",\"[27-9]\\\\d{7}|[13-9]\\\\d{6}\",[7,8],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[27-9]\"]]],\"0\",0,0,0,0,0,[[\"7(?:62|8[0-7]|9[04-9])\\\\d{4}|(?:[14-69]\\\\d|2(?:[14-69]\\\\d|[78][1-9])|7[2-57]|8[02-9])\\\\d{5}\"],[\"793(?:[01]\\\\d|2[0-4])\\\\d{3}|(?:(?:3|81)\\\\d|7(?:[01]\\\\d|6[013-9]|8[89]|9[12]))\\\\d{5}\"],0,[\"9[01]\\\\d{6}\",[8]],0,0,0,0,0,[\"80\\\\d{6}\",[8]]]],\"LC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-8]\\\\d{6})$|1\",\"758$1\",0,\"758\",[[\"758(?:234|4(?:30|5\\\\d|6[2-9]|8[0-2])|57[0-2]|(?:63|75)8)\\\\d{4}\"],[\"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2\\\\d|3[0-3])|812)\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"LI\":[\"423\",\"00\",\"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\",[7,9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[2379]|8(?:0[09]|7)\",\"[2379]|8(?:0(?:02|9)|7)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"69\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]]],\"0\",0,\"(1001)|0\",0,0,0,[[\"(?:2(?:01|1[27]|2[02]|3\\\\d|6[02-578]|96)|3(?:[24]0|33|7[0135-7]|8[048]|9[0269]))\\\\d{4}\",[7]],[\"(?:6(?:(?:4[5-9]|5[0-469])\\\\d|6(?:[024-6]\\\\d|[17]0|3[7-9]))\\\\d|7(?:[37-9]\\\\d|42|56))\\\\d{4}\"],[\"8002[28]\\\\d\\\\d|80(?:05\\\\d|9)\\\\d{4}\"],[\"90(?:02[258]|1(?:23|3[14])|66[136])\\\\d\\\\d\",[7]],0,0,[\"870(?:28|87)\\\\d\\\\d\",[7]]]],\"LK\":[\"94\",\"00\",\"[1-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[1-689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:12[2-9]|602|8[12]\\\\d|9(?:1\\\\d|22|9[245]))\\\\d{6}|(?:11|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\\\d{6}\"],[\"7(?:[0-25-8]\\\\d|4[0-4])\\\\d{6}\"],0,0,0,0,[\"1973\\\\d{5}\"]]],\"LR\":[\"231\",\"00\",\"(?:[245]\\\\d|33|77|88)\\\\d{7}|(?:2\\\\d|[4-6])\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4[67]|[56]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-578]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"2\\\\d{7}\",[8]],[\"(?:(?:(?:22|33)0|555|(?:77|88)\\\\d)\\\\d|4(?:240|[67]))\\\\d{5}|[56]\\\\d{6}\",[7,9]],0,[\"332(?:02|[34]\\\\d)\\\\d{4}\",[9]]]],\"LS\":[\"266\",\"00\",\"(?:[256]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2568]\"]]],0,0,0,0,0,0,[[\"2\\\\d{7}\"],[\"[56]\\\\d{7}\"],[\"800[1256]\\\\d{4}\"]]],\"LT\":[\"370\",\"00\",\"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"52[0-7]\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0 $1\",1],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"37|4(?:[15]|6[1-8])\"],\"(0-$1)\",1],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[3-6]\"],\"(0-$1)\",1]],\"0\",0,\"[08]\",0,0,0,[[\"(?:3[1478]|4[124-6]|52)\\\\d{6}\"],[\"6\\\\d{7}\"],[\"80[02]\\\\d{5}\"],[\"9(?:0[0239]|10)\\\\d{5}\"],[\"70[05]\\\\d{5}\"],0,[\"70[67]\\\\d{5}\"],0,[\"[89]01\\\\d{5}\"],[\"808\\\\d{5}\"]]],\"LU\":[\"352\",\"00\",\"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\",[4,5,6,7,8,9,10,11],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"20[2-689]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"80[01]|90[015]\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"20\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\",\"$1 $2 $3 $4 $5\",[\"2(?:[0367]|4[3-8])\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\",\"$1 $2 $3 $4\",[\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]],0,0,\"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\",0,0,0,[[\"(?:35[013-9]|80[2-9]|90[89])\\\\d{1,8}|(?:2[2-9]|3[0-46-9]|[457]\\\\d|8[13-9]|9[2-579])\\\\d{2,9}\"],[\"6(?:[269][18]|5[1568]|7[189]|81)\\\\d{6}\",[9]],[\"800\\\\d{5}\",[8]],[\"90[015]\\\\d{5}\",[8]],0,0,0,0,[\"20(?:1\\\\d{5}|[2-689]\\\\d{1,7})\",[4,5,6,7,8,9,10]],[\"801\\\\d{5}\",[8]]]],\"LV\":[\"371\",\"00\",\"(?:[268]\\\\d|90)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[269]|8[01]\"]]],0,0,0,0,0,0,[[\"6\\\\d{7}\"],[\"23(?:23[0-57-9]|33[0238])\\\\d{3}|2(?:[0-24-9]\\\\d\\\\d|3(?:0[07]|[14-9]\\\\d|2[024-9]|3[0-24-9]))\\\\d{4}\"],[\"80\\\\d{6}\"],[\"90\\\\d{6}\"],0,0,0,0,0,[\"81\\\\d{6}\"]]],\"LY\":[\"218\",\"00\",\"[2-9]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"[2-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2(?:0[56]|[1-6]\\\\d|7[124579]|8[124])|3(?:1\\\\d|2[2356])|4(?:[17]\\\\d|2[1-357]|5[2-4]|8[124])|5(?:[1347]\\\\d|2[1-469]|5[13-5]|8[1-4])|6(?:[1-479]\\\\d|5[2-57]|8[1-5])|7(?:[13]\\\\d|2[13-79])|8(?:[124]\\\\d|5[124]|84))\\\\d{6}\"],[\"9[1-6]\\\\d{7}\"]]],\"MA\":[\"212\",\"00\",\"[5-8]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5[45]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1-$2\",[\"5(?:2[2-46-9]|3[3-9]|9)|8(?:0[89]|92)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1-$2\",[\"8\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1-$2\",[\"[5-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"5(?:2(?:[0-25-79]\\\\d|3[1-578]|4[02-46-8]|8[0235-7])|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[014-9]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"],[\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[0167]\\\\d|2[0-4]|5[01]|8[0-3]))\\\\d{6}\"],[\"80[0-7]\\\\d{6}\"],[\"89\\\\d{7}\"],0,0,0,0,[\"(?:592(?:4[0-2]|93)|80[89]\\\\d\\\\d)\\\\d{4}\"]]],\"MC\":[\"377\",\"00\",\"(?:[3489]|6\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"4\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[389]\"]],[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4 $5\",[\"6\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:870|9[2-47-9]\\\\d)\\\\d{5}\",[8]],[\"4(?:[469]\\\\d|5[1-9])\\\\d{5}|(?:3|6\\\\d)\\\\d{7}\"],[\"(?:800|90\\\\d)\\\\d{5}\",[8]]]],\"MD\":[\"373\",\"00\",\"(?:[235-7]\\\\d|[89]0)\\\\d{6}\",[8],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"22|3\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[25-7]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:(?:2[1-9]|3[1-79])\\\\d|5(?:33|5[257]))\\\\d{5}\"],[\"562\\\\d{5}|(?:6\\\\d|7[16-9])\\\\d{6}\"],[\"800\\\\d{5}\"],[\"90[056]\\\\d{5}\"],0,0,[\"803\\\\d{5}\"],0,[\"3[08]\\\\d{6}\"],[\"808\\\\d{5}\"]]],\"ME\":[\"382\",\"00\",\"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[2-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:20[2-8]|3(?:[0-2][2-7]|3[24-7])|4(?:0[2-467]|1[2467])|5(?:0[2467]|1[24-7]|2[2-467]))\\\\d{5}\",[8]],[\"6(?:[07-9]\\\\d|3[024]|6[0-25])\\\\d{5}\",[8]],[\"80(?:[0-2578]|9\\\\d)\\\\d{5}\"],[\"9(?:4[1568]|5[178])\\\\d{5}\",[8]],0,0,[\"77[1-9]\\\\d{5}\",[8]],0,[\"78[1-49]\\\\d{5}\",[8]]]],\"MF\":[\"590\",\"00\",\"590\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],0,\"0\",0,0,0,0,0,[[\"590(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)\\\\d{4}\"],[\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\\\d)|6(?:1[016-9]|5[0-4]|[67]\\\\d))\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:(?:39[5-7]|76[018])\\\\d|475[0-5])\\\\d{4}\"]]],\"MG\":[\"261\",\"00\",\"[23]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[23]\"],\"0$1\"]],\"0\",0,\"([24-9]\\\\d{6})$|0\",\"20$1\",0,0,[[\"2072[29]\\\\d{4}|20(?:2\\\\d|4[47]|5[3467]|6[279]|7[35]|8[268]|9[245])\\\\d{5}\"],[\"3[2-47-9]\\\\d{7}\"],0,0,0,0,0,0,[\"22\\\\d{7}\"]]],\"MH\":[\"692\",\"011\",\"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[2-6]\"]]],\"1\",0,0,0,0,0,[[\"(?:247|528|625)\\\\d{4}\"],[\"(?:(?:23|54)5|329|45[35-8])\\\\d{4}\"],0,0,0,0,0,0,[\"635\\\\d{4}\"]]],\"MK\":[\"389\",\"00\",\"[2-578]\\\\d{7}\",[8],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2|34[47]|4(?:[37]7|5[47]|64)\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[347]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[58]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:(?:2(?:62|77)0|3444)\\\\d|4[56]440)\\\\d{3}|(?:34|4[357])700\\\\d{3}|(?:2(?:[0-3]\\\\d|5[0-578]|6[01]|82)|3(?:1[3-68]|[23][2-68]|4[23568])|4(?:[23][2-68]|4[3-68]|5[2568]|6[25-8]|7[24-68]|8[4-68]))\\\\d{5}\"],[\"7(?:3555|(?:474|9[019]7)7)\\\\d{3}|7(?:[0-25-8]\\\\d\\\\d|3(?:[1-48]\\\\d|6[01]|7[01578])|4(?:2\\\\d|60|7[01578])|9(?:[2-4]\\\\d|5[01]|7[015]))\\\\d{4}\"],[\"800\\\\d{5}\"],[\"5\\\\d{7}\"],0,0,0,0,0,[\"8(?:0[1-9]|[1-9]\\\\d)\\\\d{5}\"]]],\"ML\":[\"223\",\"00\",\"[24-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24-9]\"]]],0,0,0,0,0,0,[[\"2(?:07[0-8]|12[67])\\\\d{4}|(?:2(?:02|1[4-689])|4(?:0[0-4]|4[1-39]))\\\\d{5}\"],[\"2(?:0(?:01|79)|17\\\\d)\\\\d{4}|(?:5[01]|[679]\\\\d|8[2-49])\\\\d{6}\"],[\"80\\\\d{6}\"]]],\"MM\":[\"95\",\"00\",\"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\",[6,7,8,9,10],[[\"(\\\\d)(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"16|2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[4-7]|8[1-35]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\",\"$1 $2 $3\",[\"9(?:2[0-4]|[35-9]|4[137-9])\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"92\"],\"0$1\"],[\"(\\\\d)(\\\\d{5})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:(?:2\\\\d|3[56]|[89][0-6])\\\\d|4(?:2[29]|62|7[0-2]|83)|6)|2(?:2(?:00|8[34])|4(?:0\\\\d|[26]2|7[0-2]|83)|51\\\\d\\\\d)|4(?:2(?:2\\\\d\\\\d|48[013])|3(?:20\\\\d|4(?:70|83)|56)|420\\\\d|5470)|6(?:0(?:[23]|88\\\\d)|(?:124|[56]2\\\\d)\\\\d|2472|3(?:20\\\\d|470)|4(?:2[04]\\\\d|472)|7(?:(?:3\\\\d|8[01459])\\\\d|4[67]0)))\\\\d{4}|5(?:2(?:2\\\\d{5,6}|47[02]\\\\d{4})|(?:3472|4(?:2(?:1|86)|470)|522\\\\d|6(?:20\\\\d|483)|7(?:20\\\\d|48[01])|8(?:20\\\\d|47[02])|9(?:20\\\\d|470))\\\\d{4})|7(?:(?:0470|4(?:25\\\\d|470)|5(?:202|470|96\\\\d))\\\\d{4}|1(?:20\\\\d{4,5}|4(?:70|83)\\\\d{4}))|8(?:1(?:2\\\\d{5,6}|4(?:10|7[01]\\\\d)\\\\d{3})|2(?:2\\\\d{5,6}|(?:320|490\\\\d)\\\\d{3})|(?:3(?:2\\\\d\\\\d|470)|4[24-7]|5(?:(?:2\\\\d|51)\\\\d|4(?:[1-35-9]\\\\d|4[0-57-9]))|6[23])\\\\d{4})|(?:1[2-6]\\\\d|4(?:2[24-8]|3[2-7]|[46][2-6]|5[3-5])|5(?:[27][2-8]|3[2-68]|4[24-8]|5[23]|6[2-4]|8[24-7]|9[2-7])|6(?:[19]20|42[03-6]|(?:52|7[45])\\\\d)|7(?:[04][24-8]|[15][2-7]|22|3[2-4])|8(?:1[2-689]|2[2-8]|[35]2\\\\d))\\\\d{4}|25\\\\d{5,6}|(?:2[2-9]|6(?:1[2356]|[24][2-6]|3[24-6]|5[2-4]|6[2-8]|7[235-7]|8[245]|9[24])|8(?:3[24]|5[245]))\\\\d{4}\",[6,7,8,9]],[\"(?:17[01]|9(?:2(?:[0-4]|[56]\\\\d\\\\d)|(?:3(?:[0-36]|4\\\\d)|(?:6\\\\d|8[89]|9[4-8])\\\\d|7(?:3|40|[5-9]\\\\d))\\\\d|4(?:(?:[0245]\\\\d|[1379])\\\\d|88)|5[0-6])\\\\d)\\\\d{4}|9[69]1\\\\d{6}|9(?:[68]\\\\d|9[089])\\\\d{5}\",[7,8,9,10]],[\"80080(?:0[1-9]|2\\\\d)\\\\d{3}\",[10]],0,0,0,0,0,[\"1333\\\\d{4}|[12]468\\\\d{4}\",[8]]]],\"MN\":[\"976\",\"001\",\"[12]\\\\d{7,9}|[5-9]\\\\d{7}\",[8,9,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[12]1\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]],[\"(\\\\d{3})(\\\\d{5,6})\",\"$1 $2\",[\"[12]2[1-3]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5,6})\",\"$1 $2\",[\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\",\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"],\"0$1\"],[\"(\\\\d{5})(\\\\d{4,5})\",\"$1 $2\",[\"[12]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"[12]2[1-3]\\\\d{5,6}|(?:(?:[12](?:1|27)|5[368])\\\\d\\\\d|7(?:0(?:[0-5]\\\\d|7[078]|80)|128))\\\\d{4}|[12](?:3[2-8]|4[2-68]|5[1-4689])\\\\d{6,7}\"],[\"(?:83[01]|92[039])\\\\d{5}|(?:5[05]|6[069]|8[015689]|9[013-9])\\\\d{6}\",[8]],0,0,0,0,0,0,[\"712[0-79]\\\\d{4}|7(?:1[013-9]|[25-9]\\\\d)\\\\d{5}\",[8]]]],\"MO\":[\"853\",\"00\",\"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\",[7,8],[[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[268]\"]]],0,0,0,0,0,0,[[\"(?:28[2-9]|8(?:11|[2-57-9]\\\\d))\\\\d{5}\",[8]],[\"6800[0-79]\\\\d{3}|6(?:[235]\\\\d\\\\d|6(?:0[0-5]|[1-9]\\\\d)|8(?:0[1-9]|[14-8]\\\\d|2[5-9]|[39][0-4]))\\\\d{4}\",[8]],[\"0800\\\\d{3}\",[7]]]],\"MP\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"670$1\",0,\"670\",[[\"670(?:2(?:3[3-7]|56|8[4-8])|32[1-38]|4(?:33|8[348])|5(?:32|55|88)|6(?:64|70|82)|78[3589]|8[3-9]8|989)\\\\d{4}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"MQ\":[\"596\",\"00\",\"596\\\\d{6}|(?:69|80|9\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[569]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"596(?:[03-7]\\\\d|1[05]|2[7-9]|8[0-39]|9[04-9])\\\\d{4}\"],[\"69(?:6(?:[0-46-9]\\\\d|5[0-6])|727)\\\\d{4}\"],[\"80[0-5]\\\\d{6}\"],0,0,0,0,0,[\"9(?:397[0-3]|477[0-5]|76(?:6\\\\d|7[0-367]))\\\\d{4}\"]]],\"MR\":[\"222\",\"00\",\"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-48]\"]]],0,0,0,0,0,0,[[\"(?:25[08]|35\\\\d|45[1-7])\\\\d{5}\"],[\"[2-4][0-46-9]\\\\d{6}\"],[\"800\\\\d{5}\"]]],\"MS\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\",[10],0,\"1\",0,\"([34]\\\\d{6})$|1\",\"664$1\",0,\"664\",[[\"6644(?:1[0-3]|91)\\\\d{4}\"],[\"664(?:3(?:49|9[1-6])|49[2-6])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"MT\":[\"356\",\"00\",\"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[2357-9]\"]]],0,0,0,0,0,0,[[\"20(?:3[1-4]|6[059])\\\\d{4}|2(?:0[19]|[1-357]\\\\d|60)\\\\d{5}\"],[\"(?:7(?:210|[79]\\\\d\\\\d)|9(?:[29]\\\\d\\\\d|69[67]|8(?:1[1-3]|89|97)))\\\\d{4}\"],[\"800(?:02|[3467]\\\\d)\\\\d{3}\"],[\"5(?:0(?:0(?:37|43)|(?:6\\\\d|70|9[0168])\\\\d)|[12]\\\\d0[1-5])\\\\d{3}\"],0,0,[\"501\\\\d{5}\"],[\"7117\\\\d{4}\"],[\"3550\\\\d{4}\"]]],\"MU\":[\"230\",\"0(?:0|[24-7]0|3[03])\",\"(?:[57]|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\",[7,8,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-46]|8[013]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[57]\"]],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,[[\"(?:2(?:[0346-8]\\\\d|1[0-7])|4(?:[013568]\\\\d|2[4-8])|54(?:[3-5]\\\\d|71)|6\\\\d\\\\d|8(?:14|3[129]))\\\\d{4}\",[7,8]],[\"5(?:4(?:2[1-389]|7[1-9])|87[15-8])\\\\d{4}|(?:5(?:2[5-9]|4[3-689]|[57]\\\\d|8[0-689]|9[0-8])|7(?:0[0-3]|3[013]))\\\\d{5}\",[8]],[\"802\\\\d{7}|80[0-2]\\\\d{4}\",[7,10]],[\"30\\\\d{5}\",[7]],0,0,0,0,[\"3(?:20|9\\\\d)\\\\d{4}\",[7]]],\"020\"],\"MV\":[\"960\",\"0(?:0|19)\",\"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\",[7,10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[34679]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,[[\"(?:3(?:0[0-3]|3[0-59])|6(?:[58][024689]|6[024-68]|7[02468]))\\\\d{4}\",[7]],[\"(?:46[46]|[79]\\\\d\\\\d)\\\\d{4}\",[7]],[\"800\\\\d{7}\",[10]],[\"900\\\\d{7}\",[10]],0,0,[\"4(?:0[01]|50)\\\\d{4}\",[7]]],\"00\"],\"MW\":[\"265\",\"00\",\"(?:[1289]\\\\d|31|77)\\\\d{7}|1\\\\d{6}\",[7,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[137-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1[2-9]|2[12]\\\\d\\\\d)\\\\d{5}\"],[\"111\\\\d{6}|(?:31|77|[89][89])\\\\d{7}\",[9]]]],\"MX\":[\"52\",\"0[09]\",\"1(?:(?:22|44|7[27]|87|9[69])[1-9]|65[0-689])\\\\d{7}|(?:1(?:[01]\\\\d|2[13-9]|[35][1-9]|4[0-35-9]|6[0-46-9]|7[013-689]|8[1-69]|9[1-578])|[2-9]\\\\d)\\\\d{8}\",[10,11],[[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"33|5[56]|81\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2-9]\"],0,1],[\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$2 $3 $4\",[\"1(?:33|5[56]|81)\"],0,1],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$2 $3 $4\",[\"1\"],0,1]],\"01\",0,\"0(?:[12]|4[45])|1\",0,0,0,[[\"657[12]\\\\d{6}|(?:2(?:0[01]|2\\\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\\\d|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\\\d|7[12]|8[1-8]))\\\\d{7}\",[10]],[\"657[12]\\\\d{6}|(?:1(?:2(?:2[1-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-7][1-9]|3[1-8]|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1-467][1-9]|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))|2(?:2\\\\d|3[1-35-8]|4[13-9]|7[1-689]|8[1-578]|9[467])|3(?:1[1-79]|[2458][1-9]|3\\\\d|7[1-8]|9[1-5])|4(?:1[1-57-9]|[25-7][1-9]|3[1-8]|4\\\\d|8[1-35-9]|9[2-689])|5(?:[56]\\\\d|88|9[1-79])|6(?:1[2-68]|[2-4][1-9]|5[1-3689]|6[1-57-9]|7[1-7]|8[67]|9[4-8])|7(?:[1346][1-9]|[27]\\\\d|5[13-9]|8[1-69]|9[17])|8(?:1\\\\d|2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[0-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69]\\\\d|7[12]|8[1-8]))\\\\d{7}\"],[\"8(?:00|88)\\\\d{7}\",[10]],[\"900\\\\d{7}\",[10]],[\"500\\\\d{7}\",[10]],0,0,0,0,[\"300\\\\d{7}\",[10]]],\"00\"],\"MY\":[\"60\",\"00\",\"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"[4-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1-$2 $3\",[\"1(?:[02469]|[378][1-9]|53)|8\",\"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"],\"0$1\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"3\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1-$2-$3-$4\",[\"1(?:[367]|80)\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1-$2 $3\",[\"15\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1-$2 $3\",[\"1\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3(?:2[0-36-9]|3[0-368]|4[0-278]|5[0-24-8]|6[0-467]|7[1246-9]|8\\\\d|9[0-57])\\\\d|4(?:2[0-689]|[3-79]\\\\d|8[1-35689])|5(?:2[0-589]|[3468]\\\\d|5[0-489]|7[1-9]|9[23])|6(?:2[2-9]|3[1357-9]|[46]\\\\d|5[0-6]|7[0-35-9]|85|9[015-8])|7(?:[2579]\\\\d|3[03-68]|4[0-8]|6[5-9]|8[0-35-9])|8(?:[24][2-8]|3[2-5]|5[2-7]|6[2-589]|7[2-578]|[89][2-9])|9(?:0[57]|13|[25-7]\\\\d|[3489][0-8]))\\\\d{5}\",[8,9]],[\"1(?:1888[689]|4400|8(?:47|8[27])[0-4])\\\\d{4}|1(?:0(?:[23568]\\\\d|4[0-6]|7[016-9]|9[0-8])|1(?:[1-5]\\\\d\\\\d|6(?:0[5-9]|[1-9]\\\\d)|7(?:[0-4]\\\\d|5[0-7]))|(?:[269]\\\\d|[37][1-9]|4[235-9])\\\\d|5(?:31|9\\\\d\\\\d)|8(?:1[23]|[236]\\\\d|4[06]|5(?:46|[7-9])|7[016-9]|8[01]|9[0-8]))\\\\d{5}\",[9,10]],[\"1[378]00\\\\d{6}\",[10]],[\"1600\\\\d{6}\",[10]],0,0,0,0,[\"15(?:4(?:6[0-4]\\\\d|8(?:0[125]|[17]\\\\d|21|3[01]|4[01589]|5[014]|6[02]))|6(?:32[0-6]|78\\\\d))\\\\d{4}\",[10]]]],\"MZ\":[\"258\",\"00\",\"(?:2|8\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2|8[2-79]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"2(?:[1346]\\\\d|5[0-2]|[78][12]|93)\\\\d{5}\",[8]],[\"8[2-79]\\\\d{7}\",[9]],[\"800\\\\d{6}\",[9]]]],\"NA\":[\"264\",\"00\",\"[68]\\\\d{7,8}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"88\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"87\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"64426\\\\d{3}|6(?:1(?:2[2-7]|3[01378]|4[0-4])|254|32[0237]|4(?:27|41|5[25])|52[236-8]|626|7(?:2[2-4]|30))\\\\d{4,5}|6(?:1(?:(?:0\\\\d|2[0189]|3[24-69]|4[5-9])\\\\d|17|69|7[014])|2(?:17|5[0-36-8]|69|70)|3(?:17|2[14-689]|34|6[289]|7[01]|81)|4(?:17|2[0-2]|4[06]|5[0137]|69|7[01])|5(?:17|2[0459]|69|7[01])|6(?:17|25|38|42|69|7[01])|7(?:17|2[569]|3[13]|6[89]|7[01]))\\\\d{4}\"],[\"(?:60|8[1245])\\\\d{7}\",[9]],[\"80\\\\d{7}\",[9]],[\"8701\\\\d{5}\",[9]],0,0,0,0,[\"8(?:3\\\\d\\\\d|86)\\\\d{5}\"]]],\"NC\":[\"687\",\"00\",\"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\",[6],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1.$2.$3\",[\"[02-57-9]\"]]],0,0,0,0,0,0,[[\"(?:2[03-9]|3[0-5]|4[1-7]|88)\\\\d{4}\"],[\"(?:5[0-4]|[79]\\\\d|8[0-79])\\\\d{4}\"],[\"050\\\\d{3}\"],[\"36\\\\d{4}\"]]],\"NE\":[\"227\",\"00\",\"[027-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"08\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[089]|2[013]|7[047]\"]]],0,0,0,0,0,0,[[\"2(?:0(?:20|3[1-8]|4[13-5]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\\\d{4}\"],[\"(?:23|7[047]|[89]\\\\d)\\\\d{6}\"],[\"08\\\\d{6}\"],[\"09\\\\d{6}\"]]],\"NF\":[\"672\",\"00\",\"[13]\\\\d{5}\",[6],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"1[0-3]\"]],[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"[13]\"]]],0,0,\"([0-258]\\\\d{4})$\",\"3$1\",0,0,[[\"(?:1(?:06|17|28|39)|3[0-2]\\\\d)\\\\d{3}\"],[\"(?:14|3[58])\\\\d{4}\"]]],\"NG\":[\"234\",\"009\",\"2[0-24-9]\\\\d{8}|[78]\\\\d{10,13}|[7-9]\\\\d{9}|[1-9]\\\\d{7}|[124-7]\\\\d{6}\",[7,8,10,11,12,13,14],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"78\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[12]|9(?:0[3-9]|[1-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-6]|7(?:0[0-689]|[1-79])|8[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"20[129]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\",\"$1 $2 $3\",[\"[78]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"20(?:[1259]\\\\d|3[013-9]|4[1-8]|6[024-689]|7[1-79]|8[2-9])\\\\d{6}|(?:(?:[1-356]\\\\d|4[02-8]|8[2-9])\\\\d|9(?:0[3-9]|[1-9]\\\\d))\\\\d{5}|7(?:0(?:[013-689]\\\\d|2[0-24-9])\\\\d{3,4}|[1-79]\\\\d{6})|(?:[12]\\\\d|4[147]|5[14579]|6[1578]|7[1-3578])\\\\d{5}\",[7,8,10]],[\"(?:702[0-24-9]|819[01])\\\\d{6}|(?:7(?:0[13-9]|[12]\\\\d)|8(?:0[1-9]|1[0-8])|9(?:0[1-9]|1[1-6]))\\\\d{7}\",[10]],[\"800\\\\d{7,11}\",[10,11,12,13,14]],0,0,0,[\"700\\\\d{7,11}\",[10,11,12,13,14]]]],\"NI\":[\"505\",\"00\",\"(?:1800|[25-8]\\\\d{3})\\\\d{4}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[125-8]\"]]],0,0,0,0,0,0,[[\"2\\\\d{7}\"],[\"(?:5(?:5[0-7]|[78]\\\\d)|6(?:20|3[035]|4[045]|5[05]|77|8[1-9]|9[059])|(?:7[5-8]|8\\\\d)\\\\d)\\\\d{5}\"],[\"1800\\\\d{4}\"]]],\"NL\":[\"31\",\"00\",\"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\",[5,6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{4,7})\",\"$1 $2\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"66\"],\"0$1\"],[\"(\\\\d)(\\\\d{8})\",\"$1 $2\",[\"6\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-578]|91\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"9\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:[035]\\\\d|1[13-578]|6[124-8]|7[24]|8[0-467])|2(?:[0346]\\\\d|2[2-46-9]|5[125]|9[479])|3(?:[03568]\\\\d|1[3-8]|2[01]|4[1-8])|4(?:[0356]\\\\d|1[1-368]|7[58]|8[15-8]|9[23579])|5(?:[0358]\\\\d|[19][1-9]|2[1-57-9]|4[13-8]|6[126]|7[0-3578])|7\\\\d\\\\d)\\\\d{6}\",[9]],[\"(?:6[1-58]|970\\\\d)\\\\d{7}\",[9,11]],[\"800\\\\d{4,7}\",[7,8,9,10]],[\"90[069]\\\\d{4,7}\",[7,8,9,10]],0,0,[\"140(?:1[035]|2[0346]|3[03568]|4[0356]|5[0358]|8[458])|(?:140(?:1[16-8]|2[259]|3[124]|4[17-9]|5[124679]|7)|8[478]\\\\d{6})\\\\d\",[5,6,9]],[\"66\\\\d{7}\",[9]],[\"(?:85|91)\\\\d{7}\",[9]]]],\"NO\":[\"47\",\"00\",\"(?:0|[2-9]\\\\d{3})\\\\d{4}\",[5,8],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2-79]\"]]],0,0,0,0,0,\"[02-689]|7[0-8]\",[[\"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\\\d{6}\",[8]],[\"(?:4[015-8]|9\\\\d)\\\\d{6}\",[8]],[\"80[01]\\\\d{5}\",[8]],[\"82[09]\\\\d{5}\",[8]],[\"880\\\\d{5}\",[8]],0,[\"(?:0[2-9]|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d\\\\d))\\\\d{3}\"],0,[\"85[0-5]\\\\d{5}\",[8]],[\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\",[8]]]],\"NP\":[\"977\",\"00\",\"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\",[8,10,11],[[\"(\\\\d)(\\\\d{7})\",\"$1-$2\",[\"1[2-6]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1-$2\",[\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"9\"]]],\"0\",0,0,0,0,0,[[\"(?:1[0-6]\\\\d|99[02-6])\\\\d{5}|(?:2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-7])[2-6]\\\\d{5}\",[8]],[\"9(?:00|6[0-3]|7[024-6]|8[0-24-68])\\\\d{7}\",[10]],[\"1(?:66001|800\\\\d\\\\d)\\\\d{5}\",[11]]]],\"NR\":[\"674\",\"00\",\"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[4-68]\"]]],0,0,0,0,0,0,[[\"444\\\\d{4}\"],[\"(?:55[3-9]|666|8\\\\d\\\\d)\\\\d{4}\"]]],\"NU\":[\"683\",\"00\",\"(?:[4-7]|888\\\\d)\\\\d{3}\",[4,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"8\"]]],0,0,0,0,0,0,[[\"[47]\\\\d{3}\",[4]],[\"(?:[56]|888[1-9])\\\\d{3}\"]]],\"NZ\":[\"64\",\"0(?:0|161)\",\"[1289]\\\\d{9}|50\\\\d{5}(?:\\\\d{2,3})?|[27-9]\\\\d{7,8}|(?:[34]\\\\d|6[0-35-9])\\\\d{6}|8\\\\d{4,6}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,8})\",\"$1 $2\",[\"8[1-79]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"50[036-8]|8|90\",\"50(?:[0367]|88)|8|90\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"24|[346]|7[2-57-9]|9[2-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:10|74)|[589]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"1|2[028]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\",\"$1 $2 $3\",[\"2(?:[169]|7[0-35-9])|7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"24099\\\\d{3}|(?:3[2-79]|[49][2-9]|6[235-9]|7[2-57-9])\\\\d{6}\",[8]],[\"2(?:[0-27-9]\\\\d|6)\\\\d{6,7}|2(?:1\\\\d|75)\\\\d{5}\",[8,9,10]],[\"508\\\\d{6,7}|80\\\\d{6,8}\",[8,9,10]],[\"(?:1[13-57-9]\\\\d{5}|50(?:0[08]|30|66|77|88))\\\\d{3}|90\\\\d{6,8}\",[7,8,9,10]],[\"70\\\\d{7}\",[9]],0,[\"8(?:1[16-9]|22|3\\\\d|4[045]|5[459]|6[235-9]|7[0-3579]|90)\\\\d{2,7}\"]],\"00\"],\"OM\":[\"968\",\"00\",\"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\",[7,8,9],[[\"(\\\\d{3})(\\\\d{4,6})\",\"$1 $2\",[\"[58]\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[179]\"]]],0,0,0,0,0,0,[[\"2[1-6]\\\\d{6}\",[8]],[\"(?:1505|90[1-9]\\\\d)\\\\d{4}|(?:7[126-9]|9[1-9])\\\\d{6}\",[8]],[\"8007\\\\d{4,5}|(?:500|800[05])\\\\d{4}\"],[\"900\\\\d{5}\",[8]]]],\"PA\":[\"507\",\"00\",\"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\",[7,8,10,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[1-57-9]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1-$2\",[\"[68]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"(?:1(?:0\\\\d|1[479]|2[37]|3[0137]|4[17]|5[05]|6[058]|7[0167]|8[2358]|9[1389])|2(?:[0235-79]\\\\d|1[0-7]|4[013-9]|8[02-9])|3(?:[089]\\\\d|1[0-7]|2[0-5]|33|4[0-79]|5[0-35]|6[068]|7[0-8])|4(?:00|3[0-579]|4\\\\d|7[0-57-9])|5(?:[01]\\\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-26-8]|3[03]|4[04]|5[05-9]|6[0156]|7[0-24-9]|8[5-9]|90)|8(?:09|2[89]|3\\\\d|4[0-24-689]|5[014]|8[02])|9(?:0[5-9]|1[0135-8]|2[036-9]|3[35-79]|40|5[0457-9]|6[05-9]|7[04-9]|8[35-8]|9\\\\d))\\\\d{4}\",[7]],[\"(?:1[16]1|21[89]|6\\\\d{3}|8(?:1[01]|7[23]))\\\\d{4}\",[7,8]],[\"800\\\\d{4,5}|(?:00800|800\\\\d)\\\\d{6}\"],[\"(?:8(?:22|55|60|7[78]|86)|9(?:00|81))\\\\d{4}\",[7]]]],\"PE\":[\"51\",\"00|19(?:1[124]|77|90)00\",\"(?:[14-8]|9\\\\d)\\\\d{7}\",[8,9],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"1\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[4-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,[[\"(?:(?:4[34]|5[14])[0-8]\\\\d|7(?:173|3[0-8]\\\\d)|8(?:10[05689]|6(?:0[06-9]|1[6-9]|29)|7(?:0[569]|[56]0)))\\\\d{4}|(?:1[0-8]|4[12]|5[236]|6[1-7]|7[246]|8[2-4])\\\\d{6}\",[8]],[\"9\\\\d{8}\",[9]],[\"800\\\\d{5}\",[8]],[\"805\\\\d{5}\",[8]],[\"80[24]\\\\d{5}\",[8]],0,0,0,0,[\"801\\\\d{5}\",[8]]],\"00\",\" Anexo \"],\"PF\":[\"689\",\"00\",\"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\",[6,8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"44\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"4|8[7-9]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]],0,0,0,0,0,0,[[\"4(?:0[4-689]|9[4-68])\\\\d{5}\",[8]],[\"8[7-9]\\\\d{6}\",[8]],[\"80[0-5]\\\\d{6}\",[9]],0,0,0,[\"44\\\\d{4}\",[6]],0,[\"499\\\\d{5}\",[8]]]],\"PG\":[\"675\",\"00|140[1-3]\",\"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"18|[2-69]|85\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[78]\"]]],0,0,0,0,0,0,[[\"(?:(?:3[0-2]|4[257]|5[34]|9[78])\\\\d|64[1-9]|85[02-46-9])\\\\d{4}\",[7]],[\"(?:7\\\\d|8[1-38])\\\\d{6}\",[8]],[\"180\\\\d{4}\",[7]],0,0,0,0,[\"27[01]\\\\d{4}\",[7]],[\"2(?:0[0-57]|7[568])\\\\d{4}\",[7]]],\"00\"],\"PH\":[\"63\",\"00\",\"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\",[6,8,9,10,11,12,13],[[\"(\\\\d)(\\\\d{5})\",\"$1 $2\",[\"2\"],\"(0$1)\"],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\",\"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"346|4(?:27|9[35])|883\",\"3469|4(?:279|9(?:30|56))|8834\"],\"(0$1)\"],[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|8[2-8]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]],[\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3 $4\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"(?:(?:2[3-8]|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578])\\\\d{3}|88(?:22\\\\d\\\\d|42))\\\\d{4}|(?:2|8[2-8]\\\\d\\\\d)\\\\d{5}\",[6,8,9,10]],[\"(?:8(?:1[37]|9[5-8])|9(?:0[5-9]|1[0-24-9]|[235-7]\\\\d|4[2-9]|8[135-9]|9[1-9]))\\\\d{7}\",[10]],[\"1800\\\\d{7,9}\",[11,12,13]]]],\"PK\":[\"92\",\"00\",\"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\",\"$1 $2 $3\",[\"[89]0\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"1\"]],[\"(\\\\d{3})(\\\\d{6,7})\",\"$1 $2\",[\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\",\"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{7,8})\",\"$1 $2\",[\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"],\"(0$1)\"],[\"(\\\\d{5})(\\\\d{5})\",\"$1 $2\",[\"58\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{7})\",\"$1 $2\",[\"3\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[24-9]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,[[\"(?:(?:21|42)[2-9]|58[126])\\\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\\\d{6,7}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\\\d{5,6}\",[9,10]],[\"3(?:[0-247]\\\\d|3[0-79]|55|64)\\\\d{7}\",[10]],[\"800\\\\d{5}(?:\\\\d{3})?\",[8,11]],[\"900\\\\d{5}\",[8]],[\"122\\\\d{6}\",[9]],0,[\"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:0[468]|[1-8])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\\\d{6}\",[11,12]]]],\"PL\":[\"48\",\"00\",\"(?:6|8\\\\d\\\\d)\\\\d{7}|[1-9]\\\\d{6}(?:\\\\d{2})?|[26]\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{5})\",\"$1\",[\"19\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"11|20|64\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1 $2 $3\",[\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\",\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"64\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"1[2-8]|[2-7]|8[1-79]|9[145]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"8\"]]],0,0,0,0,0,0,[[\"47\\\\d{7}|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])(?:[02-9]\\\\d{6}|1(?:[0-8]\\\\d{5}|9\\\\d{3}(?:\\\\d{2})?))\",[7,9]],[\"21(?:1[013-5]|2\\\\d)\\\\d{5}|(?:45|5[0137]|6[069]|7[2389]|88)\\\\d{7}\",[9]],[\"800\\\\d{6,7}\",[9,10]],[\"70[01346-8]\\\\d{6}\",[9]],0,0,[\"804\\\\d{6}\",[9]],[\"64\\\\d{4,7}\",[6,7,8,9]],[\"39\\\\d{7}\",[9]],[\"801\\\\d{6}\",[9]]]],\"PM\":[\"508\",\"00\",\"[45]\\\\d{5}|(?:708|80\\\\d)\\\\d{6}\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[45]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:4[1-35-7]|5[01])\\\\d{4}\",[6]],[\"(?:4[02-4]|5[056]|708[45][0-5])\\\\d{4}\"],[\"80[0-5]\\\\d{6}\",[9]]]],\"PR\":[\"1\",\"011\",\"(?:[589]\\\\d\\\\d|787)\\\\d{7}\",[10],0,\"1\",0,0,0,0,\"787|939\",[[\"(?:787|939)[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"PS\":[\"970\",\"00\",\"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\",[8,9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[2489]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"(?:22[2-47-9]|42[45]|82[014-68]|92[3569])\\\\d{5}\",[8]],[\"5[69]\\\\d{7}\",[9]],[\"1800\\\\d{6}\",[10]],0,0,0,0,0,0,[\"1700\\\\d{6}\",[10]]]],\"PT\":[\"351\",\"00\",\"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2[12]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"16|[236-9]\"]]],0,0,0,0,0,0,[[\"2(?:[12]\\\\d|3[1-689]|4[1-59]|[57][1-9]|6[1-35689]|8[1-69]|9[1256])\\\\d{6}\"],[\"6(?:[06]92(?:30|9\\\\d)|[35]92(?:3[034]|9\\\\d))\\\\d{3}|(?:(?:16|6[0356])93|9(?:[1-36]\\\\d\\\\d|480))\\\\d{5}\"],[\"80[02]\\\\d{6}\"],[\"(?:6(?:0[178]|4[68])\\\\d|76(?:0[1-57]|1[2-47]|2[237]))\\\\d{5}\"],[\"884[0-4689]\\\\d{5}\"],0,[\"70(?:38[01]|596|(?:7\\\\d|8[17])\\\\d)\\\\d{4}\"],[\"6(?:222\\\\d|8988)\\\\d{4}\"],[\"30\\\\d{7}\"],[\"80(?:8\\\\d|9[1579])\\\\d{5}\"]]],\"PW\":[\"680\",\"01[12]\",\"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-9]\"]]],0,0,0,0,0,0,[[\"(?:2(?:55|77)|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76)|900)\\\\d{4}\"],[\"(?:(?:46|83)[0-5]|6[2-4689]0)\\\\d{4}|(?:45|77|88)\\\\d{5}\"]]],\"PY\":[\"595\",\"00\",\"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\",[6,7,8,9,10,11],[[\"(\\\\d{3})(\\\\d{3,6})\",\"$1 $2\",[\"[2-9]0\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{3})(\\\\d{4,5})\",\"$1 $2\",[\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"87\"]],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"9(?:[5-79]|8[1-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-8]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"9\"]]],\"0\",0,0,0,0,0,[[\"(?:[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36])\\\\d{5,7}|(?:2(?:2[4-68]|[4-68]\\\\d|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51|[67]\\\\d)|4(?:3[12]|5[13]|9[1-47])|5(?:[1-4]\\\\d|5[02-4])|6(?:3[1-3]|44|7[1-8])|7(?:4[0-4]|5\\\\d|6[1-578]|75|8[0-8])|858)\\\\d{5,6}\",[7,8,9]],[\"9(?:51|6[129]|7[1-6]|8[1-7]|9[1-5])\\\\d{6}\",[9]],[\"9800\\\\d{5,7}\",[9,10,11]],0,0,0,[\"[2-9]0\\\\d{4,7}\",[6,7,8,9]],0,[\"8700[0-4]\\\\d{4}\",[9]]]],\"QA\":[\"974\",\"00\",\"800\\\\d{4}|(?:2|800)\\\\d{6}|(?:0080|[3-7])\\\\d{7}\",[7,8,9,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"2[16]|8\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[3-7]\"]]],0,0,0,0,0,0,[[\"4(?:1111|2022)\\\\d{3}|4(?:[04]\\\\d\\\\d|14[0-6]|999)\\\\d{4}\",[8]],[\"[35-7]\\\\d{7}\",[8]],[\"800\\\\d{4}|(?:0080[01]|800)\\\\d{6}\",[7,9,11]],0,0,0,0,[\"2[16]\\\\d{5}\",[7]]]],\"RE\":[\"262\",\"00\",\"(?:26|[689]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"26(?:2\\\\d\\\\d|3(?:0\\\\d|1[0-6]))\\\\d{4}\"],[\"69(?:2\\\\d\\\\d|3(?:[06][0-6]|1[013]|2[0-2]|3[0-39]|4\\\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))\\\\d{4}\"],[\"80\\\\d{7}\"],[\"89[1-37-9]\\\\d{6}\"],0,0,0,0,[\"9(?:399[0-3]|479[0-5]|76(?:2[27]|3[0-37]))\\\\d{4}\"],[\"8(?:1[019]|2[0156]|84|90)\\\\d{6}\"]]],\"RO\":[\"40\",\"00\",\"(?:[236-8]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\",[6,9],[[\"(\\\\d{3})(\\\\d{3})\",\"$1 $2\",[\"2[3-6]\",\"2[3-6]\\\\d9\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"219|31\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[23]1\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[236-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"[23][13-6]\\\\d{7}|(?:2(?:19\\\\d|[3-6]\\\\d9)|31\\\\d\\\\d)\\\\d\\\\d\"],[\"7020\\\\d{5}|(?:6(?:2\\\\d|40)|7(?:0[013-9]|1[0-3]|[2-7]\\\\d|8[03-8]|9[0-39]))\\\\d{6}\",[9]],[\"800\\\\d{6}\",[9]],[\"90[0136]\\\\d{6}\",[9]],0,0,[\"(?:37\\\\d|80[578])\\\\d{6}\",[9]],0,0,[\"801\\\\d{6}\",[9]]],0,\" int \"],\"RS\":[\"381\",\"00\",\"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\",[6,7,8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3,9})\",\"$1 $2\",[\"(?:2[389]|39)0|[7-9]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{5,10})\",\"$1 $2\",[\"[1-36]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:11[1-9]\\\\d|(?:2[389]|39)(?:0[2-9]|[2-9]\\\\d))\\\\d{3,8}|(?:1[02-9]|2[0-24-7]|3[0-8])[2-9]\\\\d{4,9}\",[7,8,9,10,11,12]],[\"6(?:[0-689]|7\\\\d)\\\\d{6,7}\",[8,9,10]],[\"800\\\\d{3,9}\"],[\"(?:78\\\\d|90[0169])\\\\d{3,7}\",[6,7,8,9,10]],0,0,[\"7[06]\\\\d{4,10}\"]]],\"RU\":[\"7\",\"810\",\"8\\\\d{13}|[347-9]\\\\d{9}\",[10,14],[[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-8]|2[1-9])\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))\",\"7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"],\"8 ($1)\",1],[\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"7(?:1[0-68]|2[1-9])\",\"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\",\"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"8 ($1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[349]|8(?:[02-7]|1[1-8])\"],\"8 ($1)\",1],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"8\"],\"8 ($1)\"]],\"8\",0,0,0,0,\"3[04-689]|[489]\",[[\"(?:3(?:0[12]|4[1-35-79]|5[1-3]|65|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-79]|7[1-37-9]))\\\\d{7}\",[10]],[\"9\\\\d{9}\",[10]],[\"8(?:0[04]|108\\\\d{3})\\\\d{7}\"],[\"80[39]\\\\d{7}\",[10]],[\"808\\\\d{7}\",[10]]],\"8~10\"],\"RW\":[\"250\",\"00\",\"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\",[8,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[7-9]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:06|2[23568]\\\\d)\\\\d{6}\"],[\"7[237-9]\\\\d{7}\",[9]],[\"800\\\\d{6}\",[9]],[\"900\\\\d{6}\",[9]]]],\"SA\":[\"966\",\"00\",\"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\",[9,10],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"9\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"5\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"81\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]]],\"0\",0,0,0,0,0,[[\"1(?:1\\\\d|2[24-8]|3[35-8]|4[3-68]|6[2-5]|7[235-7])\\\\d{6}\",[9]],[\"579[01]\\\\d{5}|5(?:[013-689]\\\\d|7[0-8])\\\\d{6}\",[9]],[\"800\\\\d{7}\",[10]],[\"925\\\\d{6}\",[9]],0,0,[\"811\\\\d{7}\",[10]],0,0,[\"920\\\\d{6}\",[9]]]],\"SB\":[\"677\",\"0[01]\",\"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]],0,0,0,0,0,0,[[\"(?:1[4-79]|[23]\\\\d|4[0-2]|5[03]|6[0-37])\\\\d{3}\",[5]],[\"48\\\\d{3}|(?:(?:7[1-9]|8[4-9])\\\\d|9(?:1[2-9]|2[013-9]|3[0-2]|[46]\\\\d|5[0-46-9]|7[0-689]|8[0-79]|9[0-8]))\\\\d{4}\"],[\"1[38]\\\\d{3}\",[5]],0,0,0,0,0,[\"5[12]\\\\d{3}\",[5]]]],\"SC\":[\"248\",\"010|0[0-2]\",\"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\",[7],[[\"(\\\\d)(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[246]|9[57]\"]]],0,0,0,0,0,0,[[\"4[2-46]\\\\d{5}\"],[\"2[125-8]\\\\d{5}\"],[\"800[08]\\\\d{3}\"],0,0,0,0,0,[\"971\\\\d{4}|(?:64|95)\\\\d{5}\"]],\"00\"],\"SD\":[\"249\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1(?:5\\\\d|8[35-7])\\\\d{6}\"],[\"(?:1[0-2]|9[0-3569])\\\\d{7}\"]]],\"SE\":[\"46\",\"00\",\"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\",[6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"20\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"9(?:00|39|44|9)\"],\"0$1\",0,\"$1 $2\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3\",[\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\",\"$1-$2 $3\",[\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\",\"$1-$2 $3\",[\"9(?:00|39|44)\"],\"0$1\",0,\"$1 $2 $3\"],[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"10|7\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"8\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4\",[\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\",\"$1-$2 $3 $4\",[\"9\"],\"0$1\",0,\"$1 $2 $3 $4\"],[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1-$2 $3 $4 $5\",[\"[26]\"],\"0$1\",0,\"$1 $2 $3 $4 $5\"]],\"0\",0,0,0,0,0,[[\"(?:(?:[12][136]|3[356]|4[0246]|6[03]|8\\\\d)\\\\d|90[1-9])\\\\d{4,6}|(?:1(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\\\d)|2(?:2[0-7]|4[0136-8]|5[0138]|7[018]|8[01]|9[0-57])|3(?:0[0-4]|1\\\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])|4(?:1[013-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])|5(?:0[0-6]|[15][0-5]|2[0-68]|3[0-4]|4\\\\d|6[03-5]|7[013]|8[0-79]|9[01])|6(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])|9(?:1[0-68]|2\\\\d|3[02-5]|4[0-3]|5[0-4]|[68][01]|7[0135-8]))\\\\d{5,6}\",[7,8,9]],[\"7[02369]\\\\d{7}\",[9]],[\"20\\\\d{4,7}\",[6,7,8,9]],[\"649\\\\d{6}|99[1-59]\\\\d{4}(?:\\\\d{3})?|9(?:00|39|44)[1-8]\\\\d{3,6}\",[7,8,9,10]],[\"75[1-8]\\\\d{6}\",[9]],0,[\"10[1-8]\\\\d{6}\",[9]],[\"74[02-9]\\\\d{6}\",[9]],0,[\"77[0-7]\\\\d{6}\",[9]]]],\"SG\":[\"65\",\"0[0-3]\\\\d\",\"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\",[8,10,11],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[369]|8(?:0[1-9]|[1-9])\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"]],[\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[[\"662[0-24-9]\\\\d{4}|6(?:[0-578]\\\\d|6[013-57-9]|9[0-35-9])\\\\d{5}\",[8]],[\"8(?:09|95)[0-2]\\\\d{4}|(?:8(?:0[1-8]|[1-8]\\\\d|9[0-4])|9[0-8]\\\\d)\\\\d{5}\",[8]],[\"(?:18|8)00\\\\d{7}\",[10,11]],[\"1900\\\\d{7}\",[11]],0,0,[\"7000\\\\d{7}\",[11]],0,[\"(?:3[12]\\\\d|666)\\\\d{5}\",[8]]]],\"SH\":[\"290\",\"00\",\"(?:[256]\\\\d|8)\\\\d{3}\",[4,5],0,0,0,0,0,0,\"[256]\",[[\"2(?:[0-57-9]\\\\d|6[4-9])\\\\d\\\\d\"],[\"[56]\\\\d{4}\",[5]],0,0,0,0,0,0,[\"262\\\\d\\\\d\",[5]]]],\"SI\":[\"386\",\"00|10(?:22|66|88|99)\",\"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\",[5,6,7,8],[[\"(\\\\d{2})(\\\\d{3,6})\",\"$1 $2\",[\"8[09]|9\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"59|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[37][01]|4[0139]|51|6\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[1-57]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,[[\"(?:[1-357][2-8]|4[24-8])\\\\d{6}\",[8]],[\"65(?:[178]\\\\d|5[56]|6[01])\\\\d{4}|(?:[37][01]|4[0139]|51|6[489])\\\\d{6}\",[8]],[\"80\\\\d{4,6}\",[6,7,8]],[\"89[1-3]\\\\d{2,5}|90\\\\d{4,6}\"],0,0,0,0,[\"(?:59\\\\d\\\\d|8(?:1(?:[67]\\\\d|8[0-589])|2(?:0\\\\d|2[0-37-9]|8[0-2489])|3[389]\\\\d))\\\\d{4}\",[8]]],\"00\"],\"SJ\":[\"47\",\"00\",\"0\\\\d{4}|(?:[489]\\\\d|79)\\\\d{6}\",[5,8],0,0,0,0,0,0,\"79\",[[\"79\\\\d{6}\",[8]],[\"(?:4[015-8]|9\\\\d)\\\\d{6}\",[8]],[\"80[01]\\\\d{5}\",[8]],[\"82[09]\\\\d{5}\",[8]],[\"880\\\\d{5}\",[8]],0,[\"(?:0[2-9]|81(?:0(?:0[7-9]|1\\\\d)|5\\\\d\\\\d))\\\\d{3}\"],0,[\"85[0-5]\\\\d{5}\",[8]],[\"810(?:0[0-6]|[2-8]\\\\d)\\\\d{3}\",[8]]]],\"SK\":[\"421\",\"00\",\"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\",[6,7,9],[[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\",\"$1 $2 $3\",[\"21\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\",\"$1 $2 $3\",[\"[3-5][1-8]1\",\"[3-5][1-8]1[67]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"2\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[689]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1/$2 $3 $4\",[\"[3-5]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2(?:16|[2-9]\\\\d{3})|(?:(?:[3-5][1-8]\\\\d|819)\\\\d|601[1-5])\\\\d)\\\\d{4}|(?:2|[3-5][1-8])1[67]\\\\d{3}|[3-5][1-8]16\\\\d\\\\d\"],[\"909[1-9]\\\\d{5}|9(?:0[1-8]|1[0-24-9]|4[03-57-9]|5\\\\d)\\\\d{6}\",[9]],[\"800\\\\d{6}\",[9]],[\"9(?:00|[78]\\\\d)\\\\d{6}\",[9]],0,0,[\"96\\\\d{7}\",[9]],[\"9090\\\\d{3}\",[7]],[\"6(?:02|5[0-4]|9[0-6])\\\\d{6}\",[9]],[\"8[5-9]\\\\d{7}\",[9]]]],\"SL\":[\"232\",\"00\",\"(?:[237-9]\\\\d|66)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[236-9]\"],\"(0$1)\"]],\"0\",0,0,0,0,0,[[\"22[2-4][2-9]\\\\d{4}\"],[\"(?:25|3[0-5]|66|7[2-9]|8[08]|9[09])\\\\d{6}\"]]],\"SM\":[\"378\",\"00\",\"(?:0549|[5-7]\\\\d)\\\\d{6}\",[8,10],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[5-7]\"]],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"0\"]]],0,0,\"([89]\\\\d{5})$\",\"0549$1\",0,0,[[\"0549(?:8[0157-9]|9\\\\d)\\\\d{4}\",[10]],[\"6[16]\\\\d{6}\",[8]],0,[\"7[178]\\\\d{6}\",[8]],0,0,0,0,[\"5[158]\\\\d{6}\",[8]]]],\"SN\":[\"221\",\"00\",\"(?:[378]\\\\d|93)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[379]\"]]],0,0,0,0,0,0,[[\"3(?:0(?:1[0-2]|80)|282|3(?:8[1-9]|9[3-9])|611)\\\\d{5}\"],[\"7(?:(?:[06-8]\\\\d|21|90)\\\\d|5(?:01|[19]0|25|[38]3|[4-7]\\\\d))\\\\d{5}\"],[\"800\\\\d{6}\"],[\"88[4689]\\\\d{6}\"],0,0,0,0,[\"(?:3(?:392|9[01]\\\\d)\\\\d|93(?:3[13]0|929))\\\\d{4}\"],[\"81[02468]\\\\d{6}\"]]],\"SO\":[\"252\",\"00\",\"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\",[6,7,8,9],[[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"8[125]\"]],[\"(\\\\d{6})\",\"$1\",[\"[134]\"]],[\"(\\\\d)(\\\\d{6})\",\"$1 $2\",[\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]],[\"(\\\\d)(\\\\d{7})\",\"$1 $2\",[\"(?:2|90)4|[67]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[348]|64|79|90\"]],[\"(\\\\d{2})(\\\\d{5,7})\",\"$1 $2\",[\"1|28|6[0-35-9]|77|9[2-9]\"]]],\"0\",0,0,0,0,0,[[\"(?:1\\\\d|2[0-79]|3[0-46-8]|4[0-7]|5[57-9])\\\\d{5}|(?:[134]\\\\d|8[125])\\\\d{4}\",[6,7]],[\"(?:(?:15|(?:3[59]|4[89]|6\\\\d|7[79]|8[08])\\\\d|9(?:0\\\\d|[2-9]))\\\\d|2(?:4\\\\d|8))\\\\d{5}|(?:[67]\\\\d\\\\d|904)\\\\d{5}\",[7,8,9]]]],\"SR\":[\"597\",\"00\",\"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\",[6,7],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1-$2-$3\",[\"56\"]],[\"(\\\\d{3})(\\\\d{3})\",\"$1-$2\",[\"[2-5]\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"[6-8]\"]]],0,0,0,0,0,0,[[\"(?:2[1-3]|3[0-7]|(?:4|68)\\\\d|5[2-58])\\\\d{4}\"],[\"(?:7[124-7]|8[124-9])\\\\d{5}\",[7]],0,0,0,0,0,0,[\"56\\\\d{4}\",[6]]]],\"SS\":[\"211\",\"00\",\"[19]\\\\d{8}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[19]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"1[89]\\\\d{7}\"],[\"(?:12|9[1257-9])\\\\d{7}\"]]],\"ST\":[\"239\",\"00\",\"(?:22|9\\\\d)\\\\d{5}\",[7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[29]\"]]],0,0,0,0,0,0,[[\"22\\\\d{5}\"],[\"900[5-9]\\\\d{3}|9(?:0[1-9]|[89]\\\\d)\\\\d{4}\"]]],\"SV\":[\"503\",\"00\",\"[267]\\\\d{7}|(?:80\\\\d|900)\\\\d{4}(?:\\\\d{4})?\",[7,8,11],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[89]\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[267]\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"]]],0,0,0,0,0,0,[[\"2(?:79(?:0[0347-9]|[1-9]\\\\d)|89(?:0[024589]|[1-9]\\\\d))\\\\d{3}|2(?:[1-69]\\\\d|[78][0-8])\\\\d{5}\",[8]],[\"[67]\\\\d{7}\",[8]],[\"800\\\\d{8}|80[01]\\\\d{4}\",[7,11]],[\"900\\\\d{4}(?:\\\\d{4})?\",[7,11]]]],\"SX\":[\"1\",\"011\",\"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"(5\\\\d{6})$|1\",\"721$1\",0,\"721\",[[\"7215(?:4[2-8]|8[239]|9[056])\\\\d{4}\"],[\"7215(?:1[02]|2\\\\d|5[034679]|8[014-8])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"SY\":[\"963\",\"00\",\"[1-39]\\\\d{8}|[1-5]\\\\d{7}\",[8,9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-5]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\",1]],\"0\",0,0,0,0,0,[[\"21\\\\d{6,7}|(?:1(?:[14]\\\\d|[2356])|2[235]|3(?:[13]\\\\d|4)|4[134]|5[1-3])\\\\d{6}\"],[\"9[1-689]\\\\d{7}\",[9]]]],\"SZ\":[\"268\",\"00\",\"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\",[8,9],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[0237]\"]],[\"(\\\\d{5})(\\\\d{4})\",\"$1 $2\",[\"9\"]]],0,0,0,0,0,0,[[\"[23][2-5]\\\\d{6}\",[8]],[\"7[6-9]\\\\d{6}\",[8]],[\"0800\\\\d{4}\",[8]],[\"900\\\\d{6}\",[9]],0,0,0,0,[\"70\\\\d{6}\",[8]]]],\"TA\":[\"290\",\"00\",\"8\\\\d{3}\",[4],0,0,0,0,0,0,\"8\",[[\"8\\\\d{3}\"]]],\"TC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-479]\\\\d{6})$|1\",\"649$1\",0,\"649\",[[\"649(?:266|712|9(?:4\\\\d|50))\\\\d{4}\"],[\"649(?:2(?:3[129]|4[1-79])|3\\\\d\\\\d|4[34][1-3])\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,0,[\"649(?:71[01]|966)\\\\d{4}\"]]],\"TD\":[\"235\",\"00|16\",\"(?:22|[69]\\\\d|77)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[2679]\"]]],0,0,0,0,0,0,[[\"22(?:[37-9]0|5[0-5]|6[89])\\\\d{4}\"],[\"(?:6[0235689]|77|9\\\\d)\\\\d{6}\"]],\"00\"],\"TG\":[\"228\",\"00\",\"[279]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[279]\"]]],0,0,0,0,0,0,[[\"2(?:2[2-7]|3[23]|4[45]|55|6[67]|77)\\\\d{5}\"],[\"(?:7[019]|9[0-36-9])\\\\d{6}\"]]],\"TH\":[\"66\",\"00[1-9]\",\"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\",[8,9,10,13],[[\"(\\\\d)(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"2\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[13-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"1\"]]],\"0\",0,0,0,0,0,[[\"(?:1[0689]|2\\\\d|3[2-9]|4[2-5]|5[2-6]|7[3-7])\\\\d{6}\",[8]],[\"67(?:1[0-8]|2[4-7])\\\\d{5}|(?:14|6[1-6]|[89]\\\\d)\\\\d{7}\",[9]],[\"(?:001800\\\\d|1800)\\\\d{6}\",[10,13]],[\"1900\\\\d{6}\",[10]],0,0,0,0,[\"6[08]\\\\d{7}\",[9]]]],\"TJ\":[\"992\",\"810\",\"[0-57-9]\\\\d{8}\",[9],[[\"(\\\\d{6})(\\\\d)(\\\\d{2})\",\"$1 $2 $3\",[\"331\",\"3317\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"44[02-479]|[34]7\"]],[\"(\\\\d{4})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"3[1-5]\"]],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[0-57-9]\"]]],0,0,0,0,0,0,[[\"(?:3(?:1[3-5]|2[245]|3[12]|4[24-7]|5[25]|72)|4(?:46|74|87))\\\\d{6}\"],[\"(?:4(?:1[18]|4[02-479])|81[1-9])\\\\d{6}|(?:0[0-57-9]|1[017]|2[02]|[34]0|5[05]|7[0178]|8[078]|9\\\\d)\\\\d{7}\"]],\"8~10\"],\"TK\":[\"690\",\"00\",\"[2-47]\\\\d{3,6}\",[4,5,6,7],0,0,0,0,0,0,0,[[\"(?:2[2-4]|[34]\\\\d)\\\\d{2,5}\"],[\"7[2-4]\\\\d{2,5}\"]]],\"TL\":[\"670\",\"00\",\"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\",[7,8],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[2-489]|70\"]],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"7\"]]],0,0,0,0,0,0,[[\"(?:2[1-5]|3[1-9]|4[1-4])\\\\d{5}\",[7]],[\"7[2-8]\\\\d{6}\",[8]],[\"80\\\\d{5}\",[7]],[\"90\\\\d{5}\",[7]],[\"70\\\\d{5}\",[7]]]],\"TM\":[\"993\",\"810\",\"(?:[1-6]\\\\d|71)\\\\d{6}\",[8],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"12\"],\"(8 $1)\"],[\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\",\"$1 $2-$3-$4\",[\"[1-5]\"],\"(8 $1)\"],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"[67]\"],\"8 $1\"]],\"8\",0,0,0,0,0,[[\"(?:1(?:2\\\\d|3[1-9])|2(?:22|4[0-35-8])|3(?:22|4[03-9])|4(?:22|3[128]|4\\\\d|6[15])|5(?:22|5[7-9]|6[014-689]))\\\\d{5}\"],[\"(?:6\\\\d|71)\\\\d{6}\"]],\"8~10\"],\"TN\":[\"216\",\"00\",\"[2-57-9]\\\\d{7}\",[8],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-57-9]\"]]],0,0,0,0,0,0,[[\"81200\\\\d{3}|(?:3[0-2]|7\\\\d)\\\\d{6}\"],[\"3(?:001|[12]40)\\\\d{4}|(?:(?:[259]\\\\d|4[0-8])\\\\d|3(?:1[1-35]|6[0-4]|91))\\\\d{5}\"],[\"8010\\\\d{4}\"],[\"88\\\\d{6}\"],0,0,0,0,0,[\"8[12]10\\\\d{4}\"]]],\"TO\":[\"676\",\"00\",\"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\",[5,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1-$2\",[\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]],[\"(\\\\d{4})(\\\\d{3})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[5-9]\"]]],0,0,0,0,0,0,[[\"(?:2\\\\d|3[0-8]|4[0-4]|50|6[09]|7[0-24-69]|8[05])\\\\d{3}\",[5]],[\"(?:5(?:4[0-5]|5[4-6])|6(?:[09]\\\\d|3[02]|8[15-9])|(?:7\\\\d|8[46-9])\\\\d|999)\\\\d{4}\",[7]],[\"0800\\\\d{3}\",[7]],0,0,0,0,0,[\"55[0-37-9]\\\\d{4}\",[7]]]],\"TR\":[\"90\",\"00\",\"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\",[7,10,12,13],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"512|8[01589]|90\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"5(?:[0-59]|61)\",\"5(?:[0-59]|61[06])\",\"5(?:[0-59]|61[06]1)\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[24][1-8]|3[1-9]\"],\"(0$1)\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\",\"$1 $2 $3\",[\"80\"],\"0$1\",1]],\"0\",0,0,0,0,0,[[\"(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\\\d{7}\",[10]],[\"561(?:011|61\\\\d)\\\\d{4}|5(?:0[15-7]|1[06]|24|[34]\\\\d|5[1-59]|9[46])\\\\d{7}\",[10]],[\"8(?:00\\\\d{7}(?:\\\\d{2,3})?|11\\\\d{7})\",[10,12,13]],[\"(?:8[89]8|900)\\\\d{7}\",[10]],[\"592(?:21[12]|461)\\\\d{4}\",[10]],0,[\"444\\\\d{4}\",[7]],[\"512\\\\d{7}\",[10]],[\"850\\\\d{7}\",[10]]]],\"TT\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-46-8]\\\\d{6})$|1\",\"868$1\",0,\"868\",[[\"868(?:2(?:01|1[5-9]|[23]\\\\d|4[0-2])|6(?:0[7-9]|1[02-8]|2[1-9]|[3-69]\\\\d|7[0-79])|82[124])\\\\d{4}\"],[\"868(?:(?:2[5-9]|3\\\\d)\\\\d|4(?:3[0-6]|[6-9]\\\\d)|6(?:20|78|8\\\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\\\d))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"TV\":[\"688\",\"00\",\"(?:2|7\\\\d\\\\d|90)\\\\d{4}\",[5,6,7],[[\"(\\\\d{2})(\\\\d{3})\",\"$1 $2\",[\"2\"]],[\"(\\\\d{2})(\\\\d{4})\",\"$1 $2\",[\"90\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]],0,0,0,0,0,0,[[\"2[02-9]\\\\d{3}\",[5]],[\"(?:7[01]\\\\d|90)\\\\d{4}\",[6,7]]]],\"TW\":[\"886\",\"0(?:0[25-79]|19)\",\"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\",[7,8,9,10,11],[[\"(\\\\d{2})(\\\\d)(\\\\d{4})\",\"$1 $2 $3\",[\"202\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[258]0\"],\"0$1\"],[\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\",\"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2[2-8]\\\\d|370|55[01]|7[1-9])\\\\d{6}|4(?:(?:0(?:0[1-9]|[2-48]\\\\d)|1[023]\\\\d)\\\\d{4,5}|(?:[239]\\\\d\\\\d|4(?:0[56]|12|49))\\\\d{5})|6(?:[01]\\\\d{7}|4(?:0[56]|12|24|4[09])\\\\d{4,5})|8(?:(?:2(?:3\\\\d|4[0-269]|[578]0|66)|36[24-9]|90\\\\d\\\\d)\\\\d{4}|4(?:0[56]|12|24|4[09])\\\\d{4,5})|(?:2(?:2(?:0\\\\d\\\\d|4(?:0[68]|[249]0|3[0-467]|5[0-25-9]|6[0235689]))|(?:3(?:[09]\\\\d|1[0-4])|(?:4\\\\d|5[0-49]|6[0-29]|7[0-5])\\\\d)\\\\d)|(?:(?:3[2-9]|5[2-8]|6[0-35-79]|8[7-9])\\\\d\\\\d|4(?:2(?:[089]\\\\d|7[1-9])|(?:3[0-4]|[78]\\\\d|9[01])\\\\d))\\\\d)\\\\d{3}\",[8,9]],[\"(?:40001[0-2]|9[0-8]\\\\d{4})\\\\d{3}\",[9]],[\"80[0-79]\\\\d{6}|800\\\\d{5}\",[8,9]],[\"20(?:[013-9]\\\\d\\\\d|2)\\\\d{4}\",[7,9]],[\"99\\\\d{7}\",[9]],0,[\"50[0-46-9]\\\\d{6}\",[9]],0,[\"7010(?:[0-2679]\\\\d|3[0-7]|8[0-5])\\\\d{5}|70\\\\d{8}\",[10,11]]],0,\"#\"],\"TZ\":[\"255\",\"00[056]\",\"(?:[25-8]\\\\d|41|90)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[24]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"5\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[67]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"2[2-8]\\\\d{7}\"],[\"(?:6[125-9]|7[13-9])\\\\d{7}\"],[\"80[08]\\\\d{6}\"],[\"90\\\\d{7}\"],0,0,0,0,[\"41\\\\d{7}\"],[\"8(?:40|6[01])\\\\d{6}\"]]],\"UA\":[\"380\",\"00\",\"[89]\\\\d{9}|[3-9]\\\\d{8}\",[9,10],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\",\"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\",\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[3-7]|89|9[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[89]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\\\d{7}\",[9]],[\"(?:39|50|6[36-8]|7[1-357]|9[1-9])\\\\d{7}\",[9]],[\"800[1-8]\\\\d{5,6}\"],[\"900[239]\\\\d{5,6}\"],0,0,0,0,[\"89[1-579]\\\\d{6}\",[9]]],\"0~0\"],\"UG\":[\"256\",\"00[057]\",\"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{4})(\\\\d{5})\",\"$1 $2\",[\"202\",\"2024\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{6})\",\"$1 $2\",[\"[27-9]|4(?:6[45]|[7-9])\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[34]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"20(?:(?:240|30[67])\\\\d|6(?:00[0-2]|30[0-4]))\\\\d{3}|(?:20(?:[017]\\\\d|2[5-9]|3[1-4]|5[0-4]|6[15-9])|[34]\\\\d{3})\\\\d{5}\"],[\"72(?:[48]0|6[01])\\\\d{5}|7(?:[015-8]\\\\d|20|36|4[0-5]|9[89])\\\\d{6}\"],[\"800[1-3]\\\\d{5}\"],[\"90[1-3]\\\\d{6}\"]]],\"US\":[\"1\",\"011\",\"[2-9]\\\\d{9}|3\\\\d{6}\",[10],[[\"(\\\\d{3})(\\\\d{4})\",\"$1-$2\",[\"310\"],0,1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"($1) $2-$3\",[\"[2-9]\"],0,1,\"$1-$2-$3\"]],\"1\",0,0,0,0,0,[[\"(?:5056(?:[0-35-9]\\\\d|4[468])|7302[0-4]\\\\d)\\\\d{4}|(?:472[24]|505[2-57-9]|7306|983[2-47-9])\\\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013569]|3[0-24679]|4[167]|5[0-2]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"UY\":[\"598\",\"0(?:0|1[3-9]\\\\d)\",\"0004\\\\d{2,9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\",[6,7,8,9,10,11,12,13],[[\"(\\\\d{3})(\\\\d{3,4})\",\"$1 $2\",[\"0\"]],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[49]0|8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"9\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[124]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"0\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3 $4\",[\"0\"]]],\"0\",0,0,0,0,0,[[\"(?:1(?:770|9(?:20|87))|(?:2\\\\d|4[2-7])\\\\d\\\\d)\\\\d{4}\",[8]],[\"9[1-9]\\\\d{6}\",[8]],[\"0004\\\\d{2,9}|(?:405|80[05])\\\\d{4}\"],[\"90[0-8]\\\\d{4}\",[7]]],\"00\",\" int. \"],\"UZ\":[\"998\",\"810\",\"(?:20|33|[5-79]\\\\d|88)\\\\d{7}\",[9],[[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"[235-9]\"],\"8 $1\"]],\"8\",0,0,0,0,0,[[\"(?:55\\\\d\\\\d|6(?:1(?:22|3[124]|4[1-4]|5[1-3578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\\\d\\\\d|7(?:[23]\\\\d|7[69])|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[124-6]|9[135-8])|(?:1[12]|[68]\\\\d)\\\\d|2(?:22|3[13-57-9]|4[1-3579]|5[14])|3(?:2\\\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|9(?:22|5[1-9])))\\\\d{5}\"],[\"(?:(?:[25]0|33|88|9[0-57-9])\\\\d{3}|6(?:1(?:2(?:2[01]|98)|35[0-4]|50\\\\d|61[23]|7(?:[01][017]|4\\\\d|55|9[5-9]))|2(?:(?:11|7\\\\d)\\\\d|2(?:[12]1|9[01379])|5(?:[126]\\\\d|3[0-4]))|5(?:19[01]|2(?:27|9[26])|(?:30|59|7\\\\d)\\\\d)|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|(?:3[79]|9[0-3])\\\\d|4(?:56|83)|7(?:[07]\\\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79]))|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\\\d|[39][07])|9(?:0\\\\d|7[079]))|9(?:2(?:1[1267]|3[01]|5\\\\d|7[0-4])|(?:5[67]|7\\\\d)\\\\d|6(?:2[0-26]|8\\\\d)))|7(?:[07]\\\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\\\d|7(?:0\\\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|(?:33|9[4-6])\\\\d|5(?:0[0-4]|5[579]|9\\\\d)|7(?:[0-3579]\\\\d|4[0467]|6[67]|8[078]))|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\\\d|9[5-9])|7(?:0\\\\d|1[024589]|2[0-27]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\\\d))|5(?:112|2(?:0\\\\d|2[29]|[49]4)|3[1568]\\\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\\\d|8[78]|9[079]))|9(?:22[128]|3(?:2[0-4]|7\\\\d)|57[02569]|7(?:2[05-9]|3[37]|4\\\\d|60|7[2579]|87|9[07]))))\\\\d{4}\"]],\"8~10\"],\"VA\":[\"39\",\"00\",\"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\",[6,7,8,9,10,11],0,0,0,0,0,0,\"06698\",[[\"06698\\\\d{1,6}\"],[\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\",[9,10]],[\"80(?:0\\\\d{3}|3)\\\\d{3}\",[6,9]],[\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\",[6,8,9,10]],[\"1(?:78\\\\d|99)\\\\d{6}\",[9,10]],0,0,0,[\"55\\\\d{8}\",[10]],[\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\",[6,9]]]],\"VC\":[\"1\",\"011\",\"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-7]\\\\d{6})$|1\",\"784$1\",0,\"784\",[[\"784(?:266|3(?:6[6-9]|7\\\\d|8[0-6])|4(?:38|5[0-36-8]|8[0-8])|5(?:55|7[0-2]|93)|638|784)\\\\d{4}\"],[\"784(?:4(?:3[0-5]|5[45]|89|9[0-8])|5(?:2[6-9]|3[0-4])|720)\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"],0,0,0,[\"78451[0-2]\\\\d{4}\"]]],\"VE\":[\"58\",\"00\",\"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\",[10],[[\"(\\\\d{3})(\\\\d{7})\",\"$1-$2\",[\"[24-689]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2(?:12|3[457-9]|[467]\\\\d|[58][1-9]|9[1-6])|[4-6]00)\\\\d{7}\"],[\"4(?:1[24-8]|2[46])\\\\d{7}\"],[\"800\\\\d{7}\"],[\"90[01]\\\\d{7}\"],0,0,[\"501\\\\d{7}\"]]],\"VG\":[\"1\",\"011\",\"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\",[10],0,\"1\",0,\"([2-578]\\\\d{6})$|1\",\"284$1\",0,\"284\",[[\"284(?:229|4(?:22|9[45])|774|8(?:52|6[459]))\\\\d{4}\"],[\"284(?:245|3(?:0[0-3]|4[0-7]|68|9[34])|4(?:4[0-6]|68|9[69])|5(?:4[0-7]|68|9[69]))\\\\d{4}\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"VI\":[\"1\",\"011\",\"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\",[10],0,\"1\",0,\"([2-9]\\\\d{6})$|1\",\"340$1\",0,\"340\",[[\"340(?:2(?:0[0-368]|2[06-8]|4[49]|77)|3(?:32|44)|4(?:2[23]|44|7[34]|89)|5(?:1[34]|55)|6(?:2[56]|4[23]|77|9[023])|7(?:1[2-57-9]|2[57]|7\\\\d)|884|998)\\\\d{4}\"],[\"\"],[\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"],[\"900[2-9]\\\\d{6}\"],[\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-9]|33|44|66|77|88)[2-9]\\\\d{6}\"]]],\"VN\":[\"84\",\"00\",\"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\",[7,8,9,10],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"80\"],\"0$1\",1],[\"(\\\\d{4})(\\\\d{4,6})\",\"$1 $2\",[\"1\"],0,1],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"6\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[357-9]\"],\"0$1\",1],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"2[48]\"],\"0$1\",1],[\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"2\"],\"0$1\",1]],\"0\",0,0,0,0,0,[[\"2(?:0[3-9]|1[0-689]|2[0-25-9]|[38][2-9]|4[2-8]|5[124-9]|6[0-39]|7[0-7]|9[0-4679])\\\\d{7}\",[10]],[\"(?:5(?:2[238]|59)|89[6-9]|99[013-9])\\\\d{6}|(?:3\\\\d|5[1689]|7[06-9]|8[1-8]|9[0-8])\\\\d{7}\",[9]],[\"1800\\\\d{4,6}|12(?:0[13]|28)\\\\d{4}\",[8,9,10]],[\"1900\\\\d{4,6}\",[8,9,10]],0,0,[\"(?:[17]99|80\\\\d)\\\\d{4}|69\\\\d{5,6}\",[7,8]],0,[\"672\\\\d{6}\",[9]]]],\"VU\":[\"678\",\"00\",\"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\",[5,7],[[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"[57-9]\"]]],0,0,0,0,0,0,[[\"(?:38[0-8]|48[4-9])\\\\d\\\\d|(?:2[02-9]|3[4-7]|88)\\\\d{3}\",[5]],[\"(?:[58]\\\\d|7[013-7])\\\\d{5}\",[7]],[\"81[18]\\\\d\\\\d\",[5]],0,0,0,[\"(?:3[03]|900\\\\d)\\\\d{3}\"],0,[\"9(?:0[1-9]|1[01])\\\\d{4}\",[7]]]],\"WF\":[\"681\",\"00\",\"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\",[6,9],[[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3\",[\"[478]\"]],[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\",\"$1 $2 $3 $4\",[\"8\"]]],0,0,0,0,0,0,[[\"72\\\\d{4}\",[6]],[\"(?:72|8[23])\\\\d{4}\",[6]],[\"80[0-5]\\\\d{6}\",[9]]]],\"WS\":[\"685\",\"0\",\"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\",[5,6,7,10],[[\"(\\\\d{5})\",\"$1\",[\"[2-5]|6[1-9]\"]],[\"(\\\\d{3})(\\\\d{3,7})\",\"$1 $2\",[\"[68]\"]],[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"7\"]]],0,0,0,0,0,0,[[\"6[1-9]\\\\d{3}|(?:[2-5]|60)\\\\d{4}\",[5,6]],[\"(?:7[1-35-7]|8(?:[3-7]|9\\\\d{3}))\\\\d{5}\",[7,10]],[\"800\\\\d{3}\",[6]]]],\"XK\":[\"383\",\"00\",\"2\\\\d{7,8}|3\\\\d{7,11}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{5})\",\"$1 $2\",[\"[89]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[2-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"2|39\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7,10})\",\"$1 $2\",[\"3\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"38\\\\d{6,10}|(?:2[89]|39)(?:0\\\\d{5,6}|[1-9]\\\\d{5})\"],[\"4[3-9]\\\\d{6}\",[8]],[\"800\\\\d{5}\",[8]],[\"900\\\\d{5}\",[8]]]],\"YE\":[\"967\",\"00\",\"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\",[7,8,9],[[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"[1-6]|7(?:[24-6]|8[0-7])\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"7\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"78[0-7]\\\\d{4}|17\\\\d{6}|(?:[12][2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-6])\\\\d{5}\",[7,8]],[\"7[01378]\\\\d{7}\",[9]]]],\"YT\":[\"262\",\"00\",\"(?:80|9\\\\d)\\\\d{7}|(?:26|63)9\\\\d{6}\",[9],0,\"0\",0,0,0,0,0,[[\"269(?:0[0-467]|15|5[0-4]|6\\\\d|[78]0)\\\\d{4}\"],[\"639(?:0[0-79]|1[019]|[267]\\\\d|3[09]|40|5[05-9]|9[04-79])\\\\d{4}\"],[\"80\\\\d{7}\"],0,0,0,0,0,[\"9(?:(?:39|47)8[01]|769\\\\d)\\\\d{4}\"]]],\"ZA\":[\"27\",\"00\",\"[1-79]\\\\d{8}|8\\\\d{4,9}\",[5,6,7,8,9,10],[[\"(\\\\d{2})(\\\\d{3,4})\",\"$1 $2\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\",\"$1 $2 $3\",[\"8[1-4]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"860\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"[1-9]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"8\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:2(?:0330|4302)|52087)0\\\\d{3}|(?:1[0-8]|2[1-378]|3[1-69]|4\\\\d|5[1346-8])\\\\d{7}\",[9]],[\"(?:1(?:3492[0-25]|4495[0235]|549(?:20|5[01]))|4[34]492[01])\\\\d{3}|8[1-4]\\\\d{3,7}|(?:2[27]|47|54)4950\\\\d{3}|(?:1(?:049[2-4]|9[12]\\\\d\\\\d)|(?:6\\\\d|7[0-46-9])\\\\d{3}|8(?:5\\\\d{3}|7(?:08[67]|158|28[5-9]|310)))\\\\d{4}|(?:1[6-8]|28|3[2-69]|4[025689]|5[36-8])4920\\\\d{3}|(?:12|[2-5]1)492\\\\d{4}\",[5,6,7,8,9]],[\"80\\\\d{7}\",[9]],[\"(?:86[2-9]|9[0-2]\\\\d)\\\\d{6}\",[9]],0,0,[\"861\\\\d{6,7}\",[9,10]],0,[\"87(?:08[0-589]|15[0-79]|28[0-4]|31[1-9])\\\\d{4}|87(?:[02][0-79]|1[0-46-9]|3[02-9]|[4-9]\\\\d)\\\\d{5}\",[9]],[\"860\\\\d{6}\",[9]]]],\"ZM\":[\"260\",\"00\",\"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\",[9],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[28]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"[79]\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"21[1-8]\\\\d{6}\"],[\"(?:7[5-79]|9[5-8])\\\\d{7}\"],[\"800\\\\d{6}\"],0,0,0,0,0,[\"63\\\\d{7}\"]]],\"ZW\":[\"263\",\"00\",\"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\",[5,6,7,8,9,10],[[\"(\\\\d{3})(\\\\d{3,5})\",\"$1 $2\",[\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"],\"0$1\"],[\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\",\"$1 $2 $3\",[\"[49]\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{4})\",\"$1 $2\",[\"80\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{7})\",\"$1 $2\",[\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\",\"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"],\"(0$1)\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"7\"],\"0$1\"],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\",\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{6})\",\"$1 $2\",[\"8\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3,5})\",\"$1 $2\",[\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"],\"0$1\"],[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\",\"$1 $2 $3\",[\"29[013-9]|39|54\"],\"0$1\"],[\"(\\\\d{4})(\\\\d{3,5})\",\"$1 $2\",[\"(?:25|54)8\",\"258|5483\"],\"0$1\"]],\"0\",0,0,0,0,0,[[\"(?:1(?:(?:3\\\\d|9)\\\\d|[4-8])|2(?:(?:(?:0(?:2[014]|5)|(?:2[0157]|31|84|9)\\\\d\\\\d|[56](?:[14]\\\\d\\\\d|20)|7(?:[089]|2[03]|[35]\\\\d\\\\d))\\\\d|4(?:2\\\\d\\\\d|8))\\\\d|1(?:2|[39]\\\\d{4}))|3(?:(?:123|(?:29\\\\d|92)\\\\d)\\\\d\\\\d|7(?:[19]|[56]\\\\d))|5(?:0|1[2-478]|26|[37]2|4(?:2\\\\d{3}|83)|5(?:25\\\\d\\\\d|[78])|[689]\\\\d)|6(?:(?:[16-8]21|28|52[013])\\\\d\\\\d|[39])|8(?:[1349]28|523)\\\\d\\\\d)\\\\d{3}|(?:4\\\\d\\\\d|9[2-9])\\\\d{4,5}|(?:(?:2(?:(?:(?:0|8[146])\\\\d|7[1-7])\\\\d|2(?:[278]\\\\d|92)|58(?:2\\\\d|3))|3(?:[26]|9\\\\d{3})|5(?:4\\\\d|5)\\\\d\\\\d)\\\\d|6(?:(?:(?:[0-246]|[78]\\\\d)\\\\d|37)\\\\d|5[2-8]))\\\\d\\\\d|(?:2(?:[569]\\\\d|8[2-57-9])|3(?:[013-59]\\\\d|8[37])|6[89]8)\\\\d{3}\"],[\"7(?:[1278]\\\\d|3[1-9])\\\\d{6}\",[9]],[\"80(?:[01]\\\\d|20|8[0-8])\\\\d{3}\",[7]],0,0,0,0,0,[\"86(?:1[12]|22|30|44|55|77|8[368])\\\\d{6}\",[10]]]]},\"nonGeographic\":{\"800\":[\"800\",0,\"(?:00|[1-9]\\\\d)\\\\d{6}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"\\\\d\"]]],0,0,0,0,0,0,[0,0,[\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]],\"808\":[\"808\",0,\"[1-9]\\\\d{7}\",[8],[[\"(\\\\d{4})(\\\\d{4})\",\"$1 $2\",[\"[1-9]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,0,[\"[1-9]\\\\d{7}\"]]],\"870\":[\"870\",0,\"7\\\\d{11}|[35-7]\\\\d{8}\",[9,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"[35-7]\"]]],0,0,0,0,0,0,[0,[\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]],\"878\":[\"878\",0,\"10\\\\d{10}\",[12],[[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\",\"$1 $2 $3\",[\"1\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"10\\\\d{10}\"]]],\"881\":[\"881\",0,\"6\\\\d{9}|[0-36-9]\\\\d{8}\",[9,10],[[\"(\\\\d)(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\",[\"[0-37-9]\"]],[\"(\\\\d)(\\\\d{3})(\\\\d{5,6})\",\"$1 $2 $3\",[\"6\"]]],0,0,0,0,0,0,[0,[\"6\\\\d{9}|[0-36-9]\\\\d{8}\"]]],\"882\":[\"882\",0,\"[13]\\\\d{6}(?:\\\\d{2,5})?|[19]\\\\d{7}|(?:[25]\\\\d\\\\d|4)\\\\d{7}(?:\\\\d{2})?\",[7,8,9,10,11,12],[[\"(\\\\d{2})(\\\\d{5})\",\"$1 $2\",[\"16|342\"]],[\"(\\\\d{2})(\\\\d{6})\",\"$1 $2\",[\"49\"]],[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\",\"$1 $2 $3\",[\"1[36]|9\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\",\"$1 $2 $3\",[\"3[23]\"]],[\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\",\"$1 $2 $3\",[\"16\"]],[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"10|23|3(?:[15]|4[57])|4|51\"]],[\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"34\"]],[\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\",\"$1 $2 $3\",[\"[1-35]\"]]],0,0,0,0,0,0,[0,[\"342\\\\d{4}|(?:337|49)\\\\d{6}|(?:3(?:2|47|7\\\\d{3})|50\\\\d{3})\\\\d{7}\",[7,8,9,10,12]],0,0,0,0,0,0,[\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:345\\\\d|9[89])\\\\d{6}|(?:10|2(?:3|85\\\\d)|3(?:[15]|[69]\\\\d\\\\d)|4[15-8]|51)\\\\d{8}\"]]],\"883\":[\"883\",0,\"(?:[1-4]\\\\d|51)\\\\d{6,10}\",[8,9,10,11,12],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,8})\",\"$1 $2 $3\",[\"[14]|2[24-689]|3[02-689]|51[24-9]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3\",[\"510\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\",\"$1 $2 $3\",[\"21\"]],[\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"51[13]\"]],[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\",\"$1 $2 $3 $4\",[\"[235]\"]]],0,0,0,0,0,0,[0,0,0,0,0,0,0,0,[\"(?:2(?:00\\\\d\\\\d|10)|(?:370[1-9]|51\\\\d0)\\\\d)\\\\d{7}|51(?:00\\\\d{5}|[24-9]0\\\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\\\d{5,9}\"]]],\"888\":[\"888\",0,\"\\\\d{11}\",[11],[[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\",\"$1 $2 $3\"]],0,0,0,0,0,0,[0,0,0,0,0,0,[\"\\\\d{11}\"]]],\"979\":[\"979\",0,\"[1359]\\\\d{8}\",[9],[[\"(\\\\d)(\\\\d{4})(\\\\d{4})\",\"$1 $2 $3\",[\"[1359]\"]]],0,0,0,0,0,0,[0,0,0,[\"[1359]\\\\d{8}\"]]]}}","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.max.json.js'\r\n\r\nexport default function withMetadataArgument(func, _arguments) {\r\n\tvar args = Array.prototype.slice.call(_arguments)\r\n\targs.push(metadata)\r\n\treturn func.apply(this, args)\r\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// https://stackoverflow.com/a/46971044/970769\n// \"Breaking changes in Typescript 2.1\"\n// \"Extending built-ins like Error, Array, and Map may no longer work.\"\n// \"As a recommendation, you can manually adjust the prototype immediately after any super(...) calls.\"\n// https://github.com/Microsoft/TypeScript-wiki/blob/main/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\nvar ParseError = /*#__PURE__*/function (_Error) {\n _inherits(ParseError, _Error);\n\n var _super = _createSuper(ParseError);\n\n function ParseError(code) {\n var _this;\n\n _classCallCheck(this, ParseError);\n\n _this = _super.call(this, code); // Set the prototype explicitly.\n // Any subclass of FooError will have to manually set the prototype as well.\n\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n\n return _createClass(ParseError);\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nexport { ParseError as default };\n//# sourceMappingURL=ParseError.js.map","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\n\nexport var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nexport var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\"; // Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\n\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\n//\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\nexport default function (a, b) {\n a = a.split('-');\n b = b.split('-');\n var pa = a[0].split('.');\n var pb = b[0].split('.');\n\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n//# sourceMappingURL=semver-compare.js.map","var objectConstructor = {}.constructor;\nexport default function isObject(object) {\n return object !== undefined && object !== null && object.constructor === objectConstructor;\n}\n//# sourceMappingURL=isObject.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport compare from './tools/semver-compare.js';\nimport isObject from './helpers/isObject.js'; // Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\n\nvar V2 = '1.0.18'; // Added \"idd_prefix\" and \"default_idd_prefix\".\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return; // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n // The test case could be found by searching for \"nonGeographical\".\n\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n } // Deprecated.\n\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n // In that metadata, there was no concept of \"non-geographic\" metadata\n // so metadata for `001` country code was stored along with other countries.\n // The test case can be found by searching for:\n // \"should work around `nonGeographic` metadata not existing\".\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n } // Deprecated.\n\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n\n return Metadata;\n}();\n\nexport { Metadata as default };\n\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n } // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n } // Is always present.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n } // Is only present when a country supports multiple IDD prefixes.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n } // \"possible length\" data is always present in Google's metadata.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n } // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n } // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n } // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n\n return NumberingPlan;\n}();\n\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n\n return Format;\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\n\n\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n\n return Type;\n}();\n\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n}\n\nexport function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!isObject(metadata) || !isObject(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata, \".\"));\n }\n} // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar typeOf = function typeOf(_) {\n return _typeof(_);\n};\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\n\n\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).ext();\n }\n\n return DEFAULT_EXT_PREFIX;\n}\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\n\nexport function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\n\n throw new Error(\"Unknown country: \".concat(country));\n}\nexport function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries.hasOwnProperty(country);\n}\n\nfunction setVersion(metadata) {\n var version = metadata.version;\n\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n} // const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n//# sourceMappingURL=metadata.js.map","import { VALID_DIGITS } from '../../constants.js'; // The RFC 3966 format for extensions.\n\nvar RFC3966_EXTN_PREFIX = ';ext=';\n/**\r\n * Helper method for constructing regular expressions for parsing. Creates\r\n * an expression that captures up to max_length digits.\r\n * @return {string} RegEx pattern to capture extension digits.\r\n */\n\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\n/**\r\n * Helper initialiser method to create the regular-expression pattern to match\r\n * extensions.\r\n * Copy-pasted from Google's `libphonenumber`:\r\n * https://github.com/google/libphonenumber/blob/55b2646ec9393f4d3d6661b9c82ef9e258e8b829/javascript/i18n/phonenumbers/phonenumberutil.js#L759-L766\r\n * @return {string} RegEx pattern to capture extensions.\r\n */\n\n\nexport default function createExtensionPattern(purpose) {\n // We cap the maximum length of an extension based on the ambiguity of the way\n // the extension is prefixed. As per ITU, the officially allowed length for\n // extensions is actually 40, but we don't support this since we haven't seen real\n // examples and this introduces many false interpretations as the extension labels\n // are not standardized.\n\n /** @type {string} */\n var extLimitAfterExplicitLabel = '20';\n /** @type {string} */\n\n var extLimitAfterLikelyLabel = '15';\n /** @type {string} */\n\n var extLimitAfterAmbiguousChar = '9';\n /** @type {string} */\n\n var extLimitWhenNotSure = '6';\n /** @type {string} */\n\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\"; // Optional full stop (.) or colon, followed by zero or more spaces/tabs/commas.\n\n /** @type {string} */\n\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n /** @type {string} */\n\n var optionalExtnSuffix = \"#?\"; // Here the extension is called out in more explicit way, i.e mentioning it obvious\n // patterns like \"ext.\".\n\n /** @type {string} */\n\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\"; // One-character symbols that can be used to indicate an extension, and less\n // commonly used or more ambiguous extension labels.\n\n /** @type {string} */\n\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\"; // When extension is not separated clearly.\n\n /** @type {string} */\n\n var ambiguousSeparator = \"[- ]+\"; // This is the same as possibleSeparatorsBetweenNumberAndExtLabel, but not matching\n // comma as extension label may have it.\n\n /** @type {string} */\n\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\"; // \",,\" is commonly used for auto dialling the extension when connected. First\n // comma is matched through possibleSeparatorsBetweenNumberAndExtLabel, so we do\n // not repeat it here. Semi-colon works in Iphone and Android also to pop up a\n // button with the extension number following.\n\n /** @type {string} */\n\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n /** @type {string} */\n\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n /** @type {string} */\n\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n /** @type {string} */\n\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n /** @type {string} */\n\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n /** @type {string} */\n\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix; // The first regular expression covers RFC 3966 format, where the extension is added\n // using \";ext=\". The second more generic where extension is mentioned with explicit\n // labels like \"ext:\". In both the above cases we allow more numbers in extension than\n // any other extension labels. The third one captures when single character extension\n // labels or less commonly used labels are used. In such cases we capture fewer\n // extension digits in order to reduce the chance of falsely interpreting two\n // numbers beside each other as a number + extension. The fourth one covers the\n // special case of American numbers where the extension is written with a hash\n // at the end, such as \"- 503#\". The fifth one is exclusively for extension\n // autodialling formats which are used when dialling and in this case we accept longer\n // extensions. The last one is more liberal on the number of commas that acts as\n // extension labels, so we have a strict cap on the number of digits in such extensions.\n\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\n//# sourceMappingURL=createExtensionPattern.js.map","import { MIN_LENGTH_FOR_NSN, VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from '../constants.js';\nimport createExtensionPattern from './extension/createExtensionPattern.js'; // Regular expression of viable phone numbers. This is location independent.\n// Checks we have at least three leading digits, and only valid punctuation,\n// alpha characters and digits in the phone number. Does not include extension\n// data. The symbol 'x' is allowed here as valid punctuation since it is often\n// used as a placeholder for carrier codes, for example in Brazilian phone\n// numbers. We also allow multiple '+' characters at the start.\n//\n// Corresponds to the following:\n// [digits]{minLengthNsn}|\n// plus_sign*\n// (([punctuation]|[star])*[digits]){3,}([punctuation]|[star]|[digits]|[alpha])*\n//\n// The first reg-ex is to allow short numbers (two digits long) to be parsed if\n// they are entered as \"15\" etc, but only if there is no punctuation in them.\n// The second expression restricts the number of digits to three or more, but\n// then allows them to be in international form, and to have alpha-characters\n// and punctuation. We split up the two reg-exes here and combine them when\n// creating the reg-ex VALID_PHONE_NUMBER_PATTERN itself so we can prefix it\n// with ^ and append $ to each branch.\n//\n// \"Note VALID_PUNCTUATION starts with a -,\n// so must be the first in the range\" (c) Google devs.\n// (wtf did they mean by saying that; probably nothing)\n//\n\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = '[' + VALID_DIGITS + ']{' + MIN_LENGTH_FOR_NSN + '}'; //\n// And this is the second reg-exp:\n// (see MIN_LENGTH_PHONE_NUMBER_PATTERN for a full description of this reg-exp)\n//\n\nexport var VALID_PHONE_NUMBER = '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){3,}' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*'; // This regular expression isn't present in Google's `libphonenumber`\n// and is only used to determine whether the phone number being input\n// is too short for it to even consider it a \"valid\" number.\n// This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp('^' + '[' + PLUS_CHARS + ']{0,1}' + '(?:' + '[' + VALID_PUNCTUATION + ']*' + '[' + VALID_DIGITS + ']' + '){1,2}' + '$', 'i');\nexport var VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + // Phone number extensions\n'(?:' + createExtensionPattern() + ')?'; // The combined regular expression for valid phone numbers:\n//\n\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp( // Either a short two-digit-only phone number\n'^' + MIN_LENGTH_PHONE_NUMBER_PATTERN + '$' + '|' + // Or a longer fully parsed phone number (min 3 characters)\n'^' + VALID_PHONE_NUMBER_WITH_EXTENSION + '$', 'i'); // Checks to see if the string of characters could possibly be a phone number at\n// all. At the moment, checks to see that the string begins with at least 2\n// digits, ignoring any punctuation commonly found in phone numbers. This method\n// does not require the number to be normalized in advance - but does assume\n// that leading non-number symbols have been removed, such as by the method\n// `extract_possible_number`.\n//\n\nexport default function isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n} // This is just a way to differentiate between a really invalid phone\n// number like \"abcde\" and a valid phone number that a user has just\n// started inputting, like \"+1\" or \"1\": both these cases would be\n// considered `NOT_A_NUMBER` by Google's `libphonenumber`, but this\n// library can provide a more detailed error message — whether it's\n// really \"not a number\", or is it just a start of a valid phone number.\n\nexport function isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\n//# sourceMappingURL=isViablePhoneNumber.js.map","import createExtensionPattern from './createExtensionPattern.js'; // Regexp of all known extension prefixes used by different regions followed by\n// 1 or more valid digits, for use when parsing.\n\nvar EXTN_PATTERN = new RegExp('(?:' + createExtensionPattern() + ')$', 'i'); // Strips any extension (as in, the part of the number dialled after the call is\n// connected, usually indicated with extn, ext, x or similar) from the end of\n// the number, and returns it.\n\nexport default function extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n\n if (start < 0) {\n return {};\n } // If we find a potential extension, and the number preceding this is a viable\n // number, we assume it is an extension.\n\n\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n\n i++;\n }\n}\n//# sourceMappingURL=extractExtension.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n \"\\uFF10\": '0',\n // Fullwidth digit 0\n \"\\uFF11\": '1',\n // Fullwidth digit 1\n \"\\uFF12\": '2',\n // Fullwidth digit 2\n \"\\uFF13\": '3',\n // Fullwidth digit 3\n \"\\uFF14\": '4',\n // Fullwidth digit 4\n \"\\uFF15\": '5',\n // Fullwidth digit 5\n \"\\uFF16\": '6',\n // Fullwidth digit 6\n \"\\uFF17\": '7',\n // Fullwidth digit 7\n \"\\uFF18\": '8',\n // Fullwidth digit 8\n \"\\uFF19\": '9',\n // Fullwidth digit 9\n \"\\u0660\": '0',\n // Arabic-indic digit 0\n \"\\u0661\": '1',\n // Arabic-indic digit 1\n \"\\u0662\": '2',\n // Arabic-indic digit 2\n \"\\u0663\": '3',\n // Arabic-indic digit 3\n \"\\u0664\": '4',\n // Arabic-indic digit 4\n \"\\u0665\": '5',\n // Arabic-indic digit 5\n \"\\u0666\": '6',\n // Arabic-indic digit 6\n \"\\u0667\": '7',\n // Arabic-indic digit 7\n \"\\u0668\": '8',\n // Arabic-indic digit 8\n \"\\u0669\": '9',\n // Arabic-indic digit 9\n \"\\u06F0\": '0',\n // Eastern-Arabic digit 0\n \"\\u06F1\": '1',\n // Eastern-Arabic digit 1\n \"\\u06F2\": '2',\n // Eastern-Arabic digit 2\n \"\\u06F3\": '3',\n // Eastern-Arabic digit 3\n \"\\u06F4\": '4',\n // Eastern-Arabic digit 4\n \"\\u06F5\": '5',\n // Eastern-Arabic digit 5\n \"\\u06F6\": '6',\n // Eastern-Arabic digit 6\n \"\\u06F7\": '7',\n // Eastern-Arabic digit 7\n \"\\u06F8\": '8',\n // Eastern-Arabic digit 8\n \"\\u06F9\": '9' // Eastern-Arabic digit 9\n\n};\nexport function parseDigit(character) {\n return DIGITS[character];\n}\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\n\nexport default function parseDigits(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n//# sourceMappingURL=parseDigits.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { parseDigit } from './helpers/parseDigits.js';\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\n\nexport default function parseIncompletePhoneNumber(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n}\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {function?} emitEvent - An optional \"emit event\" function.\r\n * @return {string?} The parsed character.\r\n */\n\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent) {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n // `emitEvent` argument was added to this `export`ed function on Dec 26th, 2023.\n // Any 3rd-party code that used to `import` and call this function before that\n // won't be passing any `emitEvent` argument.\n //\n // The addition of the `emitEvent` argument was to fix the slightly-weird behavior\n // of parsing an input string when the user inputs something like `\"2+7\"\n // https://github.com/catamphetamine/react-phone-number-input/issues/437\n //\n // If the parser encounters an unexpected `+` in a string being parsed\n // then it simply discards that out-of-place `+` and any following characters.\n //\n if (typeof emitEvent === 'function') {\n emitEvent('end');\n }\n\n return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","import mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n} // Checks whether a number is possible for the country based on its length.\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\n\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);\n }\n\n var mobile_type = metadata.type('MOBILE');\n\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths()); // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n } // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n\n var actual_length = nationalNumber.length; // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map","import Metadata from './metadata.js';\nimport checkNumberLength from './helpers/checkNumberLength.js';\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n } // Old metadata (< 1.0.18) had no \"possible length\" data.\n\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata);\n } else {\n // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n // were missing for \"non-geographical\" numbering plans.\n // Just assume the number is possible in such cases:\n // it's unlikely that anyone generated their custom metadata\n // in that short period of time (one day).\n // This code can be removed in some future major version update.\n if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n // \"Non-geographic entities\" did't have `possibleLengths`\n // due to a bug in metadata generation process.\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nexport function isPossibleNumber(nationalNumber, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'IS_POSSIBLE':\n return true;\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // \treturn !isInternational\n\n default:\n return false;\n }\n}\n//# sourceMappingURL=isPossible.js.map","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default function matchesEntirely(text, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)\n\nexport default function getNumberType(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {}; // When `parse()` returns an empty object — `{}` —\n // that means that the phone number is malformed,\n // so it can't possibly be valid.\n\n if (!input.country && !input.countryCallingCode) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n // Because duplicate regular expressions are removed\n // to reduce metadata size, if \"mobile\" pattern is \"\"\n // then it means it was removed due to being a duplicate of the fixed-line pattern.\n //\n if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n return 'FIXED_LINE_OR_MOBILE';\n } // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\n // For example, for \"US\" country.\n // Old metadata (< `1.0.18`) had a specific \"types\" data structure\n // that happened to be `undefined` for `MOBILE` in that case.\n // Newer metadata (>= `1.0.18`) has another data structure that is\n // not `undefined` for `MOBILE` in that case (it's just an empty array).\n // So this `if` is just for backwards compatibility with old metadata.\n\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n var type = _step.value;\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n}\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\n } // Check if any possible number lengths are present;\n // if so, we use them to avoid checking\n // the validation pattern if they don't match.\n // If they are absent, this means they match\n // the general description, which we have\n // already checked before a specific number type.\n\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n\n return matchesEntirely(nationalNumber, type.pattern());\n}\n//# sourceMappingURL=getNumberType.js.map","import Metadata from './metadata.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport getNumberType from './helpers/getNumberType.js';\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\n\nexport default function isValidNumber(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata);\n /**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(nationalNumber, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=isValid.js.map","import Metadata from '../metadata.js';\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\n\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\n var _metadata = new Metadata(metadata);\n\n var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return [];\n }\n\n return possibleCountries.filter(function (country) {\n return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);\n });\n}\n\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\n var _metadata = new Metadata(metadata);\n\n _metadata.selectNumberingPlan(country);\n\n if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\n return true;\n }\n\n return false;\n}\n//# sourceMappingURL=getPossibleCountriesForNumber.js.map","import { VALID_PUNCTUATION } from '../constants.js'; // Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains ``s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\n\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'; // This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\n\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\nexport default function formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix,\n carrierCode = _ref.carrierCode,\n metadata = _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\n}\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import Metadata from '../metadata.js';\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\n\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\n\nexport default function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n//# sourceMappingURL=getIddPrefix.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport isViablePhoneNumber from './isViablePhoneNumber.js'; // https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\nexport function parseRFC3966(text) {\n var number;\n var ext; // Replace \"tel:\" with \"tel=\" for parsing convenience.\n\n text = text.replace(/^tel:/, 'tel=');\n\n for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {\n var part = _step.value;\n\n var _part$split = part.split('='),\n _part$split2 = _slicedToArray(_part$split, 2),\n name = _part$split2[0],\n value = _part$split2[1];\n\n switch (name) {\n case 'tel':\n number = value;\n break;\n\n case 'ext':\n ext = value;\n break;\n\n case 'phone-context':\n // Only \"country contexts\" are supported.\n // \"Domain contexts\" are ignored.\n if (value[0] === '+') {\n number = value + number;\n }\n\n break;\n }\n } // If the phone number is not viable, then abort.\n\n\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n\n var result = {\n number: number\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\nexport function formatRFC3966(_ref) {\n var number = _ref.number,\n ext = _ref.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n }\n};\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\n\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\n\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n}\n\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n\n // Validate leading digits.\n // The test case for \"else path\" could be found by searching for\n // \"format.leadingDigitsPatterns().length === 0\".\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n } // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\n//# sourceMappingURL=format.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport isPossibleNumber from './isPossible.js';\nimport isValidNumber from './isValid.js'; // import checkNumberLength from './helpers/checkNumberLength.js'\n\nimport getNumberType from './helpers/getNumberType.js';\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js';\nimport formatNumber from './format.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar PhoneNumber = /*#__PURE__*/function () {\n /**\r\n * @param {string} countryOrCountryCallingCode\r\n * @param {string} nationalNumber\r\n * @param {object} metadata — Metadata JSON\r\n * @return {PhoneNumber}\r\n */\n function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {\n _classCallCheck(this, PhoneNumber);\n\n if (!countryOrCountryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n if (!metadata) {\n throw new TypeError('`metadata` not passed');\n }\n\n var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata),\n country = _getCountryAndCountry.country,\n countryCallingCode = _getCountryAndCountry.countryCallingCode;\n\n this.country = country;\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber; // Exclude `metadata` property output from `PhoneNumber.toString()`\n // so that it doesn't clutter the console output of Node.js.\n // Previously, when Node.js did `console.log(new PhoneNumber(...))`,\n // it would output the whole internal structure of the `metadata` object.\n\n this.getMetadata = function () {\n return metadata;\n };\n }\n\n _createClass(PhoneNumber, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"getPossibleCountries\",\n value: function getPossibleCountries() {\n if (this.country) {\n return [this.country];\n }\n\n return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossibleNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.getMetadata());\n return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n } // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n // so eventually I simply commented out this method from the `PhoneNumber` class\n // and just left the `validatePhoneNumberLength()` function, even though that one would require\n // and additional step to also validate the actual country / calling code of the phone number.\n // validateLength() {\n // \tconst metadata = new Metadata(this.getMetadata())\n // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n // \tif (result !== 'IS_POSSIBLE') {\n // \t\treturn result\n // \t}\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format('NATIONAL', options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format('INTERNATIONAL', options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format('RFC3966', options);\n }\n }]);\n\n return PhoneNumber;\n}();\n\nexport { PhoneNumber as default };\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\n var country;\n var countryCallingCode;\n var metadata = new Metadata(metadataJson); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n if (isCountryCode(countryOrCountryCallingCode)) {\n country = countryOrCountryCallingCode;\n metadata.selectNumberingPlan(country);\n countryCallingCode = metadata.countryCallingCode();\n } else {\n countryCallingCode = countryOrCountryCallingCode;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(countryCallingCode)) {\n country = '001';\n }\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode\n };\n}\n//# sourceMappingURL=PhoneNumber.js.map","import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n\n return number;\n}\n//# sourceMappingURL=stripIddPrefix.js.map","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n } // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\nexport default function extractNationalNumber(number, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n carrierCode = _extractNationalNumbe.carrierCode,\n nationalNumber = _extractNationalNumbe.nationalNumber;\n\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n } // Check the national (significant) number length after extracting national prefix and carrier code.\n // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\n\n\n if (metadata.possibleLengths()) {\n // The number remaining after stripping the national prefix and carrier code\n // should be long enough to have a possible length for the country.\n // Otherwise, don't strip the national prefix and carrier code,\n // since the original number could be a valid number.\n // This check has been copy-pasted \"as is\" from Google's original library:\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n // It doesn't check for the \"possibility\" of the original `number`.\n // I guess it's fine not checking that one. It works as is anyway.\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n} // In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\n\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n return false;\n } // This \"is possible\" national number (length) check has been commented out\n // because it's superceded by the (effectively) same check done in the\n // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n // In other words, why run the same check twice if it could only be run once.\n // // Check the national (significant) number length after extracting national prefix and carrier code.\n // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n // if (metadata.possibleLengths()) {\n // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n // \t\treturn false\n // \t}\n // }\n\n\n return true;\n}\n\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n return false;\n\n default:\n return true;\n }\n}\n//# sourceMappingURL=extractNationalNumber.js.map","import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryCallingCode from '../getCountryCallingCode.js';\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n}\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map","import stripIddPrefix from './stripIddPrefix.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport Metadata from '../metadata.js';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\nexport default function extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\n }\n\n var isNumberWithIddPrefix; // If this is not an international phone number,\n // then either extract an \"IDD\" prefix, or extract a\n // country calling code from a number by autocorrecting it\n // by prepending a leading `+` in cases when it starts\n // with the country calling code.\n // https://wikitravel.org/en/International_dialling_prefix\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n\n if (number[0] !== '+') {\n // Convert an \"out-of-country\" dialing phone number\n // to a proper international phone number.\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n isNumberWithIddPrefix = true;\n number = '+' + numberWithoutIDD;\n } else {\n // Check to see if the number starts with the country calling code\n // for the default country. If so, we remove the country calling code,\n // and do some checks on the validity of the number before and after.\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n // countryCallingCodeSource: 'UNSPECIFIED',\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // The thing with country phone codes\n // is that they are orthogonal to each other\n // i.e. there's no such country phone code A\n // for which country phone code B exists\n // where B starts with A.\n // Therefore, while scanning digits,\n // if a valid country code is found,\n // that means that it is the country code.\n //\n\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n} // The possible values for the returned `countryCallingCodeSource` are:\n//\n// Copy-pasted from:\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\n//\n// // The source from which the country_code is derived. This is not set in the\n// // general parsing method, but in the method that parses and keeps raw_input.\n// // New fields could be added upon request.\n// enum CountryCodeSource {\n// // Default value returned if this is not set, because the phone number was\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\n// // return false if this is the case.\n// UNSPECIFIED = 0;\n//\n// // The country_code is derived based on a phone number with a leading \"+\",\n// // e.g. the French number \"+33 1 42 68 53 00\".\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\n//\n// // The country_code is derived based on a phone number with a leading IDD,\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\n// FROM_NUMBER_WITH_IDD = 5;\n//\n// // The country_code is derived based on a phone number without a leading\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\n// // supplied as France.\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\n//\n// // The country_code is derived NOT based on the phone number itself, but\n// // from the defaultCountry parameter provided in the parsing function by the\n// // clients. This happens mostly for numbers written in the national format\n// // (without country code). For example, this would be set when parsing the\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\n// // France.\n// FROM_DEFAULT_COUNTRY = 20;\n// }\n//# sourceMappingURL=extractCountryCallingCode.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\nexport default function getCountryByNationalNumber(nationalPhoneNumber, _ref) {\n var countries = _ref.countries,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata);\n var matchingCountries = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done;) {\n var country = _step.value;\n metadata.country(country); // \"Leading digits\" patterns are only defined for about 20% of all countries.\n // By definition, matching \"leading digits\" is a sufficient but not a necessary\n // condition for a phone number to belong to a country.\n // The point of \"leading digits\" check is that it's the fastest one to get a match.\n // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n // I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\n // because of the intended use of that feature.\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\n }\n } // Else perform full validation with all of those\n // fixed-line/mobile/etc regular expressions.\n else if (getNumberType({\n phone: nationalPhoneNumber,\n country: country\n }, undefined, metadata.metadata)) {\n // If the `defaultCountry` is among the `matchingCountries` then return it.\n if (defaultCountry) {\n if (country === defaultCountry) {\n return country;\n }\n\n matchingCountries.push(country);\n } else {\n return country;\n }\n }\n } // Return the first (\"main\") one of the `matchingCountries`.\n\n\n if (matchingCountries.length > 0) {\n return matchingCountries[0];\n }\n}\n//# sourceMappingURL=getCountryByNationalNumber.js.map","import getCountryByNationalNumber from './getCountryByNationalNumber.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nexport default function getCountryByCallingCode(callingCode, _ref) {\n var nationalPhoneNumber = _ref.nationalNumber,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n }\n\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return getCountryByNationalNumber(nationalPhoneNumber, {\n countries: possibleCountries,\n defaultCountry: defaultCountry,\n metadata: metadata.metadata\n });\n}\n//# sourceMappingURL=getCountryByCallingCode.js.map","// When phone numbers are written in `RFC3966` format — `\"tel:+12133734253\"` —\n// they can have their \"calling code\" part written separately in a `phone-context` parameter.\n// Example: `\"tel:12133734253;phone-context=+1\"`.\n// This function parses the full phone number from the local number and the `phone-context`\n// when the `phone-context` contains a `+` sign.\nimport { VALID_DIGITS // PLUS_CHARS\n} from '../constants.js';\nexport var PLUS_SIGN = '+';\nvar RFC3966_VISUAL_SEPARATOR_ = '[\\\\-\\\\.\\\\(\\\\)]?';\nvar RFC3966_PHONE_DIGIT_ = '(' + '[' + VALID_DIGITS + ']' + '|' + RFC3966_VISUAL_SEPARATOR_ + ')';\nvar RFC3966_GLOBAL_NUMBER_DIGITS_ = '^' + '\\\\' + PLUS_SIGN + RFC3966_PHONE_DIGIT_ + '*' + '[' + VALID_DIGITS + ']' + RFC3966_PHONE_DIGIT_ + '*' + '$';\n/**\r\n * Regular expression of valid global-number-digits for the phone-context\r\n * parameter, following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_ = new RegExp(RFC3966_GLOBAL_NUMBER_DIGITS_, 'g'); // In this port of Google's library, we don't accept alpha characters in phone numbers.\n// const ALPHANUM_ = VALID_ALPHA_ + VALID_DIGITS\n\nvar ALPHANUM_ = VALID_DIGITS;\nvar RFC3966_DOMAINLABEL_ = '[' + ALPHANUM_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar VALID_ALPHA_ = 'a-zA-Z';\nvar RFC3966_TOPLABEL_ = '[' + VALID_ALPHA_ + ']+((\\\\-)*[' + ALPHANUM_ + '])*';\nvar RFC3966_DOMAINNAME_ = '^(' + RFC3966_DOMAINLABEL_ + '\\\\.)*' + RFC3966_TOPLABEL_ + '\\\\.?$';\n/**\r\n * Regular expression of valid domainname for the phone-context parameter,\r\n * following the syntax defined in RFC3966.\r\n */\n\nvar RFC3966_DOMAINNAME_PATTERN_ = new RegExp(RFC3966_DOMAINNAME_, 'g');\nexport var RFC3966_PREFIX_ = 'tel:';\nexport var RFC3966_PHONE_CONTEXT_ = ';phone-context=';\nexport var RFC3966_ISDN_SUBADDRESS_ = ';isub=';\n/**\r\n * Extracts the value of the phone-context parameter of `numberToExtractFrom`,\r\n * following the syntax defined in RFC3966.\r\n *\r\n * @param {string} numberToExtractFrom\r\n * @return {string|null} the extracted string (possibly empty), or `null` if no phone-context parameter is found.\r\n */\n\nexport default function extractPhoneContext(numberToExtractFrom) {\n var indexOfPhoneContext = numberToExtractFrom.indexOf(RFC3966_PHONE_CONTEXT_); // If no phone-context parameter is present\n\n if (indexOfPhoneContext < 0) {\n return null;\n }\n\n var phoneContextStart = indexOfPhoneContext + RFC3966_PHONE_CONTEXT_.length; // If phone-context parameter is empty\n\n if (phoneContextStart >= numberToExtractFrom.length) {\n return '';\n }\n\n var phoneContextEnd = numberToExtractFrom.indexOf(';', phoneContextStart); // If phone-context is not the last parameter\n\n if (phoneContextEnd >= 0) {\n return numberToExtractFrom.substring(phoneContextStart, phoneContextEnd);\n } else {\n return numberToExtractFrom.substring(phoneContextStart);\n }\n}\n/**\r\n * Returns whether the value of phoneContext follows the syntax defined in RFC3966.\r\n *\r\n * @param {string|null} phoneContext\r\n * @return {boolean}\r\n */\n\nexport function isPhoneContextValid(phoneContext) {\n if (phoneContext === null) {\n return true;\n }\n\n if (phoneContext.length === 0) {\n return false;\n } // Does phone-context value match pattern of global-number-digits or domainname.\n\n\n return RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_.test(phoneContext) || RFC3966_DOMAINNAME_PATTERN_.test(phoneContext);\n}\n//# sourceMappingURL=extractPhoneContext.js.map","import extractPhoneContext, { isPhoneContextValid, PLUS_SIGN, RFC3966_PREFIX_, RFC3966_PHONE_CONTEXT_, RFC3966_ISDN_SUBADDRESS_ } from './extractPhoneContext.js';\nimport ParseError from '../ParseError.js';\n/**\r\n * @param {string} numberToParse\r\n * @param {string} nationalNumber\r\n * @return {}\r\n */\n\nexport default function extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(numberToParse, _ref) {\n var extractFormattedPhoneNumber = _ref.extractFormattedPhoneNumber;\n var phoneContext = extractPhoneContext(numberToParse);\n\n if (!isPhoneContextValid(phoneContext)) {\n throw new ParseError('NOT_A_NUMBER');\n }\n\n var phoneNumberString;\n\n if (phoneContext === null) {\n // Extract a possible number from the string passed in.\n // (this strips leading characters that could not be the start of a phone number)\n phoneNumberString = extractFormattedPhoneNumber(numberToParse) || '';\n } else {\n phoneNumberString = ''; // If the phone context contains a phone number prefix, we need to capture\n // it, whereas domains will be ignored.\n\n if (phoneContext.charAt(0) === PLUS_SIGN) {\n phoneNumberString += phoneContext;\n } // Now append everything between the \"tel:\" prefix and the phone-context.\n // This should include the national number, an optional extension or\n // isdn-subaddress component. Note we also handle the case when \"tel:\" is\n // missing, as we have seen in some of the phone number inputs.\n // In that case, we append everything from the beginning.\n\n\n var indexOfRfc3966Prefix = numberToParse.indexOf(RFC3966_PREFIX_);\n var indexOfNationalNumber; // RFC 3966 \"tel:\" prefix is preset at this stage because\n // `isPhoneContextValid()` requires it to be present.\n\n /* istanbul ignore else */\n\n if (indexOfRfc3966Prefix >= 0) {\n indexOfNationalNumber = indexOfRfc3966Prefix + RFC3966_PREFIX_.length;\n } else {\n indexOfNationalNumber = 0;\n }\n\n var indexOfPhoneContext = numberToParse.indexOf(RFC3966_PHONE_CONTEXT_);\n phoneNumberString += numberToParse.substring(indexOfNationalNumber, indexOfPhoneContext);\n } // Delete the isdn-subaddress and everything after it if it is present.\n // Note extension won't appear at the same time with isdn-subaddress\n // according to paragraph 5.3 of the RFC3966 spec.\n\n\n var indexOfIsdn = phoneNumberString.indexOf(RFC3966_ISDN_SUBADDRESS_);\n\n if (indexOfIsdn > 0) {\n phoneNumberString = phoneNumberString.substring(0, indexOfIsdn);\n } // If both phone context and isdn-subaddress are absent but other\n // parameters are present, the parameters are left in nationalNumber.\n // This is because we are concerned about deleting content from a potential\n // number string when there is no strong evidence that the number is\n // actually written in RFC3966.\n\n\n if (phoneNumberString !== '') {\n return phoneNumberString;\n }\n}\n//# sourceMappingURL=extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js.map","// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport { VALID_DIGITS, PLUS_CHARS, MIN_LENGTH_FOR_NSN, MAX_LENGTH_FOR_NSN } from './constants.js';\nimport ParseError from './ParseError.js';\nimport Metadata from './metadata.js';\nimport isViablePhoneNumber, { isViablePhoneNumberStart } from './helpers/isViablePhoneNumber.js';\nimport extractExtension from './helpers/extension/extractExtension.js';\nimport parseIncompletePhoneNumber from './parseIncompletePhoneNumber.js';\nimport getCountryCallingCode from './getCountryCallingCode.js';\nimport { isPossibleNumber } from './isPossible.js'; // import { parseRFC3966 } from './helpers/RFC3966.js'\n\nimport PhoneNumber from './PhoneNumber.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractNationalNumber from './helpers/extractNationalNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport extractFormattedPhoneNumberFromPossibleRfc3966NumberUri from './helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js'; // We don't allow input strings for parsing to be longer than 250 chars.\n// This prevents malicious input from consuming CPU.\n\nvar MAX_INPUT_STRING_LENGTH = 250; // This consists of the plus symbol, digits, and arabic-indic digits.\n\nvar PHONE_NUMBER_START_PATTERN = new RegExp('[' + PLUS_CHARS + VALID_DIGITS + ']'); // Regular expression of trailing characters that we want to remove.\n// A trailing `#` is sometimes used when writing phone numbers with extensions in US.\n// Example: \"+1 (645) 123 1234-910#\" number has extension \"910\".\n\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp('[^' + VALID_DIGITS + '#' + ']+$');\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false; // Examples:\n//\n// ```js\n// parse('8 (800) 555-35-35', 'RU')\n// parse('8 (800) 555-35-35', 'RU', metadata)\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } })\n// parse('8 (800) 555-35-35', { country: { default: 'RU' } }, metadata)\n// parse('+7 800 555 35 35')\n// parse('+7 800 555 35 35', metadata)\n// ```\n//\n\n/**\r\n * Parses a phone number.\r\n *\r\n * parse('123456789', { defaultCountry: 'RU', v2: true }, metadata)\r\n * parse('123456789', { defaultCountry: 'RU' }, metadata)\r\n * parse('123456789', undefined, metadata)\r\n *\r\n * @param {string} input\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {object|PhoneNumber?} If `options.v2: true` flag is passed, it returns a `PhoneNumber?` instance. Otherwise, returns an object of shape `{ phone: '...', country: '...' }` (or just `{}` if no phone number was parsed).\r\n */\n\nexport default function parse(text, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata); // Validate `defaultCountry`.\n\n if (options.defaultCountry && !metadata.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n } // Parse the phone number.\n\n\n var _parseInput = parseInput(text, options.v2, options.extract),\n formattedPhoneNumber = _parseInput.number,\n ext = _parseInput.ext,\n error = _parseInput.error; // If the phone number is not viable then return nothing.\n\n\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === 'TOO_SHORT') {\n throw new ParseError('TOO_SHORT');\n }\n\n throw new ParseError('NOT_A_NUMBER');\n }\n\n return {};\n }\n\n var _parsePhoneNumber = parsePhoneNumber(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata),\n country = _parsePhoneNumber.country,\n nationalNumber = _parsePhoneNumber.nationalNumber,\n countryCallingCode = _parsePhoneNumber.countryCallingCode,\n countryCallingCodeSource = _parsePhoneNumber.countryCallingCodeSource,\n carrierCode = _parsePhoneNumber.carrierCode;\n\n if (!metadata.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError('INVALID_COUNTRY');\n }\n\n return {};\n } // Validate national (significant) number length.\n\n\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n // Won't throw here because the regexp already demands length > 1.\n\n /* istanbul ignore if */\n if (options.v2) {\n throw new ParseError('TOO_SHORT');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n } // Validate national (significant) number length.\n //\n // A sidenote:\n //\n // They say that sometimes national (significant) numbers\n // can be longer than `MAX_LENGTH_FOR_NSN` (e.g. in Germany).\n // https://github.com/googlei18n/libphonenumber/blob/7e1748645552da39c4e1ba731e47969d97bdb539/resources/phonenumber.proto#L36\n // Such numbers will just be discarded.\n //\n\n\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError('TOO_LONG');\n } // Google's demo just throws an error in this case.\n\n\n return {};\n }\n\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata.metadata);\n\n if (country) {\n phoneNumber.country = country;\n }\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n\n if (ext) {\n phoneNumber.ext = ext;\n }\n\n phoneNumber.__countryCallingCodeSource = countryCallingCodeSource;\n return phoneNumber;\n } // Check if national phone number pattern matches the number.\n // National number pattern is different for each country,\n // even for those ones which are part of the \"NANPA\" group.\n\n\n var valid = (options.extended ? metadata.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) : false;\n\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n } // isInternational: countryCallingCode !== undefined\n\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n carrierCode: carrierCode,\n valid: valid,\n possible: valid ? true : options.extended === true && metadata.possibleLengths() && isPossibleNumber(nationalNumber, metadata) ? true : false,\n phone: nationalNumber,\n ext: ext\n };\n}\n/**\r\n * Extracts a formatted phone number from text.\r\n * Doesn't guarantee that the extracted phone number\r\n * is a valid phone number (for example, doesn't validate its length).\r\n * @param {string} text\r\n * @param {boolean} [extract] — If `false`, then will parse the entire `text` as a phone number.\r\n * @param {boolean} [throwOnError] — By default, it won't throw if the text is too long.\r\n * @return {string}\r\n * @example\r\n * // Returns \"(213) 373-4253\".\r\n * extractFormattedPhoneNumber(\"Call (213) 373-4253 for assistance.\")\r\n */\n\nfunction _extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError('TOO_LONG');\n }\n\n return;\n }\n\n if (extract === false) {\n return text;\n } // Attempt to extract a possible number from the string passed in\n\n\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n\n if (startsAt < 0) {\n return;\n }\n\n return text // Trim everything to the left of the phone number\n .slice(startsAt) // Remove trailing non-numerical characters\n .replace(AFTER_PHONE_NUMBER_END_PATTERN, '');\n}\n/**\r\n * @param {string} text - Input.\r\n * @param {boolean} v2 - Legacy API functions don't pass `v2: true` flag.\r\n * @param {boolean} [extract] - Whether to extract a phone number from `text`, or attempt to parse the entire text as a phone number.\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\n\nfunction parseInput(text, v2, extract) {\n // // Parse RFC 3966 phone number URI.\n // if (text && text.indexOf('tel:') === 0) {\n // \treturn parseRFC3966(text)\n // }\n // let number = extractFormattedPhoneNumber(text, extract, v2)\n var number = extractFormattedPhoneNumberFromPossibleRfc3966NumberUri(text, {\n extractFormattedPhoneNumber: function extractFormattedPhoneNumber(text) {\n return _extractFormattedPhoneNumber(text, extract, v2);\n }\n }); // If the phone number is not viable, then abort.\n\n if (!number) {\n return {};\n }\n\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: 'TOO_SHORT'\n };\n }\n\n return {};\n } // Attempt to parse extension first, since it doesn't require region-specific\n // data and we want to have the non-normalised number here.\n\n\n var withExtensionStripped = extractExtension(number);\n\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n\n return {\n number: number\n };\n}\n/**\r\n * Creates `parse()` result object.\r\n */\n\n\nfunction result(country, nationalNumber, ext) {\n var result = {\n country: country,\n phone: nationalNumber\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * Parses a viable phone number.\r\n * @param {string} formattedPhoneNumber — Example: \"(213) 373-4253\".\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {Metadata} metadata\r\n * @return {object} Returns `{ country: string?, countryCallingCode: string?, nationalNumber: string? }`.\r\n */\n\n\nfunction parsePhoneNumber(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata) {\n // Extract calling code from phone number.\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata.metadata),\n countryCallingCodeSource = _extractCountryCallin.countryCallingCodeSource,\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number; // Choose a country by `countryCallingCode`.\n\n\n var country;\n\n if (countryCallingCode) {\n metadata.selectNumberingPlan(countryCallingCode);\n } // If `formattedPhoneNumber` is passed in \"national\" format\n // then `number` is defined and `countryCallingCode` is `undefined`.\n else if (number && (defaultCountry || defaultCallingCode)) {\n metadata.selectNumberingPlan(defaultCountry, defaultCallingCode);\n\n if (defaultCountry) {\n country = defaultCountry;\n } else {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n country = '001';\n }\n }\n }\n\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata.metadata);\n } else return {};\n\n if (!number) {\n return {\n countryCallingCodeSource: countryCallingCodeSource,\n countryCallingCode: countryCallingCode\n };\n }\n\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata),\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode; // Sometimes there are several countries\n // corresponding to the same country phone code\n // (e.g. NANPA countries all having `1` country phone code).\n // Therefore, to reliably determine the exact country,\n // national (significant) number should have been parsed first.\n //\n // When `metadata.json` is generated, all \"ambiguous\" country phone codes\n // get their countries populated with the full set of\n // \"phone number type\" regular expressions.\n //\n\n\n var exactCountry = getCountryByCallingCode(countryCallingCode, {\n nationalNumber: nationalNumber,\n defaultCountry: defaultCountry,\n metadata: metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n /* istanbul ignore if */\n\n if (exactCountry === '001') {// Can't happen with `USE_NON_GEOGRAPHIC_COUNTRY_CODE` being `false`.\n // If `USE_NON_GEOGRAPHIC_COUNTRY_CODE` is set to `true` for some reason,\n // then remove the \"istanbul ignore if\".\n } else {\n metadata.country(country);\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode,\n countryCallingCodeSource: countryCallingCodeSource,\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n}\n//# sourceMappingURL=parse.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport parse from './parse.js';\nexport default function parsePhoneNumberWithError(text, options, metadata) {\n return parse(text, _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }), metadata);\n}\n//# sourceMappingURL=parsePhoneNumberWithError_.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport isObject from './helpers/isObject.js'; // Extracts the following properties from function arguments:\n// * input `text`\n// * `options` object\n// * `metadata` JSON\n\nexport default function normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args),\n _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4),\n arg_1 = _Array$prototype$slic2[0],\n arg_2 = _Array$prototype$slic2[1],\n arg_3 = _Array$prototype$slic2[2],\n arg_4 = _Array$prototype$slic2[3];\n\n var text;\n var options;\n var metadata; // If the phone number is passed as a string.\n // `parsePhoneNumber('88005553535', ...)`.\n\n if (typeof arg_1 === 'string') {\n text = arg_1;\n } else throw new TypeError('A text for parsing must be a string.'); // If \"default country\" argument is being passed then move it to `options`.\n // `parsePhoneNumber('88005553535', 'RU', [options], metadata)`.\n\n\n if (!arg_2 || typeof arg_2 === 'string') {\n if (arg_4) {\n options = arg_3;\n metadata = arg_4;\n } else {\n options = undefined;\n metadata = arg_3;\n }\n\n if (arg_2) {\n options = _objectSpread({\n defaultCountry: arg_2\n }, options);\n }\n } // `defaultCountry` is not passed.\n // Example: `parsePhoneNumber('+78005553535', [options], metadata)`.\n else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata = arg_3;\n } else {\n metadata = arg_2;\n }\n } else throw new Error(\"Invalid second argument: \".concat(arg_2));\n\n return {\n text: text,\n options: options,\n metadata: metadata\n };\n}\n//# sourceMappingURL=normalizeArguments.js.map","import parsePhoneNumberWithError_ from './parsePhoneNumberWithError_.js';\nimport normalizeArguments from './normalizeArguments.js';\nexport default function parsePhoneNumberWithError() {\n var _normalizeArguments = normalizeArguments(arguments),\n text = _normalizeArguments.text,\n options = _normalizeArguments.options,\n metadata = _normalizeArguments.metadata;\n\n return parsePhoneNumberWithError_(text, options, metadata);\n}\n//# sourceMappingURL=parsePhoneNumberWithError.js.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n// This \"state\" object simply holds the state of the \"AsYouType\" parser:\n//\n// * `country?: string`\n// * `callingCode?: string`\n// * `digits: string`\n// * `international: boolean`\n// * `missingPlus: boolean`\n// * `IDDPrefix?: string`\n// * `carrierCode?: string`\n// * `nationalPrefix?: string`\n// * `nationalSignificantNumber?: string`\n// * `nationalSignificantNumberMatchesInput: boolean`\n// * `complexPrefixBeforeNationalSignificantNumber?: string`\n//\n// `state.country` and `state.callingCode` aren't required to be in sync.\n// For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\n// So `state.country` and `state.callingCode` are totally independent.\n//\nvar AsYouTypeState = /*#__PURE__*/function () {\n function AsYouTypeState(_ref) {\n var onCountryChange = _ref.onCountryChange,\n onCallingCodeChange = _ref.onCallingCodeChange;\n\n _classCallCheck(this, AsYouTypeState);\n\n this.onCountryChange = onCountryChange;\n this.onCallingCodeChange = onCallingCodeChange;\n }\n\n _createClass(AsYouTypeState, [{\n key: \"reset\",\n value: function reset(_ref2) {\n var country = _ref2.country,\n callingCode = _ref2.callingCode;\n this.international = false;\n this.missingPlus = false;\n this.IDDPrefix = undefined;\n this.callingCode = undefined;\n this.digits = '';\n this.resetNationalSignificantNumber();\n this.initCountryAndCallingCode(country, callingCode);\n }\n }, {\n key: \"resetNationalSignificantNumber\",\n value: function resetNationalSignificantNumber() {\n this.nationalSignificantNumber = this.getNationalDigits();\n this.nationalSignificantNumberMatchesInput = true;\n this.nationalPrefix = undefined;\n this.carrierCode = undefined;\n this.complexPrefixBeforeNationalSignificantNumber = undefined;\n }\n }, {\n key: \"update\",\n value: function update(properties) {\n for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n this[key] = properties[key];\n }\n }\n }, {\n key: \"initCountryAndCallingCode\",\n value: function initCountryAndCallingCode(country, callingCode) {\n this.setCountry(country);\n this.setCallingCode(callingCode);\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(country) {\n this.country = country;\n this.onCountryChange(country);\n }\n }, {\n key: \"setCallingCode\",\n value: function setCallingCode(callingCode) {\n this.callingCode = callingCode;\n this.onCallingCodeChange(callingCode, this.country);\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(country, callingCode) {\n // Prepend the `+` to parsed input.\n this.international = true; // If a default country was set then reset it\n // because an explicitly international phone\n // number is being entered.\n\n this.initCountryAndCallingCode(country, callingCode);\n }\n }, {\n key: \"appendDigits\",\n value: function appendDigits(nextDigits) {\n this.digits += nextDigits;\n }\n }, {\n key: \"appendNationalSignificantNumberDigits\",\n value: function appendNationalSignificantNumberDigits(nextDigits) {\n this.nationalSignificantNumber += nextDigits;\n }\n /**\r\n * Returns the part of `this.digits` that corresponds to the national number.\r\n * Basically, all digits that have been input by the user, except for the\r\n * international prefix and the country calling code part\r\n * (if the number is an international one).\r\n * @return {string}\r\n */\n\n }, {\n key: \"getNationalDigits\",\n value: function getNationalDigits() {\n if (this.international) {\n return this.digits.slice((this.IDDPrefix ? this.IDDPrefix.length : 0) + (this.callingCode ? this.callingCode.length : 0));\n }\n\n return this.digits;\n }\n }, {\n key: \"getDigitsWithoutInternationalPrefix\",\n value: function getDigitsWithoutInternationalPrefix() {\n if (this.international) {\n if (this.IDDPrefix) {\n return this.digits.slice(this.IDDPrefix.length);\n }\n }\n\n return this.digits;\n }\n }]);\n\n return AsYouTypeState;\n}();\n\nexport { AsYouTypeState as default };\n//# sourceMappingURL=AsYouTypeState.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\nexport var DIGIT_PLACEHOLDER = 'x'; // '\\u2008' (punctuation space)\n\nvar DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER); // Counts all occurences of a symbol in a string.\n// Unicode-unsafe (because using `.split()`).\n\nexport function countOccurences(symbol, string) {\n var count = 0; // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for counting brackets it is safe.\n // for (const character of string)\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n\n if (character === symbol) {\n count++;\n }\n }\n\n return count;\n} // Repeats a string (or a symbol) N times.\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\n\nexport function repeat(string, times) {\n if (times < 1) {\n return '';\n }\n\n var result = '';\n\n while (times > 1) {\n if (times & 1) {\n result += string;\n }\n\n times >>= 1;\n string += string;\n }\n\n return result + string;\n}\nexport function cutAndStripNonPairedParens(string, cutBeforeIndex) {\n if (string[cutBeforeIndex] === ')') {\n cutBeforeIndex++;\n }\n\n return stripNonPairedParens(string.slice(0, cutBeforeIndex));\n}\nexport function closeNonPairedParens(template, cut_before) {\n var retained_template = template.slice(0, cut_before);\n var opening_braces = countOccurences('(', retained_template);\n var closing_braces = countOccurences(')', retained_template);\n var dangling_braces = opening_braces - closing_braces;\n\n while (dangling_braces > 0 && cut_before < template.length) {\n if (template[cut_before] === ')') {\n dangling_braces--;\n }\n\n cut_before++;\n }\n\n return template.slice(0, cut_before);\n}\nexport function stripNonPairedParens(string) {\n var dangling_braces = [];\n var i = 0;\n\n while (i < string.length) {\n if (string[i] === '(') {\n dangling_braces.push(i);\n } else if (string[i] === ')') {\n dangling_braces.pop();\n }\n\n i++;\n }\n\n var start = 0;\n var cleared_string = '';\n dangling_braces.push(string.length);\n\n for (var _i = 0, _dangling_braces = dangling_braces; _i < _dangling_braces.length; _i++) {\n var index = _dangling_braces[_i];\n cleared_string += string.slice(start, index);\n start = index + 1;\n }\n\n return cleared_string;\n}\nexport function populateTemplateWithDigits(template, position, digits) {\n // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for `digits` it is safe.\n // for (const digit of digits)\n for (var _iterator2 = _createForOfIteratorHelperLoose(digits.split('')), _step2; !(_step2 = _iterator2()).done;) {\n var digit = _step2.value;\n\n // If there is room for more digits in current `template`,\n // then set the next digit in the `template`,\n // and return the formatted digits so far.\n // If more digits are entered than the current format could handle.\n if (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\n return;\n }\n\n position = template.search(DIGIT_PLACEHOLDER_MATCHER);\n template = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit);\n }\n\n return [template, position];\n}\n//# sourceMappingURL=AsYouTypeFormatter.util.js.map","import checkNumberLength from './helpers/checkNumberLength.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nexport default function formatCompleteNumber(state, format, _ref) {\n var metadata = _ref.metadata,\n shouldTryNationalPrefixFormattingRule = _ref.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref.getSeparatorAfterNationalPrefix;\n var matcher = new RegExp(\"^(?:\".concat(format.pattern(), \")$\"));\n\n if (matcher.test(state.nationalSignificantNumber)) {\n return formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\n metadata: metadata,\n shouldTryNationalPrefixFormattingRule: shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix\n });\n }\n}\nexport function canFormatCompleteNumber(nationalSignificantNumber, metadata) {\n return checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE';\n}\n\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, _ref2) {\n var metadata = _ref2.metadata,\n shouldTryNationalPrefixFormattingRule = _ref2.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref2.getSeparatorAfterNationalPrefix;\n // `format` has already been checked for `nationalPrefix` requirement.\n var nationalSignificantNumber = state.nationalSignificantNumber,\n international = state.international,\n nationalPrefix = state.nationalPrefix,\n carrierCode = state.carrierCode; // Format the number with using `national_prefix_formatting_rule`.\n // If the resulting formatted number is a valid formatted number, then return it.\n //\n // Google's AsYouType formatter is different in a way that it doesn't try\n // to format using the \"national prefix formatting rule\", and instead it\n // simply prepends a national prefix followed by a \" \" character.\n // This code does that too, but as a fallback.\n // The reason is that \"national prefix formatting rule\" may use parentheses,\n // which wouldn't be included has it used the simpler Google's way.\n //\n\n if (shouldTryNationalPrefixFormattingRule(format)) {\n var formattedNumber = formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: true,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n\n if (formattedNumber) {\n return formattedNumber;\n }\n } // Format the number without using `national_prefix_formatting_rule`.\n\n\n return formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: false,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n}\n\nfunction formatNationalNumber(state, format, _ref3) {\n var metadata = _ref3.metadata,\n useNationalPrefixFormattingRule = _ref3.useNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref3.getSeparatorAfterNationalPrefix;\n var formattedNationalNumber = formatNationalNumberUsingFormat(state.nationalSignificantNumber, format, {\n carrierCode: state.carrierCode,\n useInternationalFormat: state.international,\n withNationalPrefix: useNationalPrefixFormattingRule,\n metadata: metadata\n });\n\n if (!useNationalPrefixFormattingRule) {\n if (state.nationalPrefix) {\n // If a national prefix was extracted, then just prepend it,\n // followed by a \" \" character.\n formattedNationalNumber = state.nationalPrefix + getSeparatorAfterNationalPrefix(format) + formattedNationalNumber;\n } else if (state.complexPrefixBeforeNationalSignificantNumber) {\n formattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber + ' ' + formattedNationalNumber;\n }\n }\n\n if (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\n return formattedNationalNumber;\n }\n} // Check that the formatted phone number contains exactly\n// the same digits that have been input by the user.\n// For example, when \"0111523456789\" is input for `AR` country,\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\n// which means that the national part of `this.digits` isn't simply equal to\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\n//\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\n// being formatted via `metadata[country].national_prefix_transform_rule`.\n// For example, for `VI` country, it prepends `340` to the national number,\n// and if this check hasn't been implemented, then there would be a bug\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\n//\n// So, all these \"gotchas\" are filtered out.\n//\n// In the original Google's code, the comments say:\n// \"Check that we didn't remove nor add any extra digits when we matched\n// this formatting pattern. This usually happens after we entered the last\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\n// formatted but AYTF should retain all the number entered and not change\n// in order to match a format (of same leading digits and length) display\n// in that way.\"\n// \"If it's the same (i.e entered number and format is same), then it's\n// safe to return this in formatted number as nothing is lost / added.\"\n// Otherwise, don't use this format.\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\n//\n\n\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\n return parseDigits(formattedNationalNumber) === state.getNationalDigits();\n}\n//# sourceMappingURL=AsYouTypeFormatter.complete.js.map","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nvar PatternParser = /*#__PURE__*/function () {\n function PatternParser() {\n _classCallCheck(this, PatternParser);\n }\n\n _createClass(PatternParser, [{\n key: \"parse\",\n value: function parse(pattern) {\n this.context = [{\n or: true,\n instructions: []\n }];\n this.parsePattern(pattern);\n\n if (this.context.length !== 1) {\n throw new Error('Non-finalized contexts left when pattern parse ended');\n }\n\n var _this$context$ = this.context[0],\n branches = _this$context$.branches,\n instructions = _this$context$.instructions;\n\n if (branches) {\n return {\n op: '|',\n args: branches.concat([expandSingleElementArray(instructions)])\n };\n }\n /* istanbul ignore if */\n\n\n if (instructions.length === 0) {\n throw new Error('Pattern is required');\n }\n\n if (instructions.length === 1) {\n return instructions[0];\n }\n\n return instructions;\n }\n }, {\n key: \"startContext\",\n value: function startContext(context) {\n this.context.push(context);\n }\n }, {\n key: \"endContext\",\n value: function endContext() {\n this.context.pop();\n }\n }, {\n key: \"getContext\",\n value: function getContext() {\n return this.context[this.context.length - 1];\n }\n }, {\n key: \"parsePattern\",\n value: function parsePattern(pattern) {\n if (!pattern) {\n throw new Error('Pattern is required');\n }\n\n var match = pattern.match(OPERATOR);\n\n if (!match) {\n if (ILLEGAL_CHARACTER_REGEXP.test(pattern)) {\n throw new Error(\"Illegal characters found in a pattern: \".concat(pattern));\n }\n\n this.getContext().instructions = this.getContext().instructions.concat(pattern.split(''));\n return;\n }\n\n var operator = match[1];\n var before = pattern.slice(0, match.index);\n var rightPart = pattern.slice(match.index + operator.length);\n\n switch (operator) {\n case '(?:':\n if (before) {\n this.parsePattern(before);\n }\n\n this.startContext({\n or: true,\n instructions: [],\n branches: []\n });\n break;\n\n case ')':\n if (!this.getContext().or) {\n throw new Error('\")\" operator must be preceded by \"(?:\" operator');\n }\n\n if (before) {\n this.parsePattern(before);\n }\n\n if (this.getContext().instructions.length === 0) {\n throw new Error('No instructions found after \"|\" operator in an \"or\" group');\n }\n\n var _this$getContext = this.getContext(),\n branches = _this$getContext.branches;\n\n branches.push(expandSingleElementArray(this.getContext().instructions));\n this.endContext();\n this.getContext().instructions.push({\n op: '|',\n args: branches\n });\n break;\n\n case '|':\n if (!this.getContext().or) {\n throw new Error('\"|\" operator can only be used inside \"or\" groups');\n }\n\n if (before) {\n this.parsePattern(before);\n } // The top-level is an implicit \"or\" group, if required.\n\n\n if (!this.getContext().branches) {\n // `branches` are not defined only for the root implicit \"or\" operator.\n\n /* istanbul ignore else */\n if (this.context.length === 1) {\n this.getContext().branches = [];\n } else {\n throw new Error('\"branches\" not found in an \"or\" group context');\n }\n }\n\n this.getContext().branches.push(expandSingleElementArray(this.getContext().instructions));\n this.getContext().instructions = [];\n break;\n\n case '[':\n if (before) {\n this.parsePattern(before);\n }\n\n this.startContext({\n oneOfSet: true\n });\n break;\n\n case ']':\n if (!this.getContext().oneOfSet) {\n throw new Error('\"]\" operator must be preceded by \"[\" operator');\n }\n\n this.endContext();\n this.getContext().instructions.push({\n op: '[]',\n args: parseOneOfSet(before)\n });\n break;\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unknown operator: \".concat(operator));\n }\n\n if (rightPart) {\n this.parsePattern(rightPart);\n }\n }\n }]);\n\n return PatternParser;\n}();\n\nexport { PatternParser as default };\n\nfunction parseOneOfSet(pattern) {\n var values = [];\n var i = 0;\n\n while (i < pattern.length) {\n if (pattern[i] === '-') {\n if (i === 0 || i === pattern.length - 1) {\n throw new Error(\"Couldn't parse a one-of set pattern: \".concat(pattern));\n }\n\n var prevValue = pattern[i - 1].charCodeAt(0) + 1;\n var nextValue = pattern[i + 1].charCodeAt(0) - 1;\n var value = prevValue;\n\n while (value <= nextValue) {\n values.push(String.fromCharCode(value));\n value++;\n }\n } else {\n values.push(pattern[i]);\n }\n\n i++;\n }\n\n return values;\n}\n\nvar ILLEGAL_CHARACTER_REGEXP = /[\\(\\)\\[\\]\\?\\:\\|]/;\nvar OPERATOR = new RegExp( // any of:\n'(' + // or operator\n'\\\\|' + // or\n'|' + // or group start\n'\\\\(\\\\?\\\\:' + // or\n'|' + // or group end\n'\\\\)' + // or\n'|' + // one-of set start\n'\\\\[' + // or\n'|' + // one-of set end\n'\\\\]' + ')');\n\nfunction expandSingleElementArray(array) {\n if (array.length === 1) {\n return array[0];\n }\n\n return array;\n}\n//# sourceMappingURL=AsYouTypeFormatter.PatternParser.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport PatternParser from './AsYouTypeFormatter.PatternParser.js';\n\nvar PatternMatcher = /*#__PURE__*/function () {\n function PatternMatcher(pattern) {\n _classCallCheck(this, PatternMatcher);\n\n this.matchTree = new PatternParser().parse(pattern);\n }\n\n _createClass(PatternMatcher, [{\n key: \"match\",\n value: function match(string) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n allowOverflow = _ref.allowOverflow;\n\n if (!string) {\n throw new Error('String is required');\n }\n\n var result = _match(string.split(''), this.matchTree, true);\n\n if (result && result.match) {\n delete result.matchedChars;\n }\n\n if (result && result.overflow) {\n if (!allowOverflow) {\n return;\n }\n }\n\n return result;\n }\n }]);\n\n return PatternMatcher;\n}();\n/**\r\n * Matches `characters` against a pattern compiled into a `tree`.\r\n * @param {string[]} characters\r\n * @param {Tree} tree — A pattern compiled into a `tree`. See the `*.d.ts` file for the description of the `tree` structure.\r\n * @param {boolean} last — Whether it's the last (rightmost) subtree on its level of the match tree.\r\n * @return {object} See the `*.d.ts` file for the description of the result object.\r\n */\n\n\nexport { PatternMatcher as default };\n\nfunction _match(characters, tree, last) {\n // If `tree` is a string, then `tree` is a single character.\n // That's because when a pattern is parsed, multi-character-string parts\n // of a pattern are compiled into arrays of single characters.\n // I still wrote this piece of code for a \"general\" hypothetical case\n // when `tree` could be a string of several characters, even though\n // such case is not possible with the current implementation.\n if (typeof tree === 'string') {\n var characterString = characters.join('');\n\n if (tree.indexOf(characterString) === 0) {\n // `tree` is always a single character.\n // If `tree.indexOf(characterString) === 0`\n // then `characters.length === tree.length`.\n\n /* istanbul ignore else */\n if (characters.length === tree.length) {\n return {\n match: true,\n matchedChars: characters\n };\n } // `tree` is always a single character.\n // If `tree.indexOf(characterString) === 0`\n // then `characters.length === tree.length`.\n\n /* istanbul ignore next */\n\n\n return {\n partialMatch: true // matchedChars: characters\n\n };\n }\n\n if (characterString.indexOf(tree) === 0) {\n if (last) {\n // The `else` path is not possible because `tree` is always a single character.\n // The `else` case for `characters.length > tree.length` would be\n // `characters.length <= tree.length` which means `characters.length <= 1`.\n // `characters` array can't be empty, so that means `characters === [tree]`,\n // which would also mean `tree.indexOf(characterString) === 0` and that'd mean\n // that the `if (tree.indexOf(characterString) === 0)` condition before this\n // `if` condition would be entered, and returned from there, not reaching this code.\n\n /* istanbul ignore else */\n if (characters.length > tree.length) {\n return {\n overflow: true\n };\n }\n }\n\n return {\n match: true,\n matchedChars: characters.slice(0, tree.length)\n };\n }\n\n return;\n }\n\n if (Array.isArray(tree)) {\n var restCharacters = characters.slice();\n var i = 0;\n\n while (i < tree.length) {\n var subtree = tree[i];\n\n var result = _match(restCharacters, subtree, last && i === tree.length - 1);\n\n if (!result) {\n return;\n } else if (result.overflow) {\n return result;\n } else if (result.match) {\n // Continue with the next subtree with the rest of the characters.\n restCharacters = restCharacters.slice(result.matchedChars.length);\n\n if (restCharacters.length === 0) {\n if (i === tree.length - 1) {\n return {\n match: true,\n matchedChars: characters\n };\n } else {\n return {\n partialMatch: true // matchedChars: characters\n\n };\n }\n }\n } else {\n /* istanbul ignore else */\n if (result.partialMatch) {\n return {\n partialMatch: true // matchedChars: characters\n\n };\n } else {\n throw new Error(\"Unsupported match result:\\n\".concat(JSON.stringify(result, null, 2)));\n }\n }\n\n i++;\n } // If `last` then overflow has already been checked\n // by the last element of the `tree` array.\n\n /* istanbul ignore if */\n\n\n if (last) {\n return {\n overflow: true\n };\n }\n\n return {\n match: true,\n matchedChars: characters.slice(0, characters.length - restCharacters.length)\n };\n }\n\n switch (tree.op) {\n case '|':\n var partialMatch;\n\n for (var _iterator = _createForOfIteratorHelperLoose(tree.args), _step; !(_step = _iterator()).done;) {\n var branch = _step.value;\n\n var _result = _match(characters, branch, last);\n\n if (_result) {\n if (_result.overflow) {\n return _result;\n } else if (_result.match) {\n return {\n match: true,\n matchedChars: _result.matchedChars\n };\n } else {\n /* istanbul ignore else */\n if (_result.partialMatch) {\n partialMatch = true;\n } else {\n throw new Error(\"Unsupported match result:\\n\".concat(JSON.stringify(_result, null, 2)));\n }\n }\n }\n }\n\n if (partialMatch) {\n return {\n partialMatch: true // matchedChars: ...\n\n };\n } // Not even a partial match.\n\n\n return;\n\n case '[]':\n for (var _iterator2 = _createForOfIteratorHelperLoose(tree.args), _step2; !(_step2 = _iterator2()).done;) {\n var _char = _step2.value;\n\n if (characters[0] === _char) {\n if (characters.length === 1) {\n return {\n match: true,\n matchedChars: characters\n };\n }\n\n if (last) {\n return {\n overflow: true\n };\n }\n\n return {\n match: true,\n matchedChars: [_char]\n };\n }\n } // No character matches.\n\n\n return;\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unsupported instruction tree: \".concat(tree));\n }\n}\n//# sourceMappingURL=AsYouTypeFormatter.PatternMatcher.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport { DIGIT_PLACEHOLDER, countOccurences, repeat, cutAndStripNonPairedParens, closeNonPairedParens, stripNonPairedParens, populateTemplateWithDigits } from './AsYouTypeFormatter.util.js';\nimport formatCompleteNumber, { canFormatCompleteNumber } from './AsYouTypeFormatter.complete.js';\nimport PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js';\nimport parseDigits from './helpers/parseDigits.js';\nexport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util.js';\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat.js';\nimport { VALID_PUNCTUATION } from './constants.js';\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle.js'; // Used in phone number format template creation.\n// Could be any digit, I guess.\n\nvar DUMMY_DIGIT = '9'; // I don't know why is it exactly `15`\n\nvar LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15; // Create a phone number consisting only of the digit 9 that matches the\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\n\nvar LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH); // A set of characters that, if found in a national prefix formatting rules, are an indicator to\n// us that we should separate the national prefix from the number when formatting.\n\nvar NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/; // Deprecated: Google has removed some formatting pattern related code from their repo.\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\n// Because this library supports generating custom metadata\n// some users may still be using old metadata so the relevant\n// code seems to stay until some next major version update.\n\nvar SUPPORT_LEGACY_FORMATTING_PATTERNS = true; // A pattern that is used to match character classes in regular expressions.\n// An example of a character class is \"[1-4]\".\n\nvar CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\[([^\\[\\]])*\\]/g;\n}; // Any digit in a regular expression that actually denotes a digit. For\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\n// (8 and 0) are standalone digits, but the rest are not.\n// Two look-aheads are needed because the number following \\\\d could be a\n// two-digit number, since the phone number can be as long as 15 digits.\n\n\nvar CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\d(?=[^,}][^,}])/g;\n}; // A regular expression that is used to determine if a `format` is\n// suitable to be used in the \"as you type formatter\".\n// A `format` is suitable when the resulting formatted number has\n// the same digits as the user has entered.\n//\n// In the simplest case, that would mean that the format\n// doesn't add any additional digits when formatting a number.\n// Google says that it also shouldn't add \"star\" (`*`) characters,\n// like it does in some Israeli formats.\n// Such basic format would only contain \"valid punctuation\"\n// and \"captured group\" identifiers ($1, $2, etc).\n//\n// An example of a format that adds additional digits:\n//\n// Country: `AR` (Argentina).\n// Format:\n// {\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n// \"leading_digits_patterns\": [\"91\"],\n// \"national_prefix_formatting_rule\": \"0$1\",\n// \"format\": \"$2 15-$3-$4\",\n// \"international_format\": \"$1 $2 $3-$4\"\n// }\n//\n// In the format above, the `format` adds `15` to the digits when formatting a number.\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\n// has previously removed `15` from a national number, so re-adding `15` in `format`\n// doesn't actually result in any extra digits added to user's input.\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\n//\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\n// `libphonenumber` code.\n//\n\n\nvar NON_ALTERING_FORMAT_REG_EXP = new RegExp('[' + VALID_PUNCTUATION + ']*' + // Google developers say:\n// \"We require that the first matching group is present in the\n// output pattern to ensure no data is lost while formatting.\"\n'\\\\$1' + '[' + VALID_PUNCTUATION + ']*' + '(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)*' + '$'); // This is the minimum length of the leading digits of a phone number\n// to guarantee the first \"leading digits pattern\" for a phone number format\n// to be preemptive.\n\nvar MIN_LEADING_DIGITS_LENGTH = 3;\n\nvar AsYouTypeFormatter = /*#__PURE__*/function () {\n function AsYouTypeFormatter(_ref) {\n var state = _ref.state,\n metadata = _ref.metadata;\n\n _classCallCheck(this, AsYouTypeFormatter);\n\n this.metadata = metadata;\n this.resetFormat();\n }\n\n _createClass(AsYouTypeFormatter, [{\n key: \"resetFormat\",\n value: function resetFormat() {\n this.chosenFormat = undefined;\n this.template = undefined;\n this.nationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplatePosition = -1;\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan, state) {\n this.resetFormat();\n\n if (numberingPlan) {\n this.isNANP = numberingPlan.callingCode() === '1';\n this.matchingFormats = numberingPlan.formats();\n\n if (state.nationalSignificantNumber) {\n this.narrowDownMatchingFormats(state);\n }\n } else {\n this.isNANP = undefined;\n this.matchingFormats = [];\n }\n }\n /**\r\n * Formats an updated phone number.\r\n * @param {string} nextDigits — Additional phone number digits.\r\n * @param {object} state — `AsYouType` state.\r\n * @return {[string]} Returns undefined if the updated phone number can't be formatted using any of the available formats.\r\n */\n\n }, {\n key: \"format\",\n value: function format(nextDigits, state) {\n var _this = this;\n\n // See if the phone number digits can be formatted as a complete phone number.\n // If not, use the results from `formatNationalNumberWithNextDigits()`,\n // which formats based on the chosen formatting pattern.\n //\n // Attempting to format complete phone number first is how it's done\n // in Google's `libphonenumber`, so this library just follows it.\n // Google's `libphonenumber` code doesn't explain in detail why does it\n // attempt to format digits as a complete phone number\n // instead of just going with a previoulsy (or newly) chosen `format`:\n //\n // \"Checks to see if there is an exact pattern match for these digits.\n // If so, we should use this instead of any other formatting template\n // whose leadingDigitsPattern also matches the input.\"\n //\n if (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\n for (var _iterator = _createForOfIteratorHelperLoose(this.matchingFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n var formattedCompleteNumber = formatCompleteNumber(state, format, {\n metadata: this.metadata,\n shouldTryNationalPrefixFormattingRule: function shouldTryNationalPrefixFormattingRule(format) {\n return _this.shouldTryNationalPrefixFormattingRule(format, {\n international: state.international,\n nationalPrefix: state.nationalPrefix\n });\n },\n getSeparatorAfterNationalPrefix: function getSeparatorAfterNationalPrefix(format) {\n return _this.getSeparatorAfterNationalPrefix(format);\n }\n });\n\n if (formattedCompleteNumber) {\n this.resetFormat();\n this.chosenFormat = format;\n this.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state);\n this.populatedNationalNumberTemplate = formattedCompleteNumber; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER);\n return formattedCompleteNumber;\n }\n }\n } // Format the digits as a partial (incomplete) phone number\n // using the previously chosen formatting pattern (or a newly chosen one).\n\n\n return this.formatNationalNumberWithNextDigits(nextDigits, state);\n } // Formats the next phone number digits.\n\n }, {\n key: \"formatNationalNumberWithNextDigits\",\n value: function formatNationalNumberWithNextDigits(nextDigits, state) {\n var previouslyChosenFormat = this.chosenFormat; // Choose a format from the list of matching ones.\n\n var newlyChosenFormat = this.chooseFormat(state);\n\n if (newlyChosenFormat) {\n if (newlyChosenFormat === previouslyChosenFormat) {\n // If it can format the next (current) digits\n // using the previously chosen phone number format\n // then return the updated formatted number.\n return this.formatNextNationalNumberDigits(nextDigits);\n } else {\n // If a more appropriate phone number format\n // has been chosen for these \"leading digits\",\n // then re-format the national phone number part\n // using the newly selected format.\n return this.formatNextNationalNumberDigits(state.getNationalDigits());\n }\n }\n }\n }, {\n key: \"narrowDownMatchingFormats\",\n value: function narrowDownMatchingFormats(_ref2) {\n var _this2 = this;\n\n var nationalSignificantNumber = _ref2.nationalSignificantNumber,\n nationalPrefix = _ref2.nationalPrefix,\n international = _ref2.international;\n var leadingDigits = nationalSignificantNumber; // \"leading digits\" pattern list starts with a\n // \"leading digits\" pattern fitting a maximum of 3 leading digits.\n // So, after a user inputs 3 digits of a national (significant) phone number\n // this national (significant) number can already be formatted.\n // The next \"leading digits\" pattern is for 4 leading digits max,\n // and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\n // This implementation is different from Google's\n // in that it searches for a fitting format\n // even if the user has entered less than\n // `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\n // Because some leading digit patterns already match for a single first digit.\n\n var leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH;\n\n if (leadingDigitsPatternIndex < 0) {\n leadingDigitsPatternIndex = 0;\n }\n\n this.matchingFormats = this.matchingFormats.filter(function (format) {\n return _this2.formatSuits(format, international, nationalPrefix) && _this2.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);\n }); // If there was a phone number format chosen\n // and it no longer holds given the new leading digits then reset it.\n // The test for this `if` condition is marked as:\n // \"Reset a chosen format when it no longer holds given the new leading digits\".\n // To construct a valid test case for this one can find a country\n // in `PhoneNumberMetadata.xml` yielding one format for 3 ``\n // and yielding another format for 4 `` (Australia in this case).\n\n if (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\n this.resetFormat();\n }\n }\n }, {\n key: \"formatSuits\",\n value: function formatSuits(format, international, nationalPrefix) {\n // When a prefix before a national (significant) number is\n // simply a national prefix, then it's parsed as `this.nationalPrefix`.\n // In more complex cases, a prefix before national (significant) number\n // could include a national prefix as well as some \"capturing groups\",\n // and in that case there's no info whether a national prefix has been parsed.\n // If national prefix is not used when formatting a phone number\n // using this format, but a national prefix has been entered by the user,\n // and was extracted, then discard such phone number format.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\n if (nationalPrefix && !format.usesNationalPrefix() && // !format.domesticCarrierCodeFormattingRule() &&\n !format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\n return false;\n } // If national prefix is mandatory for this phone number format\n // and there're no guarantees that a national prefix is present in user input\n // then discard this phone number format as not suitable.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\n\n\n if (!international && !nationalPrefix && format.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"formatMatches\",\n value: function formatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\n var leadingDigitsPatternsCount = format.leadingDigitsPatterns().length; // If this format is not restricted to a certain\n // leading digits pattern then it fits.\n // The test case could be found by searching for \"leadingDigitsPatternsCount === 0\".\n\n if (leadingDigitsPatternsCount === 0) {\n return true;\n } // Start narrowing down the list of possible formats based on the leading digits.\n // (only previously matched formats take part in the narrowing down process)\n // `leading_digits_patterns` start with 3 digits min\n // and then go up from there one digit at a time.\n\n\n leadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1);\n var leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]; // Google imposes a requirement on the leading digits\n // to be minimum 3 digits long in order to be eligible\n // for checking those with a leading digits pattern.\n //\n // Since `leading_digits_patterns` start with 3 digits min,\n // Google's original `libphonenumber` library only starts\n // excluding any non-matching formats only when the\n // national number entered so far is at least 3 digits long,\n // otherwise format matching would give false negatives.\n //\n // For example, when the digits entered so far are `2`\n // and the leading digits pattern is `21` –\n // it's quite obvious in this case that the format could be the one\n // but due to the absence of further digits it would give false negative.\n //\n // Also, `leading_digits_patterns` doesn't always correspond to a single\n // digits count. For example, `60|8` pattern would already match `8`\n // but the `60` part would require having at least two leading digits,\n // so the whole pattern would require inputting two digits first in order to\n // decide on whether it matches the input, even when the input is \"80\".\n //\n // This library — `libphonenumber-js` — allows filtering by `leading_digits_patterns`\n // even when there's only 1 or 2 digits of the national (significant) number.\n // To do that, it uses a non-strict pattern matcher written specifically for that.\n //\n\n if (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\n // Before leading digits < 3 matching was implemented:\n // return true\n //\n // After leading digits < 3 matching was implemented:\n try {\n return new PatternMatcher(leadingDigitsPattern).match(leadingDigits, {\n allowOverflow: true\n }) !== undefined;\n } catch (error)\n /* istanbul ignore next */\n {\n // There's a slight possibility that there could be some undiscovered bug\n // in the pattern matcher code. Since the \"leading digits < 3 matching\"\n // feature is not \"essential\" for operation, it can fall back to the old way\n // in case of any issues rather than halting the application's execution.\n console.error(error);\n return true;\n }\n } // If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are\n // available then use the usual regular expression matching.\n //\n // The whole pattern is wrapped in round brackets (`()`) because\n // the pattern can use \"or\" operator (`|`) at the top level of the pattern.\n //\n\n\n return new RegExp(\"^(\".concat(leadingDigitsPattern, \")\")).test(leadingDigits);\n }\n }, {\n key: \"getFormatFormat\",\n value: function getFormatFormat(format, international) {\n return international ? format.internationalFormat() : format.format();\n }\n }, {\n key: \"chooseFormat\",\n value: function chooseFormat(state) {\n var _this3 = this;\n\n var _loop = function _loop() {\n var format = _step2.value;\n\n // If this format is currently being used\n // and is still suitable, then stick to it.\n if (_this3.chosenFormat === format) {\n return \"break\";\n } // Sometimes, a formatting rule inserts additional digits in a phone number,\n // and \"as you type\" formatter can't do that: it should only use the digits\n // that the user has input.\n //\n // For example, in Argentina, there's a format for mobile phone numbers:\n //\n // {\n // \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n // \"leading_digits_patterns\": [\"91\"],\n // \"national_prefix_formatting_rule\": \"0$1\",\n // \"format\": \"$2 15-$3-$4\",\n // \"international_format\": \"$1 $2 $3-$4\"\n // }\n //\n // In that format, `international_format` is used instead of `format`\n // because `format` inserts `15` in the formatted number,\n // and `AsYouType` formatter should only use the digits\n // the user has actually input, without adding any extra digits.\n // In this case, it wouldn't make a difference, because the `15`\n // is first stripped when applying `national_prefix_for_parsing`\n // and then re-added when using `format`, so in reality it doesn't\n // add any new digits to the number, but to detect that, the code\n // would have to be more complex: it would have to try formatting\n // the digits using the format and then see if any digits have\n // actually been added or removed, and then, every time a new digit\n // is input, it should re-check whether the chosen format doesn't\n // alter the digits.\n //\n // Google's code doesn't go that far, and so does this library:\n // it simply requires that a `format` doesn't add any additonal\n // digits to user's input.\n //\n // Also, people in general should move from inputting phone numbers\n // in national format (possibly with national prefixes)\n // and use international phone number format instead:\n // it's a logical thing in the modern age of mobile phones,\n // globalization and the internet.\n //\n\n /* istanbul ignore if */\n\n\n if (!NON_ALTERING_FORMAT_REG_EXP.test(_this3.getFormatFormat(format, state.international))) {\n return \"continue\";\n }\n\n if (!_this3.createTemplateForFormat(format, state)) {\n // Remove the format if it can't generate a template.\n _this3.matchingFormats = _this3.matchingFormats.filter(function (_) {\n return _ !== format;\n });\n return \"continue\";\n }\n\n _this3.chosenFormat = format;\n return \"break\";\n };\n\n // When there are multiple available formats, the formatter uses the first\n // format where a formatting template could be created.\n //\n // For some weird reason, `istanbul` says \"else path not taken\"\n // for the `for of` line below. Supposedly that means that\n // the loop doesn't ever go over the last element in the list.\n // That's true because there always is `this.chosenFormat`\n // when `this.matchingFormats` is non-empty.\n // And, for some weird reason, it doesn't think that the case\n // with empty `this.matchingFormats` qualifies for a valid \"else\" path.\n // So simply muting this `istanbul` warning.\n // It doesn't skip the contents of the `for of` loop,\n // it just skips the `for of` line.\n //\n\n /* istanbul ignore next */\n for (var _iterator2 = _createForOfIteratorHelperLoose(this.matchingFormats.slice()), _step2; !(_step2 = _iterator2()).done;) {\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n if (_ret === \"continue\") continue;\n }\n\n if (!this.chosenFormat) {\n // No format matches the national (significant) phone number.\n this.resetFormat();\n }\n\n return this.chosenFormat;\n }\n }, {\n key: \"createTemplateForFormat\",\n value: function createTemplateForFormat(format, state) {\n // The formatter doesn't format numbers when numberPattern contains '|', e.g.\n // (20|3)\\d{4}. In those cases we quickly return.\n // (Though there's no such format in current metadata)\n\n /* istanbul ignore if */\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\n return;\n } // Get formatting template for this phone number format\n\n\n var template = this.getTemplateForFormat(format, state); // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (template) {\n this.setNationalNumberTemplate(template, state);\n return true;\n }\n }\n }, {\n key: \"getSeparatorAfterNationalPrefix\",\n value: function getSeparatorAfterNationalPrefix(format) {\n // `US` metadata doesn't have a `national_prefix_formatting_rule`,\n // so the `if` condition below doesn't apply to `US`,\n // but in reality there shoudl be a separator\n // between a national prefix and a national (significant) number.\n // So `US` national prefix separator is a \"special\" \"hardcoded\" case.\n if (this.isNANP) {\n return ' ';\n } // If a `format` has a `national_prefix_formatting_rule`\n // and that rule has a separator after a national prefix,\n // then it means that there should be a separator\n // between a national prefix and a national (significant) number.\n\n\n if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\n return ' ';\n } // At this point, there seems to be no clear evidence that\n // there should be a separator between a national prefix\n // and a national (significant) number. So don't insert one.\n\n\n return '';\n }\n }, {\n key: \"getInternationalPrefixBeforeCountryCallingCode\",\n value: function getInternationalPrefixBeforeCountryCallingCode(_ref3, options) {\n var IDDPrefix = _ref3.IDDPrefix,\n missingPlus = _ref3.missingPlus;\n\n if (IDDPrefix) {\n return options && options.spacing === false ? IDDPrefix : IDDPrefix + ' ';\n }\n\n if (missingPlus) {\n return '';\n }\n\n return '+';\n }\n }, {\n key: \"getTemplate\",\n value: function getTemplate(state) {\n if (!this.template) {\n return;\n } // `this.template` holds the template for a \"complete\" phone number.\n // The currently entered phone number is most likely not \"complete\",\n // so trim all non-populated digits.\n\n\n var index = -1;\n var i = 0;\n var internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, {\n spacing: false\n }) : '';\n\n while (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\n index = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1);\n i++;\n }\n\n return cutAndStripNonPairedParens(this.template, index + 1);\n }\n }, {\n key: \"setNationalNumberTemplate\",\n value: function setNationalNumberTemplate(template, state) {\n this.nationalNumberTemplate = template;\n this.populatedNationalNumberTemplate = template; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = -1; // For convenience, the public `.template` property\n // contains the whole international number\n // if the phone number being input is international:\n // 'x' for the '+' sign, 'x'es for the country phone code,\n // a spacebar and then the template for the formatted national number.\n\n if (state.international) {\n this.template = this.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) + repeat(DIGIT_PLACEHOLDER, state.callingCode.length) + ' ' + template;\n } else {\n this.template = template;\n }\n }\n /**\r\n * Generates formatting template for a national phone number,\r\n * optionally containing a national prefix, for a format.\r\n * @param {Format} format\r\n * @param {string} nationalPrefix\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplateForFormat\",\n value: function getTemplateForFormat(format, _ref4) {\n var nationalSignificantNumber = _ref4.nationalSignificantNumber,\n international = _ref4.international,\n nationalPrefix = _ref4.nationalPrefix,\n complexPrefixBeforeNationalSignificantNumber = _ref4.complexPrefixBeforeNationalSignificantNumber;\n var pattern = format.pattern();\n /* istanbul ignore else */\n\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\n pattern = pattern // Replace anything in the form of [..] with \\d\n .replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d') // Replace any standalone digit (not the one in `{}`) with \\d\n .replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d');\n } // Generate a dummy national number (consisting of `9`s)\n // that fits this format's `pattern`.\n //\n // This match will always succeed,\n // because the \"longest dummy phone number\"\n // has enough length to accomodate any possible\n // national phone number format pattern.\n //\n\n\n var digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]; // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (nationalSignificantNumber.length > digits.length) {\n return;\n } // Get a formatting template which can be used to efficiently format\n // a partial number where digits are added one by one.\n // Below `strictPattern` is used for the\n // regular expression (with `^` and `$`).\n // This wasn't originally in Google's `libphonenumber`\n // and I guess they don't really need it\n // because they're not using \"templates\" to format phone numbers\n // but I added `strictPattern` after encountering\n // South Korean phone number formatting bug.\n //\n // Non-strict regular expression bug demonstration:\n //\n // this.nationalSignificantNumber : `111111111` (9 digits)\n //\n // pattern : (\\d{2})(\\d{3,4})(\\d{4})\n // format : `$1 $2 $3`\n // digits : `9999999999` (10 digits)\n //\n // '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\n //\n // template : xx xxxx xxxx\n //\n // But the correct template in this case is `xx xxx xxxx`.\n // The template was generated incorrectly because of the\n // `{3,4}` variability in the `pattern`.\n //\n // The fix is, if `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then `this.nationalSignificantNumber`\n // is used instead of `digits`.\n\n\n var strictPattern = new RegExp('^' + pattern + '$');\n var nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT); // If `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then use it\n // instead of `digits`.\n\n if (strictPattern.test(nationalNumberDummyDigits)) {\n digits = nationalNumberDummyDigits;\n }\n\n var numberFormat = this.getFormatFormat(format, international);\n var nationalPrefixIncludedInTemplate; // If a user did input a national prefix (and that's guaranteed),\n // and if a `format` does have a national prefix formatting rule,\n // then see if that national prefix formatting rule\n // prepends exactly the same national prefix the user has input.\n // If that's the case, then use the `format` with the national prefix formatting rule.\n // Otherwise, use the `format` without the national prefix formatting rule,\n // and prepend a national prefix manually to it.\n\n if (this.shouldTryNationalPrefixFormattingRule(format, {\n international: international,\n nationalPrefix: nationalPrefix\n })) {\n var numberFormatWithNationalPrefix = numberFormat.replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()); // If `national_prefix_formatting_rule` of a `format` simply prepends\n // national prefix at the start of a national (significant) number,\n // then such formatting can be used with `AsYouType` formatter.\n // There seems to be no `else` case: everywhere in metadata,\n // national prefix formatting rule is national prefix + $1,\n // or `($1)`, in which case such format isn't even considered\n // when the user has input a national prefix.\n\n /* istanbul ignore else */\n\n if (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\n numberFormat = numberFormatWithNationalPrefix;\n nationalPrefixIncludedInTemplate = true; // Replace all digits of the national prefix in the formatting template\n // with `DIGIT_PLACEHOLDER`s.\n\n if (nationalPrefix) {\n var i = nationalPrefix.length;\n\n while (i > 0) {\n numberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER);\n i--;\n }\n }\n }\n } // Generate formatting template for this phone number format.\n\n\n var template = digits // Format the dummy phone number according to the format.\n .replace(new RegExp(pattern), numberFormat) // Replace each dummy digit with a DIGIT_PLACEHOLDER.\n .replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER); // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then just prepend such prefix\n // before the national (significant) number, optionally spacing\n // the two with a whitespace.\n\n if (!nationalPrefixIncludedInTemplate) {\n if (complexPrefixBeforeNationalSignificantNumber) {\n // Prepend the prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) + ' ' + template;\n } else if (nationalPrefix) {\n // Prepend national prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) + this.getSeparatorAfterNationalPrefix(format) + template;\n }\n }\n\n if (international) {\n template = applyInternationalSeparatorStyle(template);\n }\n\n return template;\n }\n }, {\n key: \"formatNextNationalNumberDigits\",\n value: function formatNextNationalNumberDigits(digits) {\n var result = populateTemplateWithDigits(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, digits);\n\n if (!result) {\n // Reset the format.\n this.resetFormat();\n return;\n }\n\n this.populatedNationalNumberTemplate = result[0];\n this.populatedNationalNumberTemplatePosition = result[1]; // Return the formatted phone number so far.\n\n return cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1); // The old way which was good for `input-format` but is not so good\n // for `react-phone-number-input`'s default input (`InputBasic`).\n // return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\n // \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\n }\n }, {\n key: \"shouldTryNationalPrefixFormattingRule\",\n value: function shouldTryNationalPrefixFormattingRule(format, _ref5) {\n var international = _ref5.international,\n nationalPrefix = _ref5.nationalPrefix;\n\n if (format.nationalPrefixFormattingRule()) {\n // In some countries, `national_prefix_formatting_rule` is `($1)`,\n // so it applies even if the user hasn't input a national prefix.\n // `format.usesNationalPrefix()` detects such cases.\n var usesNationalPrefix = format.usesNationalPrefix();\n\n if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {\n return true;\n }\n }\n }\n }]);\n\n return AsYouTypeFormatter;\n}();\n\nexport { AsYouTypeFormatter as default };\n//# sourceMappingURL=AsYouTypeFormatter.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport _extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants.js';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART = '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i');\nvar VALID_FORMATTED_PHONE_NUMBER_PART = '(?:' + '[' + PLUS_CHARS + ']' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*' + '|' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + ')';\nvar AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp('[^' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + '.*' + '$'); // Tests whether `national_prefix_for_parsing` could match\n// different national prefixes.\n// Matches anything that's not a digit or a square bracket.\n\nvar COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/;\n\nvar AsYouTypeParser = /*#__PURE__*/function () {\n function AsYouTypeParser(_ref) {\n var defaultCountry = _ref.defaultCountry,\n defaultCallingCode = _ref.defaultCallingCode,\n metadata = _ref.metadata,\n onNationalSignificantNumberChange = _ref.onNationalSignificantNumberChange;\n\n _classCallCheck(this, AsYouTypeParser);\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.metadata = metadata;\n this.onNationalSignificantNumberChange = onNationalSignificantNumberChange;\n }\n\n _createClass(AsYouTypeParser, [{\n key: \"input\",\n value: function input(text, state) {\n var _extractFormattedDigi = extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi2 = _slicedToArray(_extractFormattedDigi, 2),\n formattedDigits = _extractFormattedDigi2[0],\n hasPlus = _extractFormattedDigi2[1];\n\n var digits = parseDigits(formattedDigits); // Checks for a special case: just a leading `+` has been entered.\n\n var justLeadingPlus;\n\n if (hasPlus) {\n if (!state.digits) {\n state.startInternationalNumber();\n\n if (!digits) {\n justLeadingPlus = true;\n }\n }\n }\n\n if (digits) {\n this.inputDigits(digits, state);\n }\n\n return {\n digits: digits,\n justLeadingPlus: justLeadingPlus\n };\n }\n /**\r\n * Inputs \"next\" phone number digits.\r\n * @param {string} digits\r\n * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n */\n\n }, {\n key: \"inputDigits\",\n value: function inputDigits(nextDigits, state) {\n var digits = state.digits;\n var hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3; // Append phone number digits.\n\n state.appendDigits(nextDigits); // Attempt to extract IDD prefix:\n // Some users input their phone number in international format,\n // but in an \"out-of-country\" dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers as soon as there're at least 3 digits.\n // Google's library attempts to extract IDD prefix at 3 digits,\n // so this library just copies that behavior.\n // I guess that's because the most commot IDD prefixes are\n // `00` (Europe) and `011` (US).\n // There exist really long IDD prefixes too:\n // for example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n // An IDD prefix is extracted here, and then every time when\n // there's a new digit and the number couldn't be formatted.\n\n if (hasReceivedThreeLeadingDigits) {\n this.extractIddPrefix(state);\n }\n\n if (this.isWaitingForCountryCallingCode(state)) {\n if (!this.extractCountryCallingCode(state)) {\n return;\n }\n } else {\n state.appendNationalSignificantNumberDigits(nextDigits);\n } // If a phone number is being input in international format,\n // then it's not valid for it to have a national prefix.\n // Still, some people incorrectly input such numbers with a national prefix.\n // In such cases, only attempt to strip a national prefix if the number becomes too long.\n // (but that is done later, not here)\n\n\n if (!state.international) {\n if (!this.hasExtractedNationalSignificantNumber) {\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }\n }, {\n key: \"isWaitingForCountryCallingCode\",\n value: function isWaitingForCountryCallingCode(_ref2) {\n var international = _ref2.international,\n callingCode = _ref2.callingCode;\n return international && !callingCode;\n } // Extracts a country calling code from a number\n // being entered in internatonal format.\n\n }, {\n key: \"extractCountryCallingCode\",\n value: function extractCountryCallingCode(state) {\n var _extractCountryCallin = _extractCountryCallingCode('+' + state.getDigitsWithoutInternationalPrefix(), this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n state.setCallingCode(countryCallingCode);\n state.update({\n nationalSignificantNumber: number\n });\n return true;\n }\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan) {\n if (numberingPlan) {\n this.hasSelectedNumberingPlan = true;\n\n var nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing();\n\n this.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing);\n } else {\n this.hasSelectedNumberingPlan = undefined;\n this.couldPossiblyExtractAnotherNationalSignificantNumber = undefined;\n }\n }\n /**\r\n * Extracts a national (significant) number from user input.\r\n * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n * and doesn't apply `national_prefix_transform_rule` after that.\r\n * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n * @return {boolean} [extracted]\r\n */\n\n }, {\n key: \"extractNationalSignificantNumber\",\n value: function extractNationalSignificantNumber(nationalDigits, setState) {\n if (!this.hasSelectedNumberingPlan) {\n return;\n }\n\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe.nationalPrefix,\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n\n if (nationalNumber === nationalDigits) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n /**\r\n * In Google's code this function is called \"attempt to extract longer NDD\".\r\n * \"Some national prefixes are a substring of others\", they say.\r\n * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n */\n\n }, {\n key: \"extractAnotherNationalSignificantNumber\",\n value: function extractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\n if (!this.hasExtractedNationalSignificantNumber) {\n return this.extractNationalSignificantNumber(nationalDigits, setState);\n }\n\n if (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\n return;\n }\n\n var _extractNationalNumbe2 = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe2.nationalPrefix,\n nationalNumber = _extractNationalNumbe2.nationalNumber,\n carrierCode = _extractNationalNumbe2.carrierCode; // If a national prefix has been extracted previously,\n // then it's always extracted as additional digits are added.\n // That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\n // doesn't do anything different from what it currently does.\n // So, just in case, here's this check, though it doesn't occur.\n\n /* istanbul ignore if */\n\n\n if (nationalNumber === prevNationalSignificantNumber) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n }, {\n key: \"onExtractedNationalNumber\",\n value: function onExtractedNationalNumber(nationalPrefix, carrierCode, nationalSignificantNumber, nationalDigits, setState) {\n var complexPrefixBeforeNationalSignificantNumber;\n var nationalSignificantNumberMatchesInput; // This check also works with empty `this.nationalSignificantNumber`.\n\n var nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber); // If the extracted national (significant) number is the\n // last substring of the `digits`, then it means that it hasn't been altered:\n // no digits have been removed from the national (significant) number\n // while applying `national_prefix_transform_rule`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n\n if (nationalSignificantNumberIndex >= 0 && nationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\n nationalSignificantNumberMatchesInput = true; // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then such prefix is stored in\n // `this.complexPrefixBeforeNationalSignificantNumber` property and will be\n // prepended \"as is\" to the national (significant) number to produce\n // a formatted result.\n\n var prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex); // `prefixBeforeNationalNumber` is always non-empty,\n // because `onExtractedNationalNumber()` isn't called\n // when a national (significant) number hasn't been actually \"extracted\":\n // when a national (significant) number is equal to the national part of `digits`,\n // then `onExtractedNationalNumber()` doesn't get called.\n\n if (prefixBeforeNationalNumber !== nationalPrefix) {\n complexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber;\n }\n }\n\n setState({\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode,\n nationalSignificantNumber: nationalSignificantNumber,\n nationalSignificantNumberMatchesInput: nationalSignificantNumberMatchesInput,\n complexPrefixBeforeNationalSignificantNumber: complexPrefixBeforeNationalSignificantNumber\n }); // `onExtractedNationalNumber()` is only called when\n // the national (significant) number actually did change.\n\n this.hasExtractedNationalSignificantNumber = true;\n this.onNationalSignificantNumberChange();\n }\n }, {\n key: \"reExtractNationalSignificantNumber\",\n value: function reExtractNationalSignificantNumber(state) {\n // Attempt to extract a national prefix.\n //\n // Some people incorrectly input national prefix\n // in an international phone number.\n // For example, some people write British phone numbers as `+44(0)...`.\n //\n // Also, in some rare cases, it is valid for a national prefix\n // to be a part of an international phone number.\n // For example, mobile phone numbers in Mexico are supposed to be\n // dialled internationally using a `1` national prefix,\n // so the national prefix will be part of an international number.\n //\n // Quote from:\n // https://www.mexperience.com/dialing-cell-phones-in-mexico/\n //\n // \"Dialing a Mexican cell phone from abroad\n // When you are calling a cell phone number in Mexico from outside Mexico,\n // it’s necessary to dial an additional “1” after Mexico’s country code\n // (which is “52”) and before the area code.\n // You also ignore the 045, and simply dial the area code and the\n // cell phone’s number.\n //\n // If you don’t add the “1”, you’ll receive a recorded announcement\n // asking you to redial using it.\n //\n // For example, if you are calling from the USA to a cell phone\n // in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\n // (Note that this is different to calling a land line in Mexico City\n // from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\n //\n // Google's demo output:\n // https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\n //\n if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, function (stateUpdate) {\n return state.update(stateUpdate);\n })) {\n return true;\n } // If no format matches the phone number, then it could be\n // \"a really long IDD\" (quote from a comment in Google's library).\n // An IDD prefix is first extracted when the user has entered at least 3 digits,\n // and then here — every time when there's a new digit and the number\n // couldn't be formatted.\n // For example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n //\n // Could also check `!hasReceivedThreeLeadingDigits` here\n // to filter out the case when this check duplicates the one\n // already performed when there're 3 leading digits,\n // but it's not a big deal, and in most cases there\n // will be a suitable `format` when there're 3 leading digits.\n //\n\n\n if (this.extractIddPrefix(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n } // Google's AsYouType formatter supports sort of an \"autocorrection\" feature\n // when it \"autocorrects\" numbers that have been input for a country\n // with that country's calling code.\n // Such \"autocorrection\" feature looks weird, but different people have been requesting it:\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n // https://github.com/catamphetamine/libphonenumber-js/issues/375\n // https://github.com/catamphetamine/libphonenumber-js/issues/316\n\n\n if (this.fixMissingPlus(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n }\n }\n }, {\n key: \"extractIddPrefix\",\n value: function extractIddPrefix(state) {\n // An IDD prefix can't be present in a number written with a `+`.\n // Also, don't re-extract an IDD prefix if has already been extracted.\n var international = state.international,\n IDDPrefix = state.IDDPrefix,\n digits = state.digits,\n nationalSignificantNumber = state.nationalSignificantNumber;\n\n if (international || IDDPrefix) {\n return;\n } // Some users input their phone number in \"out-of-country\"\n // dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers.\n\n\n var numberWithoutIDD = stripIddPrefix(digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata);\n\n if (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\n // If an IDD prefix was stripped then convert the IDD-prefixed number\n // to international number for subsequent parsing.\n state.update({\n IDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\n });\n this.startInternationalNumber(state, {\n country: undefined,\n callingCode: undefined\n });\n return true;\n }\n }\n }, {\n key: \"fixMissingPlus\",\n value: function fixMissingPlus(state) {\n if (!state.international) {\n var _extractCountryCallin2 = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(state.digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n newCallingCode = _extractCountryCallin2.countryCallingCode,\n number = _extractCountryCallin2.number;\n\n if (newCallingCode) {\n state.update({\n missingPlus: true\n });\n this.startInternationalNumber(state, {\n country: state.country,\n callingCode: newCallingCode\n });\n return true;\n }\n }\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(state, _ref3) {\n var country = _ref3.country,\n callingCode = _ref3.callingCode;\n state.startInternationalNumber(country, callingCode); // If a national (significant) number has been extracted before, reset it.\n\n if (state.nationalSignificantNumber) {\n state.resetNationalSignificantNumber();\n this.onNationalSignificantNumberChange();\n this.hasExtractedNationalSignificantNumber = undefined;\n }\n }\n }, {\n key: \"extractCallingCodeAndNationalSignificantNumber\",\n value: function extractCallingCodeAndNationalSignificantNumber(state) {\n if (this.extractCountryCallingCode(state)) {\n // `this.extractCallingCode()` is currently called when the number\n // couldn't be formatted during the standard procedure.\n // Normally, the national prefix would be re-extracted\n // for an international number if such number couldn't be formatted,\n // but since it's already not able to be formatted,\n // there won't be yet another retry, so also extract national prefix here.\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }]);\n\n return AsYouTypeParser;\n}();\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\n\n\nexport { AsYouTypeParser as default };\n\nfunction extractFormattedPhoneNumber(text) {\n // Attempt to extract a possible number from the string passed in.\n var startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART);\n\n if (startsAt < 0) {\n return;\n } // Trim everything to the left of the phone number.\n\n\n text = text.slice(startsAt); // Trim the `+`.\n\n var hasPlus;\n\n if (text[0] === '+') {\n hasPlus = true;\n text = text.slice('+'.length);\n } // Trim everything to the right of the phone number.\n\n\n text = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, ''); // Re-add the previously trimmed `+`.\n\n if (hasPlus) {\n text = '+' + text;\n }\n\n return text;\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nfunction _extractFormattedDigitsAndPlus(text) {\n // Extract a formatted phone number part from text.\n var extractedNumber = extractFormattedPhoneNumber(text) || ''; // Trim a `+`.\n\n if (extractedNumber[0] === '+') {\n return [extractedNumber.slice('+'.length), true];\n }\n\n return [extractedNumber];\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nexport function extractFormattedDigitsAndPlus(text) {\n var _extractFormattedDigi3 = _extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi4 = _slicedToArray(_extractFormattedDigi3, 2),\n formattedDigits = _extractFormattedDigi4[0],\n hasPlus = _extractFormattedDigi4[1]; // If the extracted phone number part\n // can possibly be a part of some valid phone number\n // then parse phone number characters from a formatted phone number.\n\n\n if (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\n formattedDigits = '';\n }\n\n return [formattedDigits, hasPlus];\n}\n//# sourceMappingURL=AsYouTypeParser.js.map","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport PhoneNumber from './PhoneNumber.js';\nimport AsYouTypeState from './AsYouTypeState.js';\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.js';\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport getCountryByNationalNumber from './helpers/getCountryByNationalNumber.js';\nimport isObject from './helpers/isObject.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar AsYouType = /*#__PURE__*/function () {\n /**\r\n * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n * @param {Object} metadata\r\n */\n function AsYouType(optionsOrDefaultCountry, metadata) {\n _classCallCheck(this, AsYouType);\n\n this.metadata = new Metadata(metadata);\n\n var _this$getCountryAndCa = this.getCountryAndCallingCode(optionsOrDefaultCountry),\n _this$getCountryAndCa2 = _slicedToArray(_this$getCountryAndCa, 2),\n defaultCountry = _this$getCountryAndCa2[0],\n defaultCallingCode = _this$getCountryAndCa2[1]; // `this.defaultCountry` and `this.defaultCallingCode` aren't required to be in sync.\n // For example, `this.defaultCountry` could be `\"AR\"` and `this.defaultCallingCode` could be `undefined`.\n // So `this.defaultCountry` and `this.defaultCallingCode` are totally independent.\n\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.reset();\n }\n\n _createClass(AsYouType, [{\n key: \"getCountryAndCallingCode\",\n value: function getCountryAndCallingCode(optionsOrDefaultCountry) {\n // Set `defaultCountry` and `defaultCallingCode` options.\n var defaultCountry;\n var defaultCallingCode; // Turns out `null` also has type \"object\". Weird.\n\n if (optionsOrDefaultCountry) {\n if (isObject(optionsOrDefaultCountry)) {\n defaultCountry = optionsOrDefaultCountry.defaultCountry;\n defaultCallingCode = optionsOrDefaultCountry.defaultCallingCode;\n } else {\n defaultCountry = optionsOrDefaultCountry;\n }\n }\n\n if (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\n defaultCountry = undefined;\n }\n\n if (defaultCallingCode) {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n defaultCountry = '001';\n }\n }\n }\n\n return [defaultCountry, defaultCallingCode];\n }\n /**\r\n * Inputs \"next\" phone number characters.\r\n * @param {string} text\r\n * @return {string} Formatted phone number characters that have been input so far.\r\n */\n\n }, {\n key: \"input\",\n value: function input(text) {\n var _this$parser$input = this.parser.input(text, this.state),\n digits = _this$parser$input.digits,\n justLeadingPlus = _this$parser$input.justLeadingPlus;\n\n if (justLeadingPlus) {\n this.formattedOutput = '+';\n } else if (digits) {\n this.determineTheCountryIfNeeded(); // Match the available formats by the currently available leading digits.\n\n if (this.state.nationalSignificantNumber) {\n this.formatter.narrowDownMatchingFormats(this.state);\n }\n\n var formattedNationalNumber;\n\n if (this.metadata.hasSelectedNumberingPlan()) {\n formattedNationalNumber = this.formatter.format(digits, this.state);\n }\n\n if (formattedNationalNumber === undefined) {\n // See if another national (significant) number could be re-extracted.\n if (this.parser.reExtractNationalSignificantNumber(this.state)) {\n this.determineTheCountryIfNeeded(); // If it could, then re-try formatting the new national (significant) number.\n\n var nationalDigits = this.state.getNationalDigits();\n\n if (nationalDigits) {\n formattedNationalNumber = this.formatter.format(nationalDigits, this.state);\n }\n }\n }\n\n this.formattedOutput = formattedNationalNumber ? this.getFullNumber(formattedNationalNumber) : this.getNonFormattedNumber();\n }\n\n return this.formattedOutput;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this = this;\n\n this.state = new AsYouTypeState({\n onCountryChange: function onCountryChange(country) {\n // Before version `1.6.0`, the official `AsYouType` formatter API\n // included the `.country` property of an `AsYouType` instance.\n // Since that property (along with the others) have been moved to\n // `this.state`, `this.country` property is emulated for compatibility\n // with the old versions.\n _this.country = country;\n },\n onCallingCodeChange: function onCallingCodeChange(callingCode, country) {\n _this.metadata.selectNumberingPlan(country, callingCode);\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n\n _this.parser.reset(_this.metadata.numberingPlan);\n }\n });\n this.formatter = new AsYouTypeFormatter({\n state: this.state,\n metadata: this.metadata\n });\n this.parser = new AsYouTypeParser({\n defaultCountry: this.defaultCountry,\n defaultCallingCode: this.defaultCallingCode,\n metadata: this.metadata,\n state: this.state,\n onNationalSignificantNumberChange: function onNationalSignificantNumberChange() {\n _this.determineTheCountryIfNeeded();\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n }\n });\n this.state.reset({\n country: this.defaultCountry,\n callingCode: this.defaultCallingCode\n });\n this.formattedOutput = '';\n return this;\n }\n /**\r\n * Returns `true` if the phone number is being input in international format.\r\n * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isInternational\",\n value: function isInternational() {\n return this.state.international;\n }\n /**\r\n * Returns the \"calling code\" part of the phone number when it's being input\r\n * in an international format.\r\n * If no valid calling code has been entered so far, returns `undefined`.\r\n * @return {string} [callingCode]\r\n */\n\n }, {\n key: \"getCallingCode\",\n value: function getCallingCode() {\n // If the number is being input in national format and some \"default calling code\"\n // has been passed to `AsYouType` constructor, then `this.state.callingCode`\n // is equal to that \"default calling code\".\n //\n // If the number is being input in national format and no \"default calling code\"\n // has been passed to `AsYouType` constructor, then returns `undefined`,\n // even if a \"default country\" has been passed to `AsYouType` constructor.\n //\n if (this.isInternational()) {\n return this.state.callingCode;\n }\n } // A legacy alias.\n\n }, {\n key: \"getCountryCallingCode\",\n value: function getCountryCallingCode() {\n return this.getCallingCode();\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * Returns `undefined` if no phone number has been input yet.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"getCountry\",\n value: function getCountry() {\n var digits = this.state.digits; // Return `undefined` if no digits have been input yet.\n\n if (digits) {\n return this._getCountry();\n }\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"_getCountry\",\n value: function _getCountry() {\n var country = this.state.country;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n // `AsYouType.getCountry()` returns `undefined`\n // for \"non-geographic\" phone numbering plans.\n if (country === '001') {\n return;\n }\n }\n\n return country;\n }\n }, {\n key: \"determineTheCountryIfNeeded\",\n value: function determineTheCountryIfNeeded() {\n // Suppose a user enters a phone number in international format,\n // and there're several countries corresponding to that country calling code,\n // and a country has been derived from the number, and then\n // a user enters one more digit and the number is no longer\n // valid for the derived country, so the country should be re-derived\n // on every new digit in those cases.\n //\n // If the phone number is being input in national format,\n // then it could be a case when `defaultCountry` wasn't specified\n // when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\n // and that \"calling code\" could correspond to a \"non-geographic entity\",\n // or there could be several countries corresponding to that country calling code.\n // In those cases, `this.country` is `undefined` and should be derived\n // from the number. Again, if country calling code is ambiguous, then\n // `this.country` should be re-derived with each new digit.\n //\n if (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\n this.determineTheCountry();\n }\n } // Prepends `+CountryCode ` in case of an international phone number\n\n }, {\n key: \"getFullNumber\",\n value: function getFullNumber(formattedNationalNumber) {\n var _this2 = this;\n\n if (this.isInternational()) {\n var prefix = function prefix(text) {\n return _this2.formatter.getInternationalPrefixBeforeCountryCallingCode(_this2.state, {\n spacing: text ? true : false\n }) + text;\n };\n\n var callingCode = this.state.callingCode;\n\n if (!callingCode) {\n return prefix(\"\".concat(this.state.getDigitsWithoutInternationalPrefix()));\n }\n\n if (!formattedNationalNumber) {\n return prefix(callingCode);\n }\n\n return prefix(\"\".concat(callingCode, \" \").concat(formattedNationalNumber));\n }\n\n return formattedNationalNumber;\n }\n }, {\n key: \"getNonFormattedNationalNumberWithPrefix\",\n value: function getNonFormattedNationalNumberWithPrefix() {\n var _this$state = this.state,\n nationalSignificantNumber = _this$state.nationalSignificantNumber,\n complexPrefixBeforeNationalSignificantNumber = _this$state.complexPrefixBeforeNationalSignificantNumber,\n nationalPrefix = _this$state.nationalPrefix;\n var number = nationalSignificantNumber;\n var prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix;\n\n if (prefix) {\n number = prefix + number;\n }\n\n return number;\n }\n }, {\n key: \"getNonFormattedNumber\",\n value: function getNonFormattedNumber() {\n var nationalSignificantNumberMatchesInput = this.state.nationalSignificantNumberMatchesInput;\n return this.getFullNumber(nationalSignificantNumberMatchesInput ? this.getNonFormattedNationalNumberWithPrefix() : this.state.getNationalDigits());\n }\n }, {\n key: \"getNonFormattedTemplate\",\n value: function getNonFormattedTemplate() {\n var number = this.getNonFormattedNumber();\n\n if (number) {\n return number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER);\n }\n }\n }, {\n key: \"isCountryCallingCodeAmbiguous\",\n value: function isCountryCallingCodeAmbiguous() {\n var callingCode = this.state.callingCode;\n var countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode);\n return countryCodes && countryCodes.length > 1;\n } // Determines the country of the phone number\n // entered so far based on the country phone code\n // and the national phone number.\n\n }, {\n key: \"determineTheCountry\",\n value: function determineTheCountry() {\n this.state.setCountry(getCountryByCallingCode(this.isInternational() ? this.state.callingCode : this.defaultCallingCode, {\n nationalNumber: this.state.nationalSignificantNumber,\n defaultCountry: this.defaultCountry,\n metadata: this.metadata\n }));\n }\n /**\r\n * Returns a E.164 phone number value for the user's input.\r\n *\r\n * For example, for country `\"US\"` and input `\"(222) 333-4444\"`\r\n * it will return `\"+12223334444\"`.\r\n *\r\n * For international phone number input, it will also auto-correct\r\n * some minor errors such as using a national prefix when writing\r\n * an international phone number. For example, if the user inputs\r\n * `\"+44 0 7400 000000\"` then it will return an auto-corrected\r\n * `\"+447400000000\"` phone number value.\r\n *\r\n * Will return `undefined` if no digits have been input,\r\n * or when inputting a phone number in national format and no\r\n * default country or default \"country calling code\" have been set.\r\n *\r\n * @return {string} [value]\r\n */\n\n }, {\n key: \"getNumberValue\",\n value: function getNumberValue() {\n var _this$state2 = this.state,\n digits = _this$state2.digits,\n callingCode = _this$state2.callingCode,\n country = _this$state2.country,\n nationalSignificantNumber = _this$state2.nationalSignificantNumber; // Will return `undefined` if no digits have been input.\n\n if (!digits) {\n return;\n }\n\n if (this.isInternational()) {\n if (callingCode) {\n return '+' + callingCode + nationalSignificantNumber;\n } else {\n return '+' + digits;\n }\n } else {\n if (country || callingCode) {\n var callingCode_ = country ? this.metadata.countryCallingCode() : callingCode;\n return '+' + callingCode_ + nationalSignificantNumber;\n }\n }\n }\n /**\r\n * Returns an instance of `PhoneNumber` class.\r\n * Will return `undefined` if no national (significant) number\r\n * digits have been entered so far, or if no `defaultCountry` has been\r\n * set and the user enters a phone number not in international format.\r\n */\n\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var _this$state3 = this.state,\n nationalSignificantNumber = _this$state3.nationalSignificantNumber,\n carrierCode = _this$state3.carrierCode,\n callingCode = _this$state3.callingCode; // `this._getCountry()` is basically same as `this.state.country`\n // with the only change that it return `undefined` in case of a\n // \"non-geographic\" numbering plan instead of `\"001\"` \"internal use\" value.\n\n var country = this._getCountry();\n\n if (!nationalSignificantNumber) {\n return;\n } // `state.country` and `state.callingCode` aren't required to be in sync.\n // For example, `country` could be `\"AR\"` and `callingCode` could be `undefined`.\n // So `country` and `callingCode` are totally independent.\n\n\n if (!country && !callingCode) {\n return;\n } // By default, if `defaultCountry` parameter was passed when\n // creating `AsYouType` instance, `state.country` is gonna be\n // that `defaultCountry`, which doesn't entirely conform with\n // `parsePhoneNumber()`'s behavior where it attempts to determine\n // the country more precisely in cases when multiple countries\n // could correspond to the same `countryCallingCode`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/103#note_1417192969\n //\n // Because `AsYouType.getNumber()` method is supposed to be a 1:1\n // equivalent for `parsePhoneNumber(AsYouType.getNumberValue())`,\n // then it should also behave accordingly in cases of `country` ambiguity.\n // That's how users of this library would expect it to behave anyway.\n //\n\n\n if (country) {\n if (country === this.defaultCountry) {\n // `state.country` and `state.callingCode` aren't required to be in sync.\n // For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\n // So `state.country` and `state.callingCode` are totally independent.\n var metadata = new Metadata(this.metadata.metadata);\n metadata.selectNumberingPlan(country);\n\n var _callingCode = metadata.numberingPlan.callingCode();\n\n var ambiguousCountries = this.metadata.getCountryCodesForCallingCode(_callingCode);\n\n if (ambiguousCountries.length > 1) {\n var exactCountry = getCountryByNationalNumber(nationalSignificantNumber, {\n countries: ambiguousCountries,\n defaultCountry: this.defaultCountry,\n metadata: this.metadata.metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n }\n }\n }\n }\n\n var phoneNumber = new PhoneNumber(country || callingCode, nationalSignificantNumber, this.metadata.metadata);\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n } // Phone number extensions are not supported by \"As You Type\" formatter.\n\n\n return phoneNumber;\n }\n /**\r\n * Returns `true` if the phone number is \"possible\".\r\n * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isPossible();\n }\n /**\r\n * Returns `true` if the phone number is \"valid\".\r\n * Is just a shortcut for `PhoneNumber.isValid()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isValid\",\n value: function isValid() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isValid();\n }\n /**\r\n * @deprecated\r\n * This method is used in `react-phone-number-input/source/input-control.js`\r\n * in versions before `3.0.16`.\r\n */\n\n }, {\n key: \"getNationalNumber\",\n value: function getNationalNumber() {\n return this.state.nationalSignificantNumber;\n }\n /**\r\n * Returns the phone number characters entered by the user.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getChars\",\n value: function getChars() {\n return (this.state.international ? '+' : '') + this.state.digits;\n }\n /**\r\n * Returns the template for the formatted phone number.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplate\",\n value: function getTemplate() {\n return this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || '';\n }\n }]);\n\n return AsYouType;\n}();\n\nexport { AsYouType as default };\n//# sourceMappingURL=AsYouType.js.map","import PhoneNumber from './PhoneNumber.js';\nexport default function getExampleNumber(country, examples, metadata) {\n if (examples[country]) {\n return new PhoneNumber(country, examples[country], metadata);\n }\n}\n//# sourceMappingURL=getExampleNumber.js.map","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { parsePhoneNumberWithError as _parsePhoneNumberWithError } from '../../core/index.js'\r\n\r\nexport function parsePhoneNumberWithError() {\r\n\treturn withMetadataArgument(_parsePhoneNumberWithError, arguments)\r\n}\r\n","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.max.json.js'\r\n\r\nimport { AsYouType as _AsYouType } from '../../core/index.js'\r\n\r\nexport function AsYouType(country) {\r\n\treturn _AsYouType.call(this, country, metadata)\r\n}\r\n\r\nAsYouType.prototype = Object.create(_AsYouType.prototype, {})\r\nAsYouType.prototype.constructor = AsYouType","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { getCountryCallingCode as _getCountryCallingCode } from '../../core/index.js'\r\n\r\nexport function getCountryCallingCode() {\r\n\treturn withMetadataArgument(_getCountryCallingCode, arguments)\r\n}","// Importing from a \".js\" file is a workaround for Node.js \"ES Modules\"\r\n// importing system which is even uncapable of importing \"*.json\" files.\r\nimport metadata from '../../metadata.max.json.js'\r\n\r\nimport { Metadata as _Metadata } from '../../core/index.js'\r\n\r\nexport function Metadata() {\r\n\treturn _Metadata.call(this, metadata)\r\n}\r\n\r\nMetadata.prototype = Object.create(_Metadata.prototype, {})\r\nMetadata.prototype.constructor = Metadata","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { getExampleNumber as _getExampleNumber } from '../../core/index.js'\r\n\r\nexport function getExampleNumber() {\r\n\treturn withMetadataArgument(_getExampleNumber, arguments)\r\n}","// Array of country objects for the flag dropdown.\nconst allCountries = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1', 5, ['684']],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1', 6, ['264']],\n ['Antigua and Barbuda', 'ag', '1', 7, ['268']],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Ascension Island', 'ac', '247'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1', 8, ['242']],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1', 9, ['246']],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1', 10, ['441']],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1', 11, ['284']],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\n 'ca',\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905'\n ]\n ],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1, ['3', '4', '7']],\n ['Cayman Islands', 'ky', '1', 12, ['345']],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2, ['89164']],\n ['Cocos (Keeling) Islands', 'cc', '61', 1, ['89162']],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1', 13, ['767']],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Eswatini', 'sz', '268'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1', 14, ['473']],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1', 15, ['671']],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1, ['1481', '7781', '7839', '7911']],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2, ['1624', '74576', '7524', '7924', '7624']],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3, ['1534', '7509', '7700', '7797', '7829', '7937']],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1, ['33', '7']],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['North Macedonia (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1, ['269', '639']],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1', 16, ['664']],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1', 17, ['670']],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1', 18, ['869']],\n ['Saint Lucia', 'lc', '1', 19, ['758']],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1', 20, ['784']],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1', 21, ['721']],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1, ['79']],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1', 22, ['868']],\n ['Tristan da Cunha', 'ta', '290'],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1', 23, ['649']],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1', 24, ['340']],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1, ['06698']],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1, ['5288', '5289']],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1, ['18']]\n];\nexport const normalizedCountries = allCountries.map((country) => {\n return {\n id: country[1].toUpperCase(),\n label: `${country[0]} +${country[2]}`,\n name: country[0],\n iso2: country[1].toUpperCase(),\n dialCode: country[2],\n priority: country[3] || 0,\n areaCodes: country[4] || null\n };\n});\n","// This file is a workaround for a bug in web browsers' \"native\"\n// ES6 importing system which is uncapable of importing \"*.json\" files.\n// https://github.com/catamphetamine/libphonenumber-js/issues/239\nexport default { \"AC\": \"40123\", \"AD\": \"312345\", \"AE\": \"501234567\", \"AF\": \"701234567\", \"AG\": \"2684641234\", \"AI\": \"2642351234\", \"AL\": \"672123456\", \"AM\": \"77123456\", \"AO\": \"923123456\", \"AR\": \"91123456789\", \"AS\": \"6847331234\", \"AT\": \"664123456\", \"AU\": \"412345678\", \"AW\": \"5601234\", \"AX\": \"412345678\", \"AZ\": \"401234567\", \"BA\": \"61123456\", \"BB\": \"2462501234\", \"BD\": \"1812345678\", \"BE\": \"470123456\", \"BF\": \"70123456\", \"BG\": \"43012345\", \"BH\": \"36001234\", \"BI\": \"79561234\", \"BJ\": \"90011234\", \"BL\": \"690001234\", \"BM\": \"4413701234\", \"BN\": \"7123456\", \"BO\": \"71234567\", \"BQ\": \"3181234\", \"BR\": \"11961234567\", \"BS\": \"2423591234\", \"BT\": \"17123456\", \"BW\": \"71123456\", \"BY\": \"294911911\", \"BZ\": \"6221234\", \"CA\": \"5062345678\", \"CC\": \"412345678\", \"CD\": \"991234567\", \"CF\": \"70012345\", \"CG\": \"061234567\", \"CH\": \"781234567\", \"CI\": \"0123456789\", \"CK\": \"71234\", \"CL\": \"221234567\", \"CM\": \"671234567\", \"CN\": \"13123456789\", \"CO\": \"3211234567\", \"CR\": \"83123456\", \"CU\": \"51234567\", \"CV\": \"9911234\", \"CW\": \"95181234\", \"CX\": \"412345678\", \"CY\": \"96123456\", \"CZ\": \"601123456\", \"DE\": \"15123456789\", \"DJ\": \"77831001\", \"DK\": \"32123456\", \"DM\": \"7672251234\", \"DO\": \"8092345678\", \"DZ\": \"551234567\", \"EC\": \"991234567\", \"EE\": \"51234567\", \"EG\": \"1001234567\", \"EH\": \"650123456\", \"ER\": \"7123456\", \"ES\": \"612345678\", \"ET\": \"911234567\", \"FI\": \"412345678\", \"FJ\": \"7012345\", \"FK\": \"51234\", \"FM\": \"3501234\", \"FO\": \"211234\", \"FR\": \"612345678\", \"GA\": \"06031234\", \"GB\": \"7400123456\", \"GD\": \"4734031234\", \"GE\": \"555123456\", \"GF\": \"694201234\", \"GG\": \"7781123456\", \"GH\": \"231234567\", \"GI\": \"57123456\", \"GL\": \"221234\", \"GM\": \"3012345\", \"GN\": \"601123456\", \"GP\": \"690001234\", \"GQ\": \"222123456\", \"GR\": \"6912345678\", \"GT\": \"51234567\", \"GU\": \"6713001234\", \"GW\": \"955012345\", \"GY\": \"6091234\", \"HK\": \"51234567\", \"HN\": \"91234567\", \"HR\": \"921234567\", \"HT\": \"34101234\", \"HU\": \"201234567\", \"ID\": \"812345678\", \"IE\": \"850123456\", \"IL\": \"502345678\", \"IM\": \"7924123456\", \"IN\": \"8123456789\", \"IO\": \"3801234\", \"IQ\": \"7912345678\", \"IR\": \"9123456789\", \"IS\": \"6111234\", \"IT\": \"3123456789\", \"JE\": \"7797712345\", \"JM\": \"8762101234\", \"JO\": \"790123456\", \"JP\": \"9012345678\", \"KE\": \"712123456\", \"KG\": \"700123456\", \"KH\": \"91234567\", \"KI\": \"72001234\", \"KM\": \"3212345\", \"KN\": \"8697652917\", \"KP\": \"1921234567\", \"KR\": \"1020000000\", \"KW\": \"50012345\", \"KY\": \"3453231234\", \"KZ\": \"7710009998\", \"LA\": \"2023123456\", \"LB\": \"71123456\", \"LC\": \"7582845678\", \"LI\": \"660234567\", \"LK\": \"712345678\", \"LR\": \"770123456\", \"LS\": \"50123456\", \"LT\": \"61234567\", \"LU\": \"628123456\", \"LV\": \"21234567\", \"LY\": \"912345678\", \"MA\": \"650123456\", \"MC\": \"612345678\", \"MD\": \"62112345\", \"ME\": \"67622901\", \"MF\": \"690001234\", \"MG\": \"321234567\", \"MH\": \"2351234\", \"MK\": \"72345678\", \"ML\": \"65012345\", \"MM\": \"92123456\", \"MN\": \"88123456\", \"MO\": \"66123456\", \"MP\": \"6702345678\", \"MQ\": \"696201234\", \"MR\": \"22123456\", \"MS\": \"6644923456\", \"MT\": \"96961234\", \"MU\": \"52512345\", \"MV\": \"7712345\", \"MW\": \"991234567\", \"MX\": \"12221234567\", \"MY\": \"123456789\", \"MZ\": \"821234567\", \"NA\": \"811234567\", \"NC\": \"751234\", \"NE\": \"93123456\", \"NF\": \"381234\", \"NG\": \"8021234567\", \"NI\": \"81234567\", \"NL\": \"612345678\", \"NO\": \"40612345\", \"NP\": \"9841234567\", \"NR\": \"5551234\", \"NU\": \"8884012\", \"NZ\": \"211234567\", \"OM\": \"92123456\", \"PA\": \"61234567\", \"PE\": \"912345678\", \"PF\": \"87123456\", \"PG\": \"70123456\", \"PH\": \"9051234567\", \"PK\": \"3012345678\", \"PL\": \"512345678\", \"PM\": \"551234\", \"PR\": \"7872345678\", \"PS\": \"599123456\", \"PT\": \"912345678\", \"PW\": \"6201234\", \"PY\": \"961456789\", \"QA\": \"33123456\", \"RE\": \"692123456\", \"RO\": \"712034567\", \"RS\": \"601234567\", \"RU\": \"9123456789\", \"RW\": \"720123456\", \"SA\": \"512345678\", \"SB\": \"7421234\", \"SC\": \"2510123\", \"SD\": \"911231234\", \"SE\": \"701234567\", \"SG\": \"81234567\", \"SH\": \"51234\", \"SI\": \"31234567\", \"SJ\": \"41234567\", \"SK\": \"912123456\", \"SL\": \"25123456\", \"SM\": \"66661212\", \"SN\": \"701234567\", \"SO\": \"71123456\", \"SR\": \"7412345\", \"SS\": \"977123456\", \"ST\": \"9812345\", \"SV\": \"70123456\", \"SX\": \"7215205678\", \"SY\": \"944567890\", \"SZ\": \"76123456\", \"TA\": \"8999\", \"TC\": \"6492311234\", \"TD\": \"63012345\", \"TG\": \"90112345\", \"TH\": \"812345678\", \"TJ\": \"917123456\", \"TK\": \"7290\", \"TL\": \"77212345\", \"TM\": \"66123456\", \"TN\": \"20123456\", \"TO\": \"7715123\", \"TR\": \"5012345678\", \"TT\": \"8682911234\", \"TV\": \"901234\", \"TW\": \"912345678\", \"TZ\": \"621234567\", \"UA\": \"501234567\", \"UG\": \"712345678\", \"US\": \"2015550123\", \"UY\": \"94231234\", \"UZ\": \"912345678\", \"VA\": \"3123456789\", \"VC\": \"7844301234\", \"VE\": \"4121234567\", \"VG\": \"2843001234\", \"VI\": \"3406421234\", \"VN\": \"912345678\", \"VU\": \"5912345\", \"WF\": \"821234\", \"WS\": \"7212345\", \"XK\": \"43201234\", \"YE\": \"712345678\", \"YT\": \"639012345\", \"ZA\": \"711234567\", \"ZM\": \"955123456\", \"ZW\": \"712345678\" };\n","import { AsYouType, Metadata, getCountryCallingCode, getExampleNumber } from 'libphonenumber-js/max';\nimport { examplePhoneNumbers } from '../assets/index.js';\nexport const capitalize = (str) => {\n if (!str)\n return '';\n return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\n};\n// Use carefully, it can be rate limited.\nexport const getCurrentCountry = async () => {\n try {\n const response = await (await fetch('https://ip2c.org/s')).text();\n const result = (response || '').toString();\n if (!result || result[0] !== '1') {\n console.warn('Unable to fetch the country');\n return;\n }\n return result.substring(2, 4);\n }\n catch (error) {\n console.warn('Unable to fetch the country');\n return;\n }\n};\nexport const isNumber = (value) => {\n return typeof value === 'number' && isFinite(value);\n};\nexport const normalizeTelInput = (input) => {\n const filteredResult = Object.fromEntries(Object.entries({\n countryCode: input ? input.country : null,\n isValid: input ? input.isValid() : false,\n isPossible: input ? input.isPossible() : false,\n phoneNumber: input ? input.number : null,\n countryCallingCode: input ? input.countryCallingCode : null,\n formattedNumber: input ? input.formatInternational() : null,\n nationalNumber: input ? input.nationalNumber : null,\n formatInternational: input ? input.formatInternational() : null,\n formatOriginal: input\n ? input\n .formatInternational()\n .slice(input.countryCallingCode.length + 1)\n .trim()\n : null,\n formatNational: input ? input.formatNational() : null,\n uri: input ? input.getURI() : null,\n e164: input ? input.number : null\n }).filter(([, value]) => value !== null));\n return filteredResult;\n};\nexport const generatePlaceholder = (country, { format, spaces } = {\n format: 'national',\n spaces: true\n}) => {\n const examplePhoneNumber = getExampleNumber(country, examplePhoneNumbers);\n if (examplePhoneNumber) {\n switch (format) {\n case 'international':\n return spaces\n ? examplePhoneNumber.formatInternational()\n : examplePhoneNumber.number;\n default:\n return spaces\n ? examplePhoneNumber\n .formatInternational()\n .slice(examplePhoneNumber.countryCallingCode.length + 1)\n .trim()\n : examplePhoneNumber.nationalNumber;\n }\n }\n else {\n throw new Error(`No country found with this country code: ${country}`);\n }\n};\nexport const isSelected = (itemToSelect, selectedItem) => {\n if (!selectedItem) {\n return false;\n }\n if (typeof selectedItem === 'object' && typeof itemToSelect === 'object') {\n return selectedItem.id === itemToSelect.id;\n }\n return itemToSelect === selectedItem;\n};\nexport const getInternationalPhoneNumberPrefix = (country) => {\n const ONLY_DIGITS_REGEXP = /^\\d+$/;\n // Standard international phone number prefix: \"+\" and \"country calling code\".\n let prefix = '+' + getCountryCallingCode(country);\n // Get \"leading digits\" for a phone number of the country.\n // If there're \"leading digits\" then they can be part of the prefix too.\n const newMetadata = new Metadata();\n const leadingDigits = newMetadata.numberingPlan?.leadingDigits();\n if (leadingDigits && ONLY_DIGITS_REGEXP.test(leadingDigits)) {\n prefix += leadingDigits;\n }\n return prefix;\n};\n/**\n * Trims phone number digits if they exceed the maximum possible length\n * for a national (significant) number for the country.\n * @param {string} number - A possibly incomplete phone number digits string. Can be a possibly incomplete E.164 phone number.\n * @param {string} country\n * @return {string} Can be empty.\n */\nexport const trimNumber = (number, country) => {\n const nationalSignificantNumberPart = getNationalSignificantNumberDigits(number, country);\n if (nationalSignificantNumberPart) {\n const overflowDigitsCount = nationalSignificantNumberPart.length - getMaxNumberLength(country);\n if (overflowDigitsCount > 0) {\n return number.slice(0, number.length - overflowDigitsCount);\n }\n }\n return number;\n};\nexport const getMaxNumberLength = (country) => {\n // Get \"possible lengths\" for a phone number of the country.\n const newMetadata = new Metadata();\n newMetadata.selectNumberingPlan(country);\n // Return the last \"possible length\".\n if (newMetadata.numberingPlan) {\n return newMetadata.numberingPlan.possibleLengths()[newMetadata.numberingPlan.possibleLengths().length - 1];\n }\n else {\n throw new Error('There is no metadata object.');\n }\n};\n/**\n * If the phone number being input is an international one\n * then tries to derive the country from the phone number.\n * (regardless of whether there's any country currently selected)\n * @param {string} partialE164Number - A possibly incomplete E.164 phone number.\n * @param {string?} country - Currently selected country.\n * @param {string[]?} countries - A list of available countries. If not passed then \"all countries\" are assumed.\n * @return {string?}\n */\nexport const getCountryForPartialE164Number = (partialE164Number, { country, countries, required } = {}) => {\n if (partialE164Number === '+') {\n // Don't change the currently selected country yet.\n return country;\n }\n const derived_country = getCountryFromPossiblyIncompleteInternationalPhoneNumber(partialE164Number);\n // If a phone number is being input in international form\n // and the country can already be derived from it,\n // then select that country.\n if (derived_country && (!countries || countries.indexOf(derived_country) >= 0)) {\n return derived_country;\n }\n // If \"International\" country option has not been disabled\n // and the international phone number entered doesn't correspond\n // to the currently selected country then reset the currently selected country.\n else if (country && !required && !couldNumberBelongToCountry(partialE164Number, country)) {\n return undefined;\n }\n // Don't change the currently selected country.\n return country;\n};\n/**\n * Determines the country for a given (possibly incomplete) E.164 phone number.\n * @param {string} number - A possibly incomplete E.164 phone number.\n * @return {string?}\n */\nexport const getCountryFromPossiblyIncompleteInternationalPhoneNumber = (number) => {\n const formatter = new AsYouType();\n formatter.input(number);\n // // `001` is a special \"non-geograpical entity\" code\n // // in Google's `libphonenumber` library.\n // if (formatter.getCountry() === '001') {\n // \treturn\n // }\n return formatter.getCountry();\n};\n/**\n * Parses a partially entered national phone number digits\n * (or a partially entered E.164 international phone number)\n * and returns the national significant number part.\n * National significant number returned doesn't come with a national prefix.\n * @param {string} number - National number digits. Or possibly incomplete E.164 phone number.\n * @param {string?} country\n * @return {string} [result]\n */\nexport const getNationalSignificantNumberDigits = (number, country) => {\n // Create \"as you type\" formatter.\n const formatter = new AsYouType(country);\n // Input partial national phone number.\n formatter.input(number);\n // Return the parsed partial national phone number.\n const phoneNumber = formatter.getNumber();\n return phoneNumber && phoneNumber.nationalNumber;\n};\n/**\n * Checks if a partially entered E.164 phone number could belong to a country.\n * @param {string} number\n * @param {CountryCode} country\n * @return {boolean}\n */\nexport const couldNumberBelongToCountry = (number, country) => {\n const intlPhoneNumberPrefix = getInternationalPhoneNumberPrefix(country);\n let i = 0;\n while (i < number.length && i < intlPhoneNumberPrefix.length) {\n if (number[i] !== intlPhoneNumberPrefix[i]) {\n return false;\n }\n i++;\n }\n return true;\n};\nexport const isSupportedCountry = (country, metadata) => {\n return metadata.countries[country] !== undefined;\n};\n/**\n * These mappings map a character (key) to a specific digit that should\n * replace it for normalization purposes.\n * @param {string} character\n * @returns {string}\n */\nexport const allowedCharacters = (character, { spaces } = {\n spaces: true\n}) => {\n const DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '\\uFF10': '0',\n '\\uFF11': '1',\n '\\uFF12': '2',\n '\\uFF13': '3',\n '\\uFF14': '4',\n '\\uFF15': '5',\n '\\uFF16': '6',\n '\\uFF17': '7',\n '\\uFF18': '8',\n '\\uFF19': '9',\n '\\u0660': '0',\n '\\u0661': '1',\n '\\u0662': '2',\n '\\u0663': '3',\n '\\u0664': '4',\n '\\u0665': '5',\n '\\u0666': '6',\n '\\u0667': '7',\n '\\u0668': '8',\n '\\u0669': '9',\n '\\u06F0': '0',\n '\\u06F1': '1',\n '\\u06F2': '2',\n '\\u06F3': '3',\n '\\u06F4': '4',\n '\\u06F5': '5',\n '\\u06F6': '6',\n '\\u06F7': '7',\n '\\u06F8': '8',\n '\\u06F9': '9' // Eastern-Arabic digit 9,\n };\n // Allow spaces\n if (spaces) {\n const regex = new RegExp('[\\\\t\\\\n\\\\v\\\\f\\\\r \\\\u00a0\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u200b\\\\u2028\\\\u2029\\\\u3000]', 'g');\n if (regex.test(character)) {\n return character;\n }\n }\n // Allow digits\n return DIGITS[character];\n};\nexport const inputParser = (text, { allowSpaces, parseCharacter }) => {\n let value = '';\n for (let index = 0; index < text.length; index++) {\n const character = parseCharacter(text[index], value, allowSpaces);\n if (character !== undefined) {\n value += character;\n }\n }\n return value;\n};\nexport const inspectAllowedChars = (character, value, allowSpaces) => {\n // Leading plus is allowed\n if (character === '+') {\n if (!value) {\n return character;\n }\n }\n // Allowed characters\n return allowedCharacters(character, { spaces: allowSpaces });\n};\n","import { inspectAllowedChars, inputParser } from '../../index.js';\nexport const telInputAction = (node, { handler, spaces }) => {\n const onInput = (event) => {\n if (node && node.contains(event.target)) {\n const currentValue = event.target.value;\n const formattedInput = inputParser(currentValue, {\n parseCharacter: inspectAllowedChars,\n allowSpaces: spaces\n });\n node.value = formattedInput;\n handler(formattedInput);\n }\n };\n node.addEventListener('input', onInput, true);\n return {\n update(params) {\n if (params.value === null || params.value === '') {\n node.value = '';\n }\n },\n destroy() {\n node.removeEventListener('input', onInput, true);\n }\n };\n};\n","import {\n\trun_all,\n\tsubscribe,\n\tnoop,\n\tsafe_not_equal,\n\tis_function,\n\tget_store_value\n} from '../internal/index.js';\n\nconst subscriber_queue = [];\n\n/**\n * Creates a `Readable` store that allows reading by subscription.\n *\n * https://svelte.dev/docs/svelte-store#readable\n * @template T\n * @param {T} [value] initial value\n * @param {import('./public.js').StartStopNotifier} [start]\n * @returns {import('./public.js').Readable}\n */\nexport function readable(value, start) {\n\treturn {\n\t\tsubscribe: writable(value, start).subscribe\n\t};\n}\n\n/**\n * Create a `Writable` store that allows both updating and reading by subscription.\n *\n * https://svelte.dev/docs/svelte-store#writable\n * @template T\n * @param {T} [value] initial value\n * @param {import('./public.js').StartStopNotifier} [start]\n * @returns {import('./public.js').Writable}\n */\nexport function writable(value, start = noop) {\n\t/** @type {import('./public.js').Unsubscriber} */\n\tlet stop;\n\t/** @type {Set>} */\n\tconst subscribers = new Set();\n\t/** @param {T} new_value\n\t * @returns {void}\n\t */\n\tfunction set(new_value) {\n\t\tif (safe_not_equal(value, new_value)) {\n\t\t\tvalue = new_value;\n\t\t\tif (stop) {\n\t\t\t\t// store is ready\n\t\t\t\tconst run_queue = !subscriber_queue.length;\n\t\t\t\tfor (const subscriber of subscribers) {\n\t\t\t\t\tsubscriber[1]();\n\t\t\t\t\tsubscriber_queue.push(subscriber, value);\n\t\t\t\t}\n\t\t\t\tif (run_queue) {\n\t\t\t\t\tfor (let i = 0; i < subscriber_queue.length; i += 2) {\n\t\t\t\t\t\tsubscriber_queue[i][0](subscriber_queue[i + 1]);\n\t\t\t\t\t}\n\t\t\t\t\tsubscriber_queue.length = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @param {import('./public.js').Updater} fn\n\t * @returns {void}\n\t */\n\tfunction update(fn) {\n\t\tset(fn(value));\n\t}\n\n\t/**\n\t * @param {import('./public.js').Subscriber} run\n\t * @param {import('./private.js').Invalidator} [invalidate]\n\t * @returns {import('./public.js').Unsubscriber}\n\t */\n\tfunction subscribe(run, invalidate = noop) {\n\t\t/** @type {import('./private.js').SubscribeInvalidateTuple} */\n\t\tconst subscriber = [run, invalidate];\n\t\tsubscribers.add(subscriber);\n\t\tif (subscribers.size === 1) {\n\t\t\tstop = start(set, update) || noop;\n\t\t}\n\t\trun(value);\n\t\treturn () => {\n\t\t\tsubscribers.delete(subscriber);\n\t\t\tif (subscribers.size === 0 && stop) {\n\t\t\t\tstop();\n\t\t\t\tstop = null;\n\t\t\t}\n\t\t};\n\t}\n\treturn { set, update, subscribe };\n}\n\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * https://svelte.dev/docs/svelte-store#derived\n * @template {import('./private.js').Stores} S\n * @template T\n * @overload\n * @param {S} stores - input stores\n * @param {(values: import('./private.js').StoresValues, set: (value: T) => void, update: (fn: import('./public.js').Updater) => void) => import('./public.js').Unsubscriber | void} fn - function callback that aggregates the values\n * @param {T} [initial_value] - initial value\n * @returns {import('./public.js').Readable}\n */\n\n/**\n * Derived value store by synchronizing one or more readable stores and\n * applying an aggregation function over its input values.\n *\n * https://svelte.dev/docs/svelte-store#derived\n * @template {import('./private.js').Stores} S\n * @template T\n * @overload\n * @param {S} stores - input stores\n * @param {(values: import('./private.js').StoresValues) => T} fn - function callback that aggregates the values\n * @param {T} [initial_value] - initial value\n * @returns {import('./public.js').Readable}\n */\n\n/**\n * @template {import('./private.js').Stores} S\n * @template T\n * @param {S} stores\n * @param {Function} fn\n * @param {T} [initial_value]\n * @returns {import('./public.js').Readable}\n */\nexport function derived(stores, fn, initial_value) {\n\tconst single = !Array.isArray(stores);\n\t/** @type {Array>} */\n\tconst stores_array = single ? [stores] : stores;\n\tif (!stores_array.every(Boolean)) {\n\t\tthrow new Error('derived() expects stores as input, got a falsy value');\n\t}\n\tconst auto = fn.length < 2;\n\treturn readable(initial_value, (set, update) => {\n\t\tlet started = false;\n\t\tconst values = [];\n\t\tlet pending = 0;\n\t\tlet cleanup = noop;\n\t\tconst sync = () => {\n\t\t\tif (pending) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcleanup();\n\t\t\tconst result = fn(single ? values[0] : values, set, update);\n\t\t\tif (auto) {\n\t\t\t\tset(result);\n\t\t\t} else {\n\t\t\t\tcleanup = is_function(result) ? result : noop;\n\t\t\t}\n\t\t};\n\t\tconst unsubscribers = stores_array.map((store, i) =>\n\t\t\tsubscribe(\n\t\t\t\tstore,\n\t\t\t\t(value) => {\n\t\t\t\t\tvalues[i] = value;\n\t\t\t\t\tpending &= ~(1 << i);\n\t\t\t\t\tif (started) {\n\t\t\t\t\t\tsync();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tpending |= 1 << i;\n\t\t\t\t}\n\t\t\t)\n\t\t);\n\t\tstarted = true;\n\t\tsync();\n\t\treturn function stop() {\n\t\t\trun_all(unsubscribers);\n\t\t\tcleanup();\n\t\t\t// We need to set this to false because callbacks can still happen despite having unsubscribed:\n\t\t\t// Callbacks might already be placed in the queue which doesn't know it should no longer\n\t\t\t// invoke this derived store.\n\t\t\tstarted = false;\n\t\t};\n\t});\n}\n\n/**\n * Takes a store and returns a new one derived from the old one that is readable.\n *\n * https://svelte.dev/docs/svelte-store#readonly\n * @template T\n * @param {import('./public.js').Readable} store - store to make readonly\n * @returns {import('./public.js').Readable}\n */\nexport function readonly(store) {\n\treturn {\n\t\tsubscribe: store.subscribe.bind(store)\n\t};\n}\n\nexport { get_store_value as get };\n","import { writable } from 'svelte/store';\n// Watch variable changes.\nexport const watcher = (initialValue, watchFunction) => {\n const { subscribe, update } = writable(initialValue);\n return {\n subscribe,\n set: (value) => {\n update((oldvalue) => {\n watchFunction(oldvalue, value);\n return value;\n });\n }\n };\n};\n","\n\n\n","\n\n
\n \n \n {#each normalizedCountries as currentCountry (currentCountry.id)}\n \n {currentCountry.iso2} (+{currentCountry.dialCode})\n \n {/each}\n \n\n \n
\n\n\n{#if canSubmit && detailedValue}\n \n \n{/if}\n","\n\n\n"],"names":["ensure_array_like","array_like_or_iterator","destroy_block","block","lookup","update_keyed_each","old_blocks","dirty","get_key","dynamic","ctx","list","node","destroy","create_each_block","next","get_context","o","n","i","old_indexes","new_blocks","new_lookup","deltas","updates","child_ctx","key","will_move","did_move","insert","transition_in","new_block","old_block","new_key","old_key","run_all","metadata","withMetadataArgument","func","_arguments","args","_typeof","obj","_createClass","Constructor","protoProps","staticProps","_classCallCheck","instance","_inherits","subClass","superClass","_setPrototypeOf","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","result","NewTarget","_possibleConstructorReturn","self","call","_assertThisInitialized","_wrapNativeSuper","Class","_cache","_isNativeFunction","Wrapper","_construct","Parent","a","fn","p","ParseError","_Error","_super","code","_this","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","DASHES","SLASHES","DOTS","WHITESPACE","BRACKETS","TILDES","VALID_PUNCTUATION","PLUS_CHARS","compare","b","pa","pb","na","nb","objectConstructor","isObject","object","_defineProperties","target","props","descriptor","V3","V4","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","validateMetadata","setVersion","_","countryCode","country","callingCode","countryCodes","NumberingPlan","_type","globalMetadataObject","formats","Format","_type2","getType","Type","format","FIRST_GROUP_ONLY_PREFIX_PATTERN","type","types","typeOf","getCountryCallingCode","version","RFC3966_EXTN_PREFIX","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","extLimitAfterExplicitLabel","extLimitAfterLikelyLabel","extLimitAfterAmbiguousChar","extLimitWhenNotSure","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","explicitExtLabels","ambiguousExtLabels","ambiguousSeparator","possibleSeparatorsNumberExtLabelNoComma","autoDiallingAndExtLabelsFound","rfcExtn","explicitExtn","ambiguousExtn","americanStyleExtnWithSuffix","autoDiallingExtn","onlyCommasExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber","number","isViablePhoneNumberStart","EXTN_PATTERN","extractExtension","start","numberWithoutExtension","matches","_createForOfIteratorHelperLoose","allowArrayLike","it","_unsupportedIterableToArray","minLen","_arrayLikeToArray","arr","len","arr2","DIGITS","parseDigit","character","parseDigits","string","_iterator","_step","digit","parseIncompletePhoneNumber","parsePhoneNumberCharacter","prevParsedCharacters","emitEvent","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","actual_length","minimum_length","isPossiblePhoneNumber","input","options","isPossibleNumber","matchesEntirely","text","regular_expression","NON_FIXED_LINE_PHONE_TYPES","getNumberType","isNumberTypeEqualTo","isValidNumber","getPossibleCountriesForNumber","_metadata","possibleCountries","couldNationalNumberBelongToCountry","applyInternationalSeparatorStyle","formattedNumber","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","_ref","useInternationalFormat","withNationalPrefix","SINGLE_IDD_PREFIX_REG_EXP","getIddPrefix","countryMetadata","formatRFC3966","ext","ownKeys","enumerableOnly","keys","symbols","sym","_objectSpread","source","_defineProperty","value","DEFAULT_OPTIONS","extension","formatNumber","countryCallingCode","formatNationalNumber","addExtension","formatIDD","carrierCode","formatAs","chooseFormatForNumber","availableFormats","nationalNnumber","lastLeadingDigitsPattern","formatExtension","fromCountry","fromCountryCallingCode","iddPrefix","PhoneNumber","countryOrCountryCallingCode","_getCountryAndCountry","getCountryAndCountryCallingCode","phoneNumber","_format","isCountryCode","metadataJson","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","nationalPrefix","possiblePositionOfTheFirstCapturedGroup","possibleNationalPrefix","extractNationalNumber","_extractNationalNumbe","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","nationalNumberBefore","nationalNumberAfter","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","_extractNationalNumbe2","extractCountryCallingCode","isNumberWithIddPrefix","numberWithoutIDD","_extractCountryCallin","shorterNumber","_countryCallingCode","getCountryByNationalNumber","nationalPhoneNumber","countries","defaultCountry","matchingCountries","getCountryByCallingCode","PLUS_SIGN","RFC3966_VISUAL_SEPARATOR_","RFC3966_PHONE_DIGIT_","RFC3966_GLOBAL_NUMBER_DIGITS_","RFC3966_GLOBAL_NUMBER_DIGITS_PATTERN_","ALPHANUM_","RFC3966_DOMAINLABEL_","VALID_ALPHA_","RFC3966_TOPLABEL_","RFC3966_DOMAINNAME_","RFC3966_DOMAINNAME_PATTERN_","RFC3966_PREFIX_","RFC3966_PHONE_CONTEXT_","RFC3966_ISDN_SUBADDRESS_","extractPhoneContext","numberToExtractFrom","indexOfPhoneContext","phoneContextStart","phoneContextEnd","isPhoneContextValid","phoneContext","extractFormattedPhoneNumberFromPossibleRfc3966NumberUri","numberToParse","extractFormattedPhoneNumber","phoneNumberString","indexOfRfc3966Prefix","indexOfNationalNumber","indexOfIsdn","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","parse","_parseInput","parseInput","formattedPhoneNumber","error","_parsePhoneNumber","parsePhoneNumber","countryCallingCodeSource","valid","_extractFormattedPhoneNumber","extract","throwOnError","startsAt","v2","withExtensionStripped","defaultCallingCode","exactCountry","parsePhoneNumberWithError","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_i","_arr","_n","_d","_s","_e","err","normalizeArguments","_Array$prototype$slic","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","_normalizeArguments","parsePhoneNumberWithError_","AsYouTypeState","onCountryChange","onCallingCodeChange","_ref2","properties","_Object$keys","nextDigits","DIGIT_PLACEHOLDER","DIGIT_PLACEHOLDER_MATCHER","repeat","times","cutAndStripNonPairedParens","cutBeforeIndex","stripNonPairedParens","dangling_braces","cleared_string","_dangling_braces","index","populateTemplateWithDigits","template","position","digits","_iterator2","_step2","formatCompleteNumber","state","shouldTryNationalPrefixFormattingRule","getSeparatorAfterNationalPrefix","matcher","formatNationalNumberWithAndWithoutNationalPrefixFormattingRule","canFormatCompleteNumber","nationalSignificantNumber","_ref3","useNationalPrefixFormattingRule","formattedNationalNumber","isValidFormattedNationalNumber","PatternParser","pattern","_this$context$","branches","instructions","expandSingleElementArray","context","match","OPERATOR","ILLEGAL_CHARACTER_REGEXP","operator","before","rightPart","_this$getContext","parseOneOfSet","values","prevValue","nextValue","array","PatternMatcher","allowOverflow","_match","characters","tree","last","characterString","restCharacters","subtree","partialMatch","branch","_result","_char","DUMMY_DIGIT","LONGEST_NATIONAL_PHONE_NUMBER_LENGTH","LONGEST_DUMMY_PHONE_NUMBER","NATIONAL_PREFIX_SEPARATORS_PATTERN","CREATE_CHARACTER_CLASS_PATTERN","CREATE_STANDALONE_DIGIT_PATTERN","NON_ALTERING_FORMAT_REG_EXP","MIN_LEADING_DIGITS_LENGTH","AsYouTypeFormatter","numberingPlan","formattedCompleteNumber","previouslyChosenFormat","newlyChosenFormat","_this2","international","leadingDigits","leadingDigitsPatternIndex","leadingDigitsPatternsCount","leadingDigitsPattern","_this3","_loop","_ret","IDDPrefix","missingPlus","internationalPrefix","_ref4","complexPrefixBeforeNationalSignificantNumber","strictPattern","nationalNumberDummyDigits","numberFormat","nationalPrefixIncludedInTemplate","numberFormatWithNationalPrefix","_ref5","usesNationalPrefix","VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART","VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN","VALID_FORMATTED_PHONE_NUMBER_PART","AFTER_PHONE_NUMBER_DIGITS_END_PATTERN","COMPLEX_NATIONAL_PREFIX","AsYouTypeParser","onNationalSignificantNumberChange","_extractFormattedDigi","extractFormattedDigitsAndPlus","_extractFormattedDigi2","formattedDigits","hasPlus","justLeadingPlus","hasReceivedThreeLeadingDigits","stateUpdate","_extractCountryCallingCode","nationalPrefixForParsing","nationalDigits","setState","prevNationalSignificantNumber","nationalSignificantNumberMatchesInput","nationalSignificantNumberIndex","_extractCountryCallin2","newCallingCode","_extractFormattedDigitsAndPlus","extractedNumber","_extractFormattedDigi3","_extractFormattedDigi4","AsYouType","optionsOrDefaultCountry","_this$getCountryAndCa","_this$getCountryAndCa2","_this$parser$input","prefix","_this$state","_this$state2","callingCode_","_this$state3","_callingCode","ambiguousCountries","getExampleNumber","examples","_parsePhoneNumberWithError","_AsYouType","_getCountryCallingCode","_Metadata","_getExampleNumber","allCountries","normalizedCountries","examplePhoneNumbers","normalizeTelInput","generatePlaceholder","spaces","examplePhoneNumber","getInternationalPhoneNumberPrefix","ONLY_DIGITS_REGEXP","_a","getCountryForPartialE164Number","partialE164Number","required","derived_country","getCountryFromPossiblyIncompleteInternationalPhoneNumber","couldNumberBelongToCountry","formatter","intlPhoneNumberPrefix","allowedCharacters","inputParser","allowSpaces","parseCharacter","inspectAllowedChars","telInputAction","handler","onInput","event","currentValue","formattedInput","params","subscriber_queue","writable","noop","stop","subscribers","set","new_value","safe_not_equal","run_queue","subscriber","update","subscribe","run","invalidate","watcher","initialValue","watchFunction","oldvalue","anchor","dispatch","createEventDispatcher","defaultOptions","autocomplete","$$props","classes","disabled","id","name","placeholder","readonly","size","detailedValue","inputValue","prevCountry","combinedOptions","handleInputAction","value2","handleParsePhoneNumber","updateCountry","$$invalidate","currCountry","numberHasCountry","formatOption","formattedValue","countryWatchInitRun","countryChangeWatch","onMount","set_store_value","$countryChangeWatch","getPlaceholder","t0_value","t2_value","option","input0","input0_value_value","input1","input1_value_value","if_block","create_if_block","option_hidden_value","add_render_callback","select","div","append","current","telinput_changes","debouncePeriod","formInputNameE164","formInputNameCountryCode","saveEventName","componentID","debounceTimer","afterUpdate","canSubmit","dispatchSelectedEvent","dropdownElement","customEvent","select_value"],"mappings":"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AI,EAAE,GAAK,CAAC,KAAK,KAAK,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,GAAK,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,KAAK,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,EAAE,IAAM,CAAC,IAAI,CAAC,EAAE,UA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GAAM,QAAS,GAAM,UAAW,GAAM,SAAU,GAAM,YAAa,GAAM,WAAY,GAAM,aAAc,GAAM,aAAc,GAAM,YAAa,GAAM,YAAa,GAAM,aAAc,GAAM,YAAa,GAAM,WAAY,GAAM,SAAU,GAAM,UAAW,GAAM,YAAa,GAAM,YAAa,GAAM,YAAa,GAAM,aAAc,GAAM,WAAY,GAAM,aAAc,GAAM,YAAa,GAAM,UAAW,GAAM,WAAY,GAAM,WAAY,GAAM,YAAa,GAAM,WAAY,GAAM,YAAa,GAAM,YAAa,GAAM,YAAa,GAAM,YAAa,GAAM,aAAc,GAAM,aAAc,GAAM,UAAW,GAAM,aAAc,GAAM,aAAc,GAAM,UAAW,GAAM,aAAc,GAAM,aAAc,GAAM,aAAc,GAAM,YAAa,GAAM,aAAc,GAAM,YAAa,GAAM,YAAa,GAAM,WAAY,GAAM,WAAY,GAAM,UAAW,GAAM,aAAc,GAAM,aAAc,GAAM,aAAc,GAAM,WAAY,GAAM,aAAc,GAAM,aAAc,GAAM,aAAc,GAAM,WAAY,GAAM,aAAc,GAAM,YAAa,GAAM,YAAa,GAAM,YAAa,GAAM,WAAY,GAAM,WAAY,GAAM,YAAa,GAAM,WAAY,GAAM,YAAa,GAAM,YAAa,GAAM,YAAa,GAAM,WAAY,GAAM,WAAY,GAAM,YAAa,GAAM,YAAa,GAAM,UAAW,GAAM,WAAY,GAAM,WAAY,GAAM,WAAY,GAAM,WAAY,GAAM,WAAY,GAAM,aAAc,GAAM,YAAa,GAAM,WAAY,GAAM,aAAc,GAAM,WAAY,GAAM,WAAY,GAAM,UAAW,GAAM,YAAa,GAAM,cAAe,GAAM,YAAa,GAAM,YAAa,GAAM,YAAa,GAAM,SAAU,GAAM,WAAY,GAAM,SAAU,GAAM,aAAc,GAAM,WAAY,GAAM,YAAa,GAAM,WAAY,GAAM,aAAc,GAAM,UAAW,GAAM,UAAW,GAAM,YAAa,GAAM,WAAY,GAAM,WAAY,GAAM,YAAa,GAAM,WAAY,GAAM,WAAY,GAAM,aAAc,GAAM,aAAc,GAAM,YAAa,GAAM,SAAU,GAAM,aAAc,GAAM,YAAa,GAAM,YAAa,GAAM,UAAW,GAAM,YAAa,GAAM,WAAY,GAAM,YAAa,GAAM,YAAa,GAAM,YAAa,GAAM,aAAc,GAAM,YAAa,GAAM,YAAa,GAAM,UAAW,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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58]} \ No newline at end of file diff --git a/app/static/islands/PhoneNumberPicker-CdxQitTc.js b/app/static/islands/PhoneNumberPicker-CdxQitTc.js new file mode 100644 index 00000000..87a42f06 --- /dev/null +++ b/app/static/islands/PhoneNumberPicker-CdxQitTc.js @@ -0,0 +1,2 @@ +import"./ThemeToggle-IHki7fMi.js";const i=[["Afghanistan (‫افغانستان‬‎)","af","93"],["Albania (Shqipëri)","al","355"],["Algeria (‫الجزائر‬‎)","dz","213"],["American Samoa","as","1",5,["684"]],["Andorra","ad","376"],["Angola","ao","244"],["Anguilla","ai","1",6,["264"]],["Antigua and Barbuda","ag","1",7,["268"]],["Argentina","ar","54"],["Armenia (Հայաստան)","am","374"],["Aruba","aw","297"],["Ascension Island","ac","247"],["Australia","au","61",0],["Austria (Österreich)","at","43"],["Azerbaijan (Azərbaycan)","az","994"],["Bahamas","bs","1",8,["242"]],["Bahrain (‫البحرين‬‎)","bh","973"],["Bangladesh (বাংলাদেশ)","bd","880"],["Barbados","bb","1",9,["246"]],["Belarus (Беларусь)","by","375"],["Belgium (België)","be","32"],["Belize","bz","501"],["Benin (Bénin)","bj","229"],["Bermuda","bm","1",10,["441"]],["Bhutan (འབྲུག)","bt","975"],["Bolivia","bo","591"],["Bosnia and Herzegovina (Босна и Херцеговина)","ba","387"],["Botswana","bw","267"],["Brazil (Brasil)","br","55"],["British Indian Ocean Territory","io","246"],["British Virgin Islands","vg","1",11,["284"]],["Brunei","bn","673"],["Bulgaria (България)","bg","359"],["Burkina Faso","bf","226"],["Burundi (Uburundi)","bi","257"],["Cambodia (កម្ពុជា)","kh","855"],["Cameroon (Cameroun)","cm","237"],["Canada","ca","1",1,["204","226","236","249","250","289","306","343","365","387","403","416","418","431","437","438","450","506","514","519","548","579","581","587","604","613","639","647","672","705","709","742","778","780","782","807","819","825","867","873","902","905"]],["Cape Verde (Kabu Verdi)","cv","238"],["Caribbean Netherlands","bq","599",1,["3","4","7"]],["Cayman Islands","ky","1",12,["345"]],["Central African Republic (République centrafricaine)","cf","236"],["Chad (Tchad)","td","235"],["Chile","cl","56"],["China (中国)","cn","86"],["Christmas Island","cx","61",2,["89164"]],["Cocos (Keeling) Islands","cc","61",1,["89162"]],["Colombia","co","57"],["Comoros (‫جزر القمر‬‎)","km","269"],["Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)","cd","243"],["Congo (Republic) (Congo-Brazzaville)","cg","242"],["Cook Islands","ck","682"],["Costa Rica","cr","506"],["Côte d’Ivoire","ci","225"],["Croatia (Hrvatska)","hr","385"],["Cuba","cu","53"],["Curaçao","cw","599",0],["Cyprus (Κύπρος)","cy","357"],["Czech Republic (Česká republika)","cz","420"],["Denmark (Danmark)","dk","45"],["Djibouti","dj","253"],["Dominica","dm","1",13,["767"]],["Dominican Republic (República Dominicana)","do","1",2,["809","829","849"]],["Ecuador","ec","593"],["Egypt (‫مصر‬‎)","eg","20"],["El Salvador","sv","503"],["Equatorial Guinea (Guinea Ecuatorial)","gq","240"],["Eritrea","er","291"],["Estonia (Eesti)","ee","372"],["Eswatini","sz","268"],["Ethiopia","et","251"],["Falkland Islands (Islas Malvinas)","fk","500"],["Faroe Islands (Føroyar)","fo","298"],["Fiji","fj","679"],["Finland (Suomi)","fi","358",0],["France","fr","33"],["French Guiana (Guyane française)","gf","594"],["French Polynesia (Polynésie française)","pf","689"],["Gabon","ga","241"],["Gambia","gm","220"],["Georgia (საქართველო)","ge","995"],["Germany (Deutschland)","de","49"],["Ghana (Gaana)","gh","233"],["Gibraltar","gi","350"],["Greece (Ελλάδα)","gr","30"],["Greenland (Kalaallit Nunaat)","gl","299"],["Grenada","gd","1",14,["473"]],["Guadeloupe","gp","590",0],["Guam","gu","1",15,["671"]],["Guatemala","gt","502"],["Guernsey","gg","44",1,["1481","7781","7839","7911"]],["Guinea (Guinée)","gn","224"],["Guinea-Bissau (Guiné Bissau)","gw","245"],["Guyana","gy","592"],["Haiti","ht","509"],["Honduras","hn","504"],["Hong Kong (香港)","hk","852"],["Hungary (Magyarország)","hu","36"],["Iceland (Ísland)","is","354"],["India (भारत)","in","91"],["Indonesia","id","62"],["Iran (‫ایران‬‎)","ir","98"],["Iraq (‫العراق‬‎)","iq","964"],["Ireland","ie","353"],["Isle of Man","im","44",2,["1624","74576","7524","7924","7624"]],["Israel (‫ישראל‬‎)","il","972"],["Italy (Italia)","it","39",0],["Jamaica","jm","1",4,["876","658"]],["Japan (日本)","jp","81"],["Jersey","je","44",3,["1534","7509","7700","7797","7829","7937"]],["Jordan (‫الأردن‬‎)","jo","962"],["Kazakhstan (Казахстан)","kz","7",1,["33","7"]],["Kenya","ke","254"],["Kiribati","ki","686"],["Kosovo","xk","383"],["Kuwait (‫الكويت‬‎)","kw","965"],["Kyrgyzstan (Кыргызстан)","kg","996"],["Laos (ລາວ)","la","856"],["Latvia (Latvija)","lv","371"],["Lebanon (‫لبنان‬‎)","lb","961"],["Lesotho","ls","266"],["Liberia","lr","231"],["Libya (‫ليبيا‬‎)","ly","218"],["Liechtenstein","li","423"],["Lithuania (Lietuva)","lt","370"],["Luxembourg","lu","352"],["Macau (澳門)","mo","853"],["North Macedonia (Македонија)","mk","389"],["Madagascar (Madagasikara)","mg","261"],["Malawi","mw","265"],["Malaysia","my","60"],["Maldives","mv","960"],["Mali","ml","223"],["Malta","mt","356"],["Marshall Islands","mh","692"],["Martinique","mq","596"],["Mauritania (‫موريتانيا‬‎)","mr","222"],["Mauritius (Moris)","mu","230"],["Mayotte","yt","262",1,["269","639"]],["Mexico (México)","mx","52"],["Micronesia","fm","691"],["Moldova (Republica Moldova)","md","373"],["Monaco","mc","377"],["Mongolia (Монгол)","mn","976"],["Montenegro (Crna Gora)","me","382"],["Montserrat","ms","1",16,["664"]],["Morocco (‫المغرب‬‎)","ma","212",0],["Mozambique (Moçambique)","mz","258"],["Myanmar (Burma) (မြန်မာ)","mm","95"],["Namibia (Namibië)","na","264"],["Nauru","nr","674"],["Nepal (नेपाल)","np","977"],["Netherlands (Nederland)","nl","31"],["New Caledonia (Nouvelle-Calédonie)","nc","687"],["New Zealand","nz","64"],["Nicaragua","ni","505"],["Niger (Nijar)","ne","227"],["Nigeria","ng","234"],["Niue","nu","683"],["Norfolk Island","nf","672"],["North Korea (조선 민주주의 인민 공화국)","kp","850"],["Northern Mariana Islands","mp","1",17,["670"]],["Norway (Norge)","no","47",0],["Oman (‫عُمان‬‎)","om","968"],["Pakistan (‫پاکستان‬‎)","pk","92"],["Palau","pw","680"],["Palestine (‫فلسطين‬‎)","ps","970"],["Panama (Panamá)","pa","507"],["Papua New Guinea","pg","675"],["Paraguay","py","595"],["Peru (Perú)","pe","51"],["Philippines","ph","63"],["Poland (Polska)","pl","48"],["Portugal","pt","351"],["Puerto Rico","pr","1",3,["787","939"]],["Qatar (‫قطر‬‎)","qa","974"],["Réunion (La Réunion)","re","262",0],["Romania (România)","ro","40"],["Russia (Россия)","ru","7",0],["Rwanda","rw","250"],["Saint Barthélemy","bl","590",1],["Saint Helena","sh","290"],["Saint Kitts and Nevis","kn","1",18,["869"]],["Saint Lucia","lc","1",19,["758"]],["Saint Martin (Saint-Martin (partie française))","mf","590",2],["Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)","pm","508"],["Saint Vincent and the Grenadines","vc","1",20,["784"]],["Samoa","ws","685"],["San Marino","sm","378"],["São Tomé and Príncipe (São Tomé e Príncipe)","st","239"],["Saudi Arabia (‫المملكة العربية السعودية‬‎)","sa","966"],["Senegal (Sénégal)","sn","221"],["Serbia (Србија)","rs","381"],["Seychelles","sc","248"],["Sierra Leone","sl","232"],["Singapore","sg","65"],["Sint Maarten","sx","1",21,["721"]],["Slovakia (Slovensko)","sk","421"],["Slovenia (Slovenija)","si","386"],["Solomon Islands","sb","677"],["Somalia (Soomaaliya)","so","252"],["South Africa","za","27"],["South Korea (대한민국)","kr","82"],["South Sudan (‫جنوب السودان‬‎)","ss","211"],["Spain (España)","es","34"],["Sri Lanka (ශ්‍රී ලංකාව)","lk","94"],["Sudan (‫السودان‬‎)","sd","249"],["Suriname","sr","597"],["Svalbard and Jan Mayen","sj","47",1,["79"]],["Sweden (Sverige)","se","46"],["Switzerland (Schweiz)","ch","41"],["Syria (‫سوريا‬‎)","sy","963"],["Taiwan (台灣)","tw","886"],["Tajikistan","tj","992"],["Tanzania","tz","255"],["Thailand (ไทย)","th","66"],["Timor-Leste","tl","670"],["Togo","tg","228"],["Tokelau","tk","690"],["Tonga","to","676"],["Trinidad and Tobago","tt","1",22,["868"]],["Tristan da Cunha","ta","290"],["Tunisia (‫تونس‬‎)","tn","216"],["Turkey (Türkiye)","tr","90"],["Turkmenistan","tm","993"],["Turks and Caicos Islands","tc","1",23,["649"]],["Tuvalu","tv","688"],["U.S. Virgin Islands","vi","1",24,["340"]],["Uganda","ug","256"],["Ukraine (Україна)","ua","380"],["United Arab Emirates (‫الإمارات العربية المتحدة‬‎)","ae","971"],["United Kingdom","gb","44",0],["United States","us","1",0],["Uruguay","uy","598"],["Uzbekistan (Oʻzbekiston)","uz","998"],["Vanuatu","vu","678"],["Vatican City (Città del Vaticano)","va","39",1,["06698"]],["Venezuela","ve","58"],["Vietnam (Việt Nam)","vn","84"],["Wallis and Futuna (Wallis-et-Futuna)","wf","681"],["Western Sahara (‫الصحراء الغربية‬‎)","eh","212",1,["5288","5289"]],["Yemen (‫اليمن‬‎)","ye","967"],["Zambia","zm","260"],["Zimbabwe","zw","263"],["Åland Islands","ax","358",1,["18"]]];i.map(a=>({id:a[1].toUpperCase(),label:`${a[0]} +${a[2]}`,name:a[0],iso2:a[1].toUpperCase(),dialCode:a[2],priority:a[3]||0,areaCodes:a[4]||null})); +//# sourceMappingURL=PhoneNumberPicker-CdxQitTc.js.map diff --git a/app/static/islands/PhoneNumberPicker-CdxQitTc.js.map b/app/static/islands/PhoneNumberPicker-CdxQitTc.js.map new file mode 100644 index 00000000..99835e99 --- /dev/null +++ b/app/static/islands/PhoneNumberPicker-CdxQitTc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PhoneNumberPicker-CdxQitTc.js","sources":["../../../frontend/node_modules/svelte-tel-input/dist/assets/allCountry.js"],"sourcesContent":["// Array of country objects for the flag dropdown.\nconst allCountries = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1', 5, ['684']],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1', 6, ['264']],\n ['Antigua and Barbuda', 'ag', '1', 7, ['268']],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Ascension Island', 'ac', '247'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1', 8, ['242']],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1', 9, ['246']],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1', 10, ['441']],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1', 11, ['284']],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\n 'ca',\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905'\n ]\n ],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1, ['3', '4', '7']],\n ['Cayman Islands', 'ky', '1', 12, ['345']],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2, ['89164']],\n ['Cocos (Keeling) Islands', 'cc', '61', 1, ['89162']],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1', 13, ['767']],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Eswatini', 'sz', '268'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1', 14, ['473']],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1', 15, ['671']],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1, ['1481', '7781', '7839', '7911']],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2, ['1624', '74576', '7524', '7924', '7624']],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3, ['1534', '7509', '7700', '7797', '7829', '7937']],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1, ['33', '7']],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['North Macedonia (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1, ['269', '639']],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1', 16, ['664']],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1', 17, ['670']],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1', 18, ['869']],\n ['Saint Lucia', 'lc', '1', 19, ['758']],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1', 20, ['784']],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1', 21, ['721']],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1, ['79']],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1', 22, ['868']],\n ['Tristan da Cunha', 'ta', '290'],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1', 23, ['649']],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1', 24, ['340']],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1, ['06698']],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1, ['5288', '5289']],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1, ['18']]\n];\nexport const normalizedCountries = allCountries.map((country) => {\n return {\n id: country[1].toUpperCase(),\n label: `${country[0]} +${country[2]}`,\n name: country[0],\n iso2: country[1].toUpperCase(),\n dialCode: country[2],\n priority: country[3] || 0,\n areaCodes: country[4] || null\n };\n});\n"],"names":["allCountries","country"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/app/static/islands/PhotoUploader-DhZp_e5E.js b/app/static/islands/PhotoUploader-DhZp_e5E.js new file mode 100644 index 00000000..b49b14e3 --- /dev/null +++ b/app/static/islands/PhotoUploader-DhZp_e5E.js @@ -0,0 +1,11 @@ +import"./ThemeToggle-IHki7fMi.js";/*! + * Cropper.js v1.6.1 + * https://fengyuanchen.github.io/cropperjs + * + * Copyright 2015-present Chen Fengyuan + * Released under the MIT license + * + * Date: 2023-09-17T03:44:19.860Z + */function kt(a,t){var e=Object.keys(a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(a);t&&(i=i.filter(function(o){return Object.getOwnPropertyDescriptor(a,o).enumerable})),e.push.apply(e,i)}return e}function Zt(a){for(var t=1;ta.length)&&(t=a.length);for(var e=0,i=new Array(t);e
',Ii=Number.isNaN||P.isNaN;function u(a){return typeof a=="number"&&!Ii(a)}var Ft=function(t){return t>0&&t<1/0};function gt(a){return typeof a>"u"}function F(a){return vt(a)==="object"&&a!==null}var Li=Object.prototype.hasOwnProperty;function Q(a){if(!F(a))return!1;try{var t=a.constructor,e=t.prototype;return t&&e&&Li.call(e,"isPrototypeOf")}catch{return!1}}function A(a){return typeof a=="function"}var Bi=Array.prototype.slice;function hi(a){return Array.from?Array.from(a):Bi.call(a)}function E(a,t){return a&&A(t)&&(Array.isArray(a)||u(a.length)?hi(a).forEach(function(e,i){t.call(a,e,i,a)}):F(a)&&Object.keys(a).forEach(function(e){t.call(a,a[e],e,a)})),a}var x=Object.assign||function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),o=1;o0&&i.forEach(function(r){F(r)&&Object.keys(r).forEach(function(n){t[n]=r[n]})}),t},_i=/\.\d*(?:0|9){12}\d*$/;function J(a){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return _i.test(a)?Math.round(a*t)/t:a}var ki=/^width|height|left|top|marginLeft|marginTop$/;function W(a,t){var e=a.style;E(t,function(i,o){ki.test(o)&&u(i)&&(i="".concat(i,"px")),e[o]=i})}function Pi(a,t){return a.classList?a.classList.contains(t):a.className.indexOf(t)>-1}function O(a,t){if(t){if(u(a.length)){E(a,function(i){O(i,t)});return}if(a.classList){a.classList.add(t);return}var e=a.className.trim();e?e.indexOf(t)<0&&(a.className="".concat(e," ").concat(t)):a.className=t}}function k(a,t){if(t){if(u(a.length)){E(a,function(e){k(e,t)});return}if(a.classList){a.classList.remove(t);return}a.className.indexOf(t)>=0&&(a.className=a.className.replace(t,""))}}function Z(a,t,e){if(t){if(u(a.length)){E(a,function(i){Z(i,t,e)});return}e?O(a,t):k(a,t)}}var Yi=/([a-z\d])([A-Z])/g;function Rt(a){return a.replace(Yi,"$1-$2").toLowerCase()}function Ct(a,t){return F(a[t])?a[t]:a.dataset?a.dataset[t]:a.getAttribute("data-".concat(Rt(t)))}function st(a,t,e){F(e)?a[t]=e:a.dataset?a.dataset[t]=e:a.setAttribute("data-".concat(Rt(t)),e)}function Xi(a,t){if(F(a[t]))try{delete a[t]}catch{a[t]=void 0}else if(a.dataset)try{delete a.dataset[t]}catch{a.dataset[t]=void 0}else a.removeAttribute("data-".concat(Rt(t)))}var ci=/\s\s*/,li=function(){var a=!1;if(dt){var t=!1,e=function(){},i=Object.defineProperty({},"once",{get:function(){return a=!0,t},set:function(r){t=r}});P.addEventListener("test",e,i),P.removeEventListener("test",e,i)}return a}();function B(a,t,e){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=e;t.trim().split(ci).forEach(function(r){if(!li){var n=a.listeners;n&&n[r]&&n[r][e]&&(o=n[r][e],delete n[r][e],Object.keys(n[r]).length===0&&delete n[r],Object.keys(n).length===0&&delete a.listeners)}a.removeEventListener(r,o,i)})}function L(a,t,e){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},o=e;t.trim().split(ci).forEach(function(r){if(i.once&&!li){var n=a.listeners,s=n===void 0?{}:n;o=function(){delete s[r][e],a.removeEventListener(r,o,i);for(var l=arguments.length,h=new Array(l),c=0;cMath.abs(e)&&(e=f)})}),e}function lt(a,t){var e=a.pageX,i=a.pageY,o={endX:e,endY:i};return t?o:Zt({startX:e,startY:i},o)}function Wi(a){var t=0,e=0,i=0;return E(a,function(o){var r=o.startX,n=o.startY;t+=r,e+=n,i+=1}),t/=i,e/=i,{pageX:t,pageY:e}}function U(a){var t=a.aspectRatio,e=a.height,i=a.width,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",r=Ft(i),n=Ft(e);if(r&&n){var s=e*t;o==="contain"&&s>i||o==="cover"&&s90?{width:d,height:s}:{width:s,height:d}}function ji(a,t,e,i){var o=t.aspectRatio,r=t.naturalWidth,n=t.naturalHeight,s=t.rotate,d=s===void 0?0:s,l=t.scaleX,h=l===void 0?1:l,c=t.scaleY,f=c===void 0?1:c,m=e.aspectRatio,g=e.naturalWidth,b=e.naturalHeight,v=i.fillColor,M=v===void 0?"transparent":v,C=i.imageSmoothingEnabled,D=C===void 0?!0:C,Y=i.imageSmoothingQuality,R=Y===void 0?"low":Y,p=i.maxWidth,w=p===void 0?1/0:p,T=i.maxHeight,I=T===void 0?1/0:T,X=i.minWidth,j=X===void 0?0:X,V=i.minHeight,z=V===void 0?0:V,_=document.createElement("canvas"),N=_.getContext("2d"),G=U({aspectRatio:m,width:w,height:I}),ht=U({aspectRatio:m,width:j,height:z},"cover"),pt=Math.min(G.width,Math.max(ht.width,g)),ut=Math.min(G.height,Math.max(ht.height,b)),It=U({aspectRatio:o,width:w,height:I}),Lt=U({aspectRatio:o,width:j,height:z},"cover"),Bt=Math.min(It.width,Math.max(Lt.width,r)),_t=Math.min(It.height,Math.max(Lt.height,n)),pi=[-Bt/2,-_t/2,Bt,_t];return _.width=J(pt),_.height=J(ut),N.fillStyle=M,N.fillRect(0,0,pt,ut),N.save(),N.translate(pt/2,ut/2),N.rotate(d*Math.PI/180),N.scale(h,f),N.imageSmoothingEnabled=D,N.imageSmoothingQuality=R,N.drawImage.apply(N,[a].concat(Jt(pi.map(function(ui){return Math.floor(J(ui))})))),N.restore(),_}var di=String.fromCharCode;function Vi(a,t,e){var i="";e+=t;for(var o=t;o0;)e.push(di.apply(null,hi(o.subarray(0,i)))),o=o.subarray(i);return"data:".concat(t,";base64,").concat(btoa(e.join("")))}function Fi(a){var t=new DataView(a),e;try{var i,o,r;if(t.getUint8(0)===255&&t.getUint8(1)===216)for(var n=t.byteLength,s=2;s+1=8&&(r=l+c)}}}if(r){var f=t.getUint16(r,i),m,g;for(g=0;g=0?r:oi),height:Math.max(i.offsetHeight,n>=0?n:si)};this.containerData=s,W(o,{width:s.width,height:s.height}),O(t,S),k(o,S)},initCanvas:function(){var t=this.containerData,e=this.imageData,i=this.options.viewMode,o=Math.abs(e.rotate)%180===90,r=o?e.naturalHeight:e.naturalWidth,n=o?e.naturalWidth:e.naturalHeight,s=r/n,d=t.width,l=t.height;t.height*s>t.width?i===3?d=t.height*s:l=t.width/s:i===3?l=t.width/s:d=t.height*s;var h={aspectRatio:s,naturalWidth:r,naturalHeight:n,width:d,height:l};this.canvasData=h,this.limited=i===1||i===2,this.limitCanvas(!0,!0),h.width=Math.min(Math.max(h.width,h.minWidth),h.maxWidth),h.height=Math.min(Math.max(h.height,h.minHeight),h.maxHeight),h.left=(t.width-h.width)/2,h.top=(t.height-h.height)/2,h.oldLeft=h.left,h.oldTop=h.top,this.initialCanvasData=x({},h)},limitCanvas:function(t,e){var i=this.options,o=this.containerData,r=this.canvasData,n=this.cropBoxData,s=i.viewMode,d=r.aspectRatio,l=this.cropped&&n;if(t){var h=Number(i.minCanvasWidth)||0,c=Number(i.minCanvasHeight)||0;s>1?(h=Math.max(h,o.width),c=Math.max(c,o.height),s===3&&(c*d>h?h=c*d:c=h/d)):s>0&&(h?h=Math.max(h,l?n.width:0):c?c=Math.max(c,l?n.height:0):l&&(h=n.width,c=n.height,c*d>h?h=c*d:c=h/d));var f=U({aspectRatio:d,width:h,height:c});h=f.width,c=f.height,r.minWidth=h,r.minHeight=c,r.maxWidth=1/0,r.maxHeight=1/0}if(e)if(s>(l?0:1)){var m=o.width-r.width,g=o.height-r.height;r.minLeft=Math.min(0,m),r.minTop=Math.min(0,g),r.maxLeft=Math.max(0,m),r.maxTop=Math.max(0,g),l&&this.limited&&(r.minLeft=Math.min(n.left,n.left+(n.width-r.width)),r.minTop=Math.min(n.top,n.top+(n.height-r.height)),r.maxLeft=n.left,r.maxTop=n.top,s===2&&(r.width>=o.width&&(r.minLeft=Math.min(0,m),r.maxLeft=Math.max(0,m)),r.height>=o.height&&(r.minTop=Math.min(0,g),r.maxTop=Math.max(0,g))))}else r.minLeft=-r.width,r.minTop=-r.height,r.maxLeft=o.width,r.maxTop=o.height},renderCanvas:function(t,e){var i=this.canvasData,o=this.imageData;if(e){var r=Ui({width:o.naturalWidth*Math.abs(o.scaleX||1),height:o.naturalHeight*Math.abs(o.scaleY||1),degree:o.rotate||0}),n=r.width,s=r.height,d=i.width*(n/i.naturalWidth),l=i.height*(s/i.naturalHeight);i.left-=(d-i.width)/2,i.top-=(l-i.height)/2,i.width=d,i.height=l,i.aspectRatio=n/s,i.naturalWidth=n,i.naturalHeight=s,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.widthi.maxHeight||i.heighte.width?r.height=r.width/i:r.width=r.height*i),this.cropBoxData=r,this.limitCropBox(!0,!0),r.width=Math.min(Math.max(r.width,r.minWidth),r.maxWidth),r.height=Math.min(Math.max(r.height,r.minHeight),r.maxHeight),r.width=Math.max(r.minWidth,r.width*o),r.height=Math.max(r.minHeight,r.height*o),r.left=e.left+(e.width-r.width)/2,r.top=e.top+(e.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=x({},r)},limitCropBox:function(t,e){var i=this.options,o=this.containerData,r=this.canvasData,n=this.cropBoxData,s=this.limited,d=i.aspectRatio;if(t){var l=Number(i.minCropBoxWidth)||0,h=Number(i.minCropBoxHeight)||0,c=s?Math.min(o.width,r.width,r.width+r.left,o.width-r.left):o.width,f=s?Math.min(o.height,r.height,r.height+r.top,o.height-r.top):o.height;l=Math.min(l,o.width),h=Math.min(h,o.height),d&&(l&&h?h*d>l?h=l/d:l=h*d:l?h=l/d:h&&(l=h*d),f*d>c?f=c/d:c=f*d),n.minWidth=Math.min(l,c),n.minHeight=Math.min(h,f),n.maxWidth=c,n.maxHeight=f}e&&(s?(n.minLeft=Math.max(0,r.left),n.minTop=Math.max(0,r.top),n.maxLeft=Math.min(o.width,r.left+r.width)-n.width,n.maxTop=Math.min(o.height,r.top+r.height)-n.height):(n.minLeft=0,n.minTop=0,n.maxLeft=o.width-n.width,n.maxTop=o.height-n.height))},renderCropBox:function(){var t=this.options,e=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.widthi.maxHeight||i.height=e.width&&i.height>=e.height?ei:At),W(this.cropBox,x({width:i.width,height:i.height},nt({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),tt(this.element,xt,this.getData())}},Zi={initPreview:function(){var t=this.element,e=this.crossOrigin,i=this.options.preview,o=e?this.crossOriginUrl:this.url,r=t.alt||"The image to preview",n=document.createElement("img");if(e&&(n.crossOrigin=e),n.src=o,n.alt=r,this.viewBox.appendChild(n),this.viewBoxImage=n,!!i){var s=i;typeof i=="string"?s=t.ownerDocument.querySelectorAll(i):i.querySelector&&(s=[i]),this.previews=s,E(s,function(d){var l=document.createElement("img");st(d,ct,{width:d.offsetWidth,height:d.offsetHeight,html:d.innerHTML}),e&&(l.crossOrigin=e),l.src=o,l.alt=r,l.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',d.innerHTML="",d.appendChild(l)})}},resetPreview:function(){E(this.previews,function(t){var e=Ct(t,ct);W(t,{width:e.width,height:e.height}),t.innerHTML=e.html,Xi(t,ct)})},preview:function(){var t=this.imageData,e=this.canvasData,i=this.cropBoxData,o=i.width,r=i.height,n=t.width,s=t.height,d=i.left-e.left-t.left,l=i.top-e.top-t.top;!this.cropped||this.disabled||(W(this.viewBoxImage,x({width:n,height:s},nt(x({translateX:-d,translateY:-l},t)))),E(this.previews,function(h){var c=Ct(h,ct),f=c.width,m=c.height,g=f,b=m,v=1;o&&(v=f/o,b=r*v),r&&b>m&&(v=m/r,g=o*v,b=m),W(h,{width:g,height:b}),W(h.getElementsByTagName("img")[0],x({width:n*v,height:s*v},nt(x({translateX:-d*v,translateY:-l*v},t))))}))}},Ji={bind:function(){var t=this.element,e=this.options,i=this.cropper;A(e.cropstart)&&L(t,Mt,e.cropstart),A(e.cropmove)&&L(t,Et,e.cropmove),A(e.cropend)&&L(t,Dt,e.cropend),A(e.crop)&&L(t,xt,e.crop),A(e.zoom)&&L(t,Tt,e.zoom),L(i,Ht,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&L(i,Gt,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&L(i,zt,this.onDblclick=this.dblclick.bind(this)),L(t.ownerDocument,Wt,this.onCropMove=this.cropMove.bind(this)),L(t.ownerDocument,Ut,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&L(window,Vt,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,i=this.cropper;A(e.cropstart)&&B(t,Mt,e.cropstart),A(e.cropmove)&&B(t,Et,e.cropmove),A(e.cropend)&&B(t,Dt,e.cropend),A(e.crop)&&B(t,xt,e.crop),A(e.zoom)&&B(t,Tt,e.zoom),B(i,Ht,this.onCropStart),e.zoomable&&e.zoomOnWheel&&B(i,Gt,this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&B(i,zt,this.onDblclick),B(t.ownerDocument,Wt,this.onCropMove),B(t.ownerDocument,Ut,this.onCropEnd),e.responsive&&B(window,Vt,this.onResize)}},te={resize:function(){if(!this.disabled){var t=this.options,e=this.container,i=this.containerData,o=e.offsetWidth/i.width,r=e.offsetHeight/i.height,n=Math.abs(o-1)>Math.abs(r-1)?o:r;if(n!==1){var s,d;t.restore&&(s=this.getCanvasData(),d=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(E(s,function(l,h){s[h]=l*n})),this.setCropBoxData(E(d,function(l,h){d[h]=l*n})))}}},dblclick:function(){this.disabled||this.options.dragMode===ni||this.setDragMode(Pi(this.dragBox,bt)?ri:St)},wheel:function(t){var e=this,i=Number(this.options.wheelZoomRatio)||.1,o=1;this.disabled||(t.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){e.wheeling=!1},50),t.deltaY?o=t.deltaY>0?1:-1:t.wheelDelta?o=-t.wheelDelta/120:t.detail&&(o=t.detail>0?1:-1),this.zoom(-o*i,t)))},cropStart:function(t){var e=t.buttons,i=t.button;if(!(this.disabled||(t.type==="mousedown"||t.type==="pointerdown"&&t.pointerType==="mouse")&&(u(e)&&e!==1||u(i)&&i!==0||t.ctrlKey))){var o=this.options,r=this.pointers,n;t.changedTouches?E(t.changedTouches,function(s){r[s.identifier]=lt(s)}):r[t.pointerId||0]=lt(t),Object.keys(r).length>1&&o.zoomable&&o.zoomOnTouch?n=ai:n=Ct(t.target,ot),Oi.test(n)&&tt(this.element,Mt,{originalEvent:t,action:n})!==!1&&(t.preventDefault(),this.action=n,this.cropping=!1,n===ii&&(this.cropping=!0,O(this.dragBox,ft)))}},cropMove:function(t){var e=this.action;if(!(this.disabled||!e)){var i=this.pointers;t.preventDefault(),tt(this.element,Et,{originalEvent:t,action:e})!==!1&&(t.changedTouches?E(t.changedTouches,function(o){x(i[o.identifier]||{},lt(o,!0))}):x(i[t.pointerId||0]||{},lt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,i=this.pointers;t.changedTouches?E(t.changedTouches,function(o){delete i[o.identifier]}):delete i[t.pointerId||0],e&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,Z(this.dragBox,ft,this.cropped&&this.options.modal)),tt(this.element,Dt,{originalEvent:t,action:e}))}}},ie={change:function(t){var e=this.options,i=this.canvasData,o=this.containerData,r=this.cropBoxData,n=this.pointers,s=this.action,d=e.aspectRatio,l=r.left,h=r.top,c=r.width,f=r.height,m=l+c,g=h+f,b=0,v=0,M=o.width,C=o.height,D=!0,Y;!d&&t.shiftKey&&(d=c&&f?c/f:1),this.limited&&(b=r.minLeft,v=r.minTop,M=b+Math.min(o.width,i.width,i.left+i.width),C=v+Math.min(o.height,i.height,i.top+i.height));var R=n[Object.keys(n)[0]],p={x:R.endX-R.startX,y:R.endY-R.startY},w=function(I){switch(I){case $:m+p.x>M&&(p.x=M-m);break;case q:l+p.xC&&(p.y=C-g);break}};switch(s){case At:l+=p.x,h+=p.y;break;case $:if(p.x>=0&&(m>=M||d&&(h<=v||g>=C))){D=!1;break}w($),c+=p.x,c<0&&(s=q,c=-c,l-=c),d&&(f=c/d,h+=(r.height-f)/2);break;case H:if(p.y<=0&&(h<=v||d&&(l<=b||m>=M))){D=!1;break}w(H),f-=p.y,h+=p.y,f<0&&(s=K,f=-f,h-=f),d&&(c=f*d,l+=(r.width-c)/2);break;case q:if(p.x<=0&&(l<=b||d&&(h<=v||g>=C))){D=!1;break}w(q),c-=p.x,l+=p.x,c<0&&(s=$,c=-c,l-=c),d&&(f=c/d,h+=(r.height-f)/2);break;case K:if(p.y>=0&&(g>=C||d&&(l<=b||m>=M))){D=!1;break}w(K),f+=p.y,f<0&&(s=H,f=-f,h-=f),d&&(c=f*d,l+=(r.width-c)/2);break;case it:if(d){if(p.y<=0&&(h<=v||m>=M)){D=!1;break}w(H),f-=p.y,h+=p.y,c=f*d}else w(H),w($),p.x>=0?mv&&(f-=p.y,h+=p.y):(f-=p.y,h+=p.y);c<0&&f<0?(s=rt,f=-f,c=-c,h-=f,l-=c):c<0?(s=et,c=-c,l-=c):f<0&&(s=at,f=-f,h-=f);break;case et:if(d){if(p.y<=0&&(h<=v||l<=b)){D=!1;break}w(H),f-=p.y,h+=p.y,c=f*d,l+=r.width-c}else w(H),w(q),p.x<=0?l>b?(c-=p.x,l+=p.x):p.y<=0&&h<=v&&(D=!1):(c-=p.x,l+=p.x),p.y<=0?h>v&&(f-=p.y,h+=p.y):(f-=p.y,h+=p.y);c<0&&f<0?(s=at,f=-f,c=-c,h-=f,l-=c):c<0?(s=it,c=-c,l-=c):f<0&&(s=rt,f=-f,h-=f);break;case rt:if(d){if(p.x<=0&&(l<=b||g>=C)){D=!1;break}w(q),c-=p.x,l+=p.x,f=c/d}else w(K),w(q),p.x<=0?l>b?(c-=p.x,l+=p.x):p.y>=0&&g>=C&&(D=!1):(c-=p.x,l+=p.x),p.y>=0?g=0&&(m>=M||g>=C)){D=!1;break}w($),c+=p.x,f=c/d}else w(K),w($),p.x>=0?m=0&&g>=C&&(D=!1):c+=p.x,p.y>=0?g0?s=p.y>0?at:it:p.x<0&&(l-=c,s=p.y>0?rt:et),p.y<0&&(h-=f),this.cropped||(k(this.cropBox,S),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}D&&(r.width=c,r.height=f,r.left=l,r.top=h,this.action=s,this.renderCropBox()),E(n,function(T){T.startX=T.endX,T.startY=T.endY})}},ee={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&O(this.dragBox,ft),k(this.cropBox,S),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=x({},this.initialImageData),this.canvasData=x({},this.initialCanvasData),this.cropBoxData=x({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(x(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),k(this.dragBox,ft),O(this.cropBox,S)),this},replace:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,E(this.previews,function(i){i.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,k(this.cropper,Yt)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,O(this.cropper,Yt)),this},destroy:function(){var t=this.element;return t[y]?(t[y]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,i=this.canvasData,o=i.left,r=i.top;return this.moveTo(gt(t)?t:o+Number(t),gt(e)?e:r+Number(e))},moveTo:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,i=this.canvasData,o=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(u(t)&&(i.left=t,o=!0),u(e)&&(i.top=e,o=!0),o&&this.renderCanvas(!0)),this},zoom:function(t,e){var i=this.canvasData;return t=Number(t),t<0?t=1/(1-t):t=1+t,this.zoomTo(i.width*t/i.naturalWidth,null,e)},zoomTo:function(t,e,i){var o=this.options,r=this.canvasData,n=r.width,s=r.height,d=r.naturalWidth,l=r.naturalHeight;if(t=Number(t),t>=0&&this.ready&&!this.disabled&&o.zoomable){var h=d*t,c=l*t;if(tt(this.element,Tt,{ratio:t,oldRatio:n/d,originalEvent:i})===!1)return this;if(i){var f=this.pointers,m=fi(this.cropper),g=f&&Object.keys(f).length?Wi(f):{pageX:i.pageX,pageY:i.pageY};r.left-=(h-n)*((g.pageX-m.left-r.left)/n),r.top-=(c-s)*((g.pageY-m.top-r.top)/s)}else Q(e)&&u(e.x)&&u(e.y)?(r.left-=(h-n)*((e.x-r.left)/n),r.top-=(c-s)*((e.y-r.top)/s)):(r.left-=(h-n)/2,r.top-=(c-s)/2);r.width=h,r.height=c,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return t=Number(t),u(t)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,u(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(u(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,i=this.imageData,o=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(u(t)&&(i.scaleX=t,o=!0),u(e)&&(i.scaleY=e,o=!0),o&&this.renderCanvas(!0,!0)),this},getData:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.options,i=this.imageData,o=this.canvasData,r=this.cropBoxData,n;if(this.ready&&this.cropped){n={x:r.left-o.left,y:r.top-o.top,width:r.width,height:r.height};var s=i.width/i.naturalWidth;if(E(n,function(h,c){n[c]=h/s}),t){var d=Math.round(n.y+n.height),l=Math.round(n.x+n.width);n.x=Math.round(n.x),n.y=Math.round(n.y),n.width=l-n.x,n.height=d-n.y}}else n={x:0,y:0,width:0,height:0};return e.rotatable&&(n.rotate=i.rotate||0),e.scalable&&(n.scaleX=i.scaleX||1,n.scaleY=i.scaleY||1),n},setData:function(t){var e=this.options,i=this.imageData,o=this.canvasData,r={};if(this.ready&&!this.disabled&&Q(t)){var n=!1;e.rotatable&&u(t.rotate)&&t.rotate!==i.rotate&&(i.rotate=t.rotate,n=!0),e.scalable&&(u(t.scaleX)&&t.scaleX!==i.scaleX&&(i.scaleX=t.scaleX,n=!0),u(t.scaleY)&&t.scaleY!==i.scaleY&&(i.scaleY=t.scaleY,n=!0)),n&&this.renderCanvas(!0,!0);var s=i.width/i.naturalWidth;u(t.x)&&(r.left=t.x*s+o.left),u(t.y)&&(r.top=t.y*s+o.top),u(t.width)&&(r.width=t.width*s),u(t.height)&&(r.height=t.height*s),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?x({},this.containerData):{}},getImageData:function(){return this.sized?x({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&E(["left","top","width","height","naturalWidth","naturalHeight"],function(i){e[i]=t[i]}),e},setCanvasData:function(t){var e=this.canvasData,i=e.aspectRatio;return this.ready&&!this.disabled&&Q(t)&&(u(t.left)&&(e.left=t.left),u(t.top)&&(e.top=t.top),u(t.width)?(e.width=t.width,e.height=t.width/i):u(t.height)&&(e.height=t.height,e.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t=this.cropBoxData,e;return this.ready&&this.cropped&&(e={left:t.left,top:t.top,width:t.width,height:t.height}),e||{}},setCropBoxData:function(t){var e=this.cropBoxData,i=this.options.aspectRatio,o,r;return this.ready&&this.cropped&&!this.disabled&&Q(t)&&(u(t.left)&&(e.left=t.left),u(t.top)&&(e.top=t.top),u(t.width)&&t.width!==e.width&&(o=!0,e.width=t.width),u(t.height)&&t.height!==e.height&&(r=!0,e.height=t.height),i&&(o?e.height=e.width/i:r&&(e.width=e.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,i=ji(this.image,this.imageData,e,t);if(!this.cropped)return i;var o=this.getData(t.rounded),r=o.x,n=o.y,s=o.width,d=o.height,l=i.width/Math.floor(e.naturalWidth);l!==1&&(r*=l,n*=l,s*=l,d*=l);var h=s/d,c=U({aspectRatio:h,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),f=U({aspectRatio:h,width:t.minWidth||0,height:t.minHeight||0},"cover"),m=U({aspectRatio:h,width:t.width||(l!==1?i.width:s),height:t.height||(l!==1?i.height:d)}),g=m.width,b=m.height;g=Math.min(c.width,Math.max(f.width,g)),b=Math.min(c.height,Math.max(f.height,b));var v=document.createElement("canvas"),M=v.getContext("2d");v.width=J(g),v.height=J(b),M.fillStyle=t.fillColor||"transparent",M.fillRect(0,0,g,b);var C=t.imageSmoothingEnabled,D=C===void 0?!0:C,Y=t.imageSmoothingQuality;M.imageSmoothingEnabled=D,Y&&(M.imageSmoothingQuality=Y);var R=i.width,p=i.height,w=r,T=n,I,X,j,V,z,_;w<=-s||w>R?(w=0,I=0,j=0,z=0):w<=0?(j=-w,w=0,I=Math.min(R,s+w),z=I):w<=R&&(j=0,I=Math.min(s,R-w),z=I),I<=0||T<=-d||T>p?(T=0,X=0,V=0,_=0):T<=0?(V=-T,T=0,X=Math.min(p,d+T),_=X):T<=p&&(V=0,X=Math.min(d,p-T),_=X);var N=[w,T,I,X];if(z>0&&_>0){var G=g/s;N.push(j*G,V*G,z*G,_*G)}return M.drawImage.apply(M,[i].concat(Jt(N.map(function(ht){return Math.floor(J(ht))})))),v},setAspectRatio:function(t){var e=this.options;return!this.disabled&&!gt(t)&&(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,i=this.dragBox,o=this.face;if(this.ready&&!this.disabled){var r=t===St,n=e.movable&&t===ri;t=r||n?t:ni,e.dragMode=t,st(i,ot,t),Z(i,bt,r),Z(i,yt,n),e.cropBoxMovable||(st(o,ot,t),Z(o,bt,r),Z(o,yt,n))}return this}},ae=P.Cropper,re=function(){function a(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(gi(this,a),!t||!Si.test(t.tagName))throw new Error("The first argument is required and must be an or element.");this.element=t,this.options=x({},qt,Q(e)&&e),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return mi(a,[{key:"init",value:function(){var e=this.element,i=e.tagName.toLowerCase(),o;if(!e[y]){if(e[y]=this,i==="img"){if(this.isImg=!0,o=e.getAttribute("src")||"",this.originalUrl=o,!o)return;o=e.src}else i==="canvas"&&window.HTMLCanvasElement&&(o=e.toDataURL());this.load(o)}}},{key:"load",value:function(e){var i=this;if(e){this.url=e,this.imageData={};var o=this.element,r=this.options;if(!r.rotatable&&!r.scalable&&(r.checkOrientation=!1),!r.checkOrientation||!window.ArrayBuffer){this.clone();return}if(Ni.test(e)){Ai.test(e)?this.read($i(e)):this.clone();return}var n=new XMLHttpRequest,s=this.clone.bind(this);this.reloading=!0,this.xhr=n,n.onabort=s,n.onerror=s,n.ontimeout=s,n.onprogress=function(){n.getResponseHeader("content-type")!==$t&&n.abort()},n.onload=function(){i.read(n.response)},n.onloadend=function(){i.reloading=!1,i.xhr=null},r.checkCrossOrigin&&Kt(e)&&o.crossOrigin&&(e=Qt(e)),n.open("GET",e,!0),n.responseType="arraybuffer",n.withCredentials=o.crossOrigin==="use-credentials",n.send()}}},{key:"read",value:function(e){var i=this.options,o=this.imageData,r=Fi(e),n=0,s=1,d=1;if(r>1){this.url=qi(e,$t);var l=Ki(r);n=l.rotate,s=l.scaleX,d=l.scaleY}i.rotatable&&(o.rotate=n),i.scalable&&(o.scaleX=s,o.scaleY=d),this.clone()}},{key:"clone",value:function(){var e=this.element,i=this.url,o=e.crossOrigin,r=i;this.options.checkCrossOrigin&&Kt(i)&&(o||(o="anonymous"),r=Qt(i)),this.crossOrigin=o,this.crossOriginUrl=r;var n=document.createElement("img");o&&(n.crossOrigin=o),n.src=r||i,n.alt=e.alt||"The image to crop",this.image=n,n.onload=this.start.bind(this),n.onerror=this.stop.bind(this),O(n,Xt),e.parentNode.insertBefore(n,e.nextSibling)}},{key:"start",value:function(){var e=this,i=this.image;i.onload=null,i.onerror=null,this.sizing=!0;var o=P.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(P.navigator.userAgent),r=function(l,h){x(e.imageData,{naturalWidth:l,naturalHeight:h,aspectRatio:l/h}),e.initialImageData=x({},e.imageData),e.sizing=!1,e.sized=!0,e.build()};if(i.naturalWidth&&!o){r(i.naturalWidth,i.naturalHeight);return}var n=document.createElement("img"),s=document.body||document.documentElement;this.sizingImage=n,n.onload=function(){r(n.width,n.height),o||s.removeChild(n)},n.src=i.src,o||(n.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",s.appendChild(n))}},{key:"stop",value:function(){var e=this.image;e.onload=null,e.onerror=null,e.parentNode.removeChild(e),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var e=this.element,i=this.options,o=this.image,r=e.parentNode,n=document.createElement("div");n.innerHTML=Ri;var s=n.querySelector(".".concat(y,"-container")),d=s.querySelector(".".concat(y,"-canvas")),l=s.querySelector(".".concat(y,"-drag-box")),h=s.querySelector(".".concat(y,"-crop-box")),c=h.querySelector(".".concat(y,"-face"));this.container=r,this.cropper=s,this.canvas=d,this.dragBox=l,this.cropBox=h,this.viewBox=s.querySelector(".".concat(y,"-view-box")),this.face=c,d.appendChild(o),O(e,S),r.insertBefore(s,e.nextSibling),k(o,Xt),this.initPreview(),this.bind(),i.initialAspectRatio=Math.max(0,i.initialAspectRatio)||NaN,i.aspectRatio=Math.max(0,i.aspectRatio)||NaN,i.viewMode=Math.max(0,Math.min(3,Math.round(i.viewMode)))||0,O(h,S),i.guides||O(h.getElementsByClassName("".concat(y,"-dashed")),S),i.center||O(h.getElementsByClassName("".concat(y,"-center")),S),i.background&&O(s,"".concat(y,"-bg")),i.highlight||O(c,Ei),i.cropBoxMovable&&(O(c,yt),st(c,ot,At)),i.cropBoxResizable||(O(h.getElementsByClassName("".concat(y,"-line")),S),O(h.getElementsByClassName("".concat(y,"-point")),S)),this.render(),this.ready=!0,this.setDragMode(i.dragMode),i.autoCrop&&this.crop(),this.setData(i.data),A(i.ready)&&L(e,jt,i.ready,{once:!0}),tt(e,jt)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var e=this.cropper.parentNode;e&&e.removeChild(this.cropper),k(this.element,S)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=ae,a}},{key:"setDefaults",value:function(e){x(qt,Q(e)&&e)}}]),a}();x(re.prototype,Qi,Zi,Ji,te,ie,ee); +//# sourceMappingURL=PhotoUploader-DhZp_e5E.js.map diff --git a/app/static/islands/PhotoUploader-DhZp_e5E.js.map b/app/static/islands/PhotoUploader-DhZp_e5E.js.map new file mode 100644 index 00000000..7e4dc8b1 --- /dev/null +++ b/app/static/islands/PhotoUploader-DhZp_e5E.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PhotoUploader-DhZp_e5E.js","sources":["../../../frontend/node_modules/cropperjs/dist/cropper.esm.js"],"sourcesContent":["/*!\n * Cropper.js v1.6.1\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2023-09-17T03:44:19.860Z\n */\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nvar IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\nvar WINDOW = IS_BROWSER ? window : {};\nvar IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;\nvar HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;\nvar NAMESPACE = 'cropper';\n\n// Actions\nvar ACTION_ALL = 'all';\nvar ACTION_CROP = 'crop';\nvar ACTION_MOVE = 'move';\nvar ACTION_ZOOM = 'zoom';\nvar ACTION_EAST = 'e';\nvar ACTION_WEST = 'w';\nvar ACTION_SOUTH = 's';\nvar ACTION_NORTH = 'n';\nvar ACTION_NORTH_EAST = 'ne';\nvar ACTION_NORTH_WEST = 'nw';\nvar ACTION_SOUTH_EAST = 'se';\nvar ACTION_SOUTH_WEST = 'sw';\n\n// Classes\nvar CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\nvar CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\nvar CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\nvar CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\nvar CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\nvar CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\nvar CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\");\n\n// Data keys\nvar DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\nvar DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\");\n\n// Drag modes\nvar DRAG_MODE_CROP = 'crop';\nvar DRAG_MODE_MOVE = 'move';\nvar DRAG_MODE_NONE = 'none';\n\n// Events\nvar EVENT_CROP = 'crop';\nvar EVENT_CROP_END = 'cropend';\nvar EVENT_CROP_MOVE = 'cropmove';\nvar EVENT_CROP_START = 'cropstart';\nvar EVENT_DBLCLICK = 'dblclick';\nvar EVENT_TOUCH_START = IS_TOUCH_DEVICE ? 'touchstart' : 'mousedown';\nvar EVENT_TOUCH_MOVE = IS_TOUCH_DEVICE ? 'touchmove' : 'mousemove';\nvar EVENT_TOUCH_END = IS_TOUCH_DEVICE ? 'touchend touchcancel' : 'mouseup';\nvar EVENT_POINTER_DOWN = HAS_POINTER_EVENT ? 'pointerdown' : EVENT_TOUCH_START;\nvar EVENT_POINTER_MOVE = HAS_POINTER_EVENT ? 'pointermove' : EVENT_TOUCH_MOVE;\nvar EVENT_POINTER_UP = HAS_POINTER_EVENT ? 'pointerup pointercancel' : EVENT_TOUCH_END;\nvar EVENT_READY = 'ready';\nvar EVENT_RESIZE = 'resize';\nvar EVENT_WHEEL = 'wheel';\nvar EVENT_ZOOM = 'zoom';\n\n// Mime types\nvar MIME_TYPE_JPEG = 'image/jpeg';\n\n// RegExps\nvar REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;\nvar REGEXP_DATA_URL = /^data:/;\nvar REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\nvar REGEXP_TAG_NAME = /^img|canvas$/i;\n\n// Misc\n// Inspired by the default width and height of a canvas element.\nvar MIN_CONTAINER_WIDTH = 200;\nvar MIN_CONTAINER_HEIGHT = 100;\n\nvar DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: MIN_CONTAINER_WIDTH,\n minContainerHeight: MIN_CONTAINER_HEIGHT,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n};\n\nvar TEMPLATE = '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
' + '
';\n\n/**\n * Check if the given value is not a number.\n */\nvar isNaN = Number.isNaN || WINDOW.isNaN;\n\n/**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\nfunction isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n}\n\n/**\n * Check if the given value is a positive number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a positive number, else `false`.\n */\nvar isPositiveNumber = function isPositiveNumber(value) {\n return value > 0 && value < Infinity;\n};\n\n/**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\nfunction isUndefined(value) {\n return typeof value === 'undefined';\n}\n\n/**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\nfunction isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\nfunction isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (error) {\n return false;\n }\n}\n\n/**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nvar slice = Array.prototype.slice;\n\n/**\n * Convert array-like or iterable object to an array.\n * @param {*} value - The value to convert.\n * @returns {Array} Returns a new array.\n */\nfunction toArray(value) {\n return Array.from ? Array.from(value) : slice.call(value);\n}\n\n/**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\nfunction forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length) /* array-like */) {\n toArray(data).forEach(function (value, key) {\n callback.call(data, value, key, data);\n });\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n return data;\n}\n\n/**\n * Extend the given object.\n * @param {*} target - The target object to extend.\n * @param {*} args - The rest objects for merging to the target object.\n * @returns {Object} The extended object.\n */\nvar assign = Object.assign || function assign(target) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (isObject(target) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n target[key] = arg[key];\n });\n }\n });\n }\n return target;\n};\nvar REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n\n/**\n * Normalize decimal number.\n * Check out {@link https://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\nfunction normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n}\nvar REGEXP_SUFFIX = /^width|height|left|top|marginLeft|marginTop$/;\n\n/**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\nfunction setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value = \"\".concat(value, \"px\");\n }\n style[property] = value;\n });\n}\n\n/**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\nfunction hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n}\n\n/**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\nfunction addClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n var className = element.className.trim();\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n}\n\n/**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\nfunction removeClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n}\n\n/**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\nfunction toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n }\n\n // IE10-11 doesn't support the second parameter of `classList.toggle`\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n}\nvar REGEXP_CAMEL_CASE = /([a-z\\d])([A-Z])/g;\n\n/**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\nfunction toParamCase(value) {\n return value.replace(REGEXP_CAMEL_CASE, '$1-$2').toLowerCase();\n}\n\n/**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\nfunction getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n if (element.dataset) {\n return element.dataset[name];\n }\n return element.getAttribute(\"data-\".concat(toParamCase(name)));\n}\n\n/**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\nfunction setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(toParamCase(name)), data);\n }\n}\n\n/**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\nfunction removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (error) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (error) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(toParamCase(name)));\n }\n}\nvar REGEXP_SPACES = /\\s\\s*/;\nvar onceSupported = function () {\n var supported = false;\n if (IS_BROWSER) {\n var once = false;\n var listener = function listener() {};\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n return supported;\n}();\n\n/**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\nfunction removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n element.removeEventListener(event, handler, options);\n });\n}\n\n/**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\nfunction addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n listener.apply(element, args);\n };\n if (!listeners[event]) {\n listeners[event] = {};\n }\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n element.addEventListener(event, _handler, options);\n });\n}\n\n/**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\nfunction dispatchEvent(element, type, data) {\n var event;\n\n // Event and CustomEvent on IE9-11 are global objects, not constructors\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n return element.dispatchEvent(event);\n}\n\n/**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\nfunction getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n}\nvar location = WINDOW.location;\nvar REGEXP_ORIGINS = /^(\\w+:)\\/\\/([^:/?#]*):?(\\d*)/i;\n\n/**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\nfunction isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts !== null && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n}\n\n/**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\nfunction addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n}\n\n/**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\nfunction getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n }\n\n // Rotate should come first before scale to match orientation transform\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n}\n\n/**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\nfunction getMaxZoomRatio(pointers) {\n var pointers2 = _objectSpread2({}, pointers);\n var maxRatio = 0;\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n if (Math.abs(ratio) > Math.abs(maxRatio)) {\n maxRatio = ratio;\n }\n });\n });\n return maxRatio;\n}\n\n/**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\nfunction getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : _objectSpread2({\n startX: pageX,\n startY: pageY\n }, end);\n}\n\n/**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\nfunction getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n}\n\n/**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\nfunction getAdjustedSizes(_ref4) {\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n var isValidWidth = isPositiveNumber(width);\n var isValidHeight = isPositiveNumber(height);\n if (isValidWidth && isValidHeight) {\n var adjustedWidth = height * aspectRatio;\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidWidth) {\n height = width / aspectRatio;\n } else if (isValidHeight) {\n width = height * aspectRatio;\n }\n return {\n width: width,\n height: height\n };\n}\n\n/**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\nfunction getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n}\n\n/**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\nfunction getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight));\n\n // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n}\nvar fromCharCode = String.fromCharCode;\n\n/**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\nfunction getStringFromCharCode(dataView, start, length) {\n var str = '';\n length += start;\n for (var i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n return str;\n}\nvar REGEXP_DATA_URL_HEAD = /^data:.*,/;\n\n/**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\nfunction dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n}\n\n/**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\nfunction arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n\n // Chunk Typed Array for better performance (#435)\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n while (uint8.length > 0) {\n // XXX: Babel's `toConsumableArray` helper will throw error in IE or Safari 9\n // eslint-disable-next-line prefer-spread\n chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n}\n\n/**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\nfunction resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation;\n\n // Ignores range error when the image does not have correct Exif information\n try {\n var littleEndian;\n var app1Start;\n var ifdStart;\n\n // Only handle JPEG image (start by 0xFFD8)\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n offset += 1;\n }\n }\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n if (littleEndian || endianness === 0x4D4D /* bigEndian */) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n var _offset;\n var i;\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n if (dataView.getUint16(_offset, littleEndian) === 0x0112 /* Orientation */) {\n // 8 is the offset of the current tag's value\n _offset += 8;\n\n // Get the original orientation value\n orientation = dataView.getUint16(_offset, littleEndian);\n\n // Override the orientation with its default value\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (error) {\n orientation = 1;\n }\n return orientation;\n}\n\n/**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\nfunction parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n\n // Rotate left 180°\n case 3:\n rotate = -180;\n break;\n\n // Flip vertical\n case 4:\n scaleY = -1;\n break;\n\n // Flip vertical and rotate right 90°\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n\n // Rotate right 90°\n case 6:\n rotate = 90;\n break;\n\n // Flip horizontal and rotate right 90°\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n\n // Rotate left 90°\n case 8:\n rotate = -90;\n break;\n }\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n\nvar render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n var minWidth = Number(options.minContainerWidth);\n var minHeight = Number(options.minContainerHeight);\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, minWidth >= 0 ? minWidth : MIN_CONTAINER_WIDTH),\n height: Math.max(container.offsetHeight, minHeight >= 0 ? minHeight : MIN_CONTAINER_HEIGHT)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n canvasData.left = (containerData.width - canvasData.width) / 2;\n canvasData.top = (containerData.height - canvasData.height) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true);\n\n // Initialize auto crop area\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n\n // The width/height of auto crop area must large than \"minWidth/Height\"\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height;\n\n // The min/maxCropBoxWidth/Height must be less than container's width/height\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n }\n\n // The minWidth/Height must be less than maxWidth/Height\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n};\n\nvar preview = {\n initPreview: function initPreview() {\n var element = this.element,\n crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var alt = element.alt || 'The image to preview';\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = url;\n image.alt = alt;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n if (!preview) {\n return;\n }\n var previews = preview;\n if (typeof preview === 'string') {\n previews = element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img');\n\n // Save the original size for recover\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n img.src = url;\n img.alt = alt;\n\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n if (!this.cropped || this.disabled) {\n return;\n }\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n};\n\nvar events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this), {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel, {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n};\n\nvar handlers = {\n resize: function resize() {\n if (this.disabled) {\n return;\n }\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var ratioX = container.offsetWidth / containerData.width;\n var ratioY = container.offsetHeight / containerData.height;\n var ratio = Math.abs(ratioX - 1) > Math.abs(ratioY - 1) ? ratioX : ratioY;\n\n // Resize when width changed or height changed\n if (ratio !== 1) {\n var canvasData;\n var cropBoxData;\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n this.render();\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(event) {\n var _this = this;\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n if (this.disabled) {\n return;\n }\n event.preventDefault();\n\n // Limit wheel speed to prevent zoom too fast (#21)\n if (this.wheeling) {\n return;\n }\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n if (event.deltaY) {\n delta = event.deltaY > 0 ? 1 : -1;\n } else if (event.wheelDelta) {\n delta = -event.wheelDelta / 120;\n } else if (event.detail) {\n delta = event.detail > 0 ? 1 : -1;\n }\n this.zoom(-delta * ratio, event);\n },\n cropStart: function cropStart(event) {\n var buttons = event.buttons,\n button = event.button;\n if (this.disabled\n\n // Handle mouse event and pointer event and ignore touch event\n || (event.type === 'mousedown' || event.type === 'pointerdown' && event.pointerType === 'mouse') && (\n // No primary button (Usually the left button)\n isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0\n\n // Open context menu\n || event.ctrlKey)) {\n return;\n }\n var options = this.options,\n pointers = this.pointers;\n var action;\n if (event.changedTouches) {\n // Handle touch event\n forEach(event.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[event.pointerId || 0] = getPointer(event);\n }\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(event.target, DATA_ACTION);\n }\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n\n // This line is required for preventing page zooming in iOS browsers\n event.preventDefault();\n this.action = action;\n this.cropping = false;\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(event) {\n var action = this.action;\n if (this.disabled || !action) {\n return;\n }\n var pointers = this.pointers;\n event.preventDefault();\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[event.pointerId || 0] || {}, getPointer(event, true));\n }\n this.change(event);\n },\n cropEnd: function cropEnd(event) {\n if (this.disabled) {\n return;\n }\n var action = this.action,\n pointers = this.pointers;\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[event.pointerId || 0];\n }\n if (!action) {\n return;\n }\n event.preventDefault();\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: event,\n action: action\n });\n }\n};\n\nvar change = {\n change: function change(event) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset;\n\n // Locking aspect ratio in \"free mode\" by holding shift key\n if (!aspectRatio && event.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n break;\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n break;\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n break;\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n break;\n }\n };\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n\n // Resize crop box\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_SOUTH);\n height += range.y;\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n\n // Move canvas\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n\n // Zoom canvas\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), event);\n renderable = false;\n break;\n\n // Create crop box\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n if (range.y < 0) {\n top -= height;\n }\n\n // Show the crop box if is hidden\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n break;\n }\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n }\n\n // Override\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n};\n\nvar methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true);\n\n // Render canvas after crop box rendered\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n return this;\n },\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n if (!element[NAMESPACE]) {\n return this;\n }\n element[NAMESPACE] = undefined;\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n this.uncreate();\n return this;\n },\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n if (changed) {\n this.renderCanvas(true);\n }\n }\n return this;\n },\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n };\n\n // Zoom from the triggering point of the event\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n return this;\n },\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n return this;\n },\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n return data;\n },\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n var ratio = imageData.width / imageData.naturalWidth;\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n this.setCropBoxData(cropBoxData);\n }\n return this;\n },\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n return data;\n },\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n return data || {};\n },\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.renderCropBox();\n }\n return this;\n },\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options);\n\n // Returns the source canvas if it is not cropped.\n if (!this.cropped) {\n return source;\n }\n var _this$getData = this.getData(options.rounded),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n var sourceWidth = source.width;\n var sourceHeight = source.height;\n\n // Source canvas parameters\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight;\n\n // Destination canvas parameters\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n var params = [srcX, srcY, srcWidth, srcHeight];\n\n // Avoid \"IndexSizeError\"\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n }\n\n // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n if (this.ready) {\n this.initCropBox();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n return this;\n },\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n return this;\n }\n};\n\nvar AnotherCropper = WINDOW.Cropper;\nvar Cropper = /*#__PURE__*/function () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Cropper);\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an or element.');\n }\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n if (element[NAMESPACE]) {\n return;\n }\n element[NAMESPACE] = this;\n if (tagName === 'img') {\n this.isImg = true;\n\n // e.g.: \"img/picture.jpg\"\n url = element.getAttribute('src') || '';\n this.originalUrl = url;\n\n // Stop when it's a blank image\n if (!url) {\n return;\n }\n\n // e.g.: \"https://example.com/img/picture.jpg\"\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n if (!url) {\n return;\n }\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n }\n\n // Only IE10+ supports Typed Arrays\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n }\n\n // Detect the mime type of the image directly if it is a Data URL\n if (REGEXP_DATA_URL.test(url)) {\n // Read ArrayBuffer from Data URL of JPEG images directly for better performance\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n // Only a JPEG image may contains Exif Orientation information,\n // the rest types of Data URLs are not necessary to check orientation at all.\n this.clone();\n }\n return;\n }\n\n // 1. Detect the mime type of the image by a XMLHttpRequest.\n // 2. Load the image as ArrayBuffer for reading orientation if its a JPEG image.\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n\n // 1. Cross origin requests are only supported for protocol schemes:\n // http, https, data, chrome, chrome-extension.\n // 2. Access to XMLHttpRequest from a Data URL will be blocked by CORS policy\n // in some browsers as IE11 and Safari.\n xhr.onabort = clone;\n xhr.onerror = clone;\n xhr.ontimeout = clone;\n xhr.onprogress = function () {\n // Abort the request directly if it not a JPEG image for better performance\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n };\n\n // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n // The third parameter is required for avoiding side-effect (#682)\n xhr.open('GET', url, true);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n\n // Reset the orientation value to its default value 1\n // as some iOS browsers will render image with its orientation\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n if (orientation > 1) {\n // Generate a new URL which has the default orientation value\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n var _parseOrientation = parseOrientation(orientation);\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin = element.crossOrigin;\n var crossOriginUrl = url;\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n if (!crossOrigin) {\n crossOrigin = 'anonymous';\n }\n\n // Bust cache when there is not a \"crossOrigin\" property (#519)\n crossOriginUrl = addTimestamp(url);\n }\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = crossOriginUrl || url;\n image.alt = element.alt || 'The image to crop';\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n\n // Match all browsers that use WebKit as the layout engine in iOS devices,\n // such as Safari for iOS, Chrome for iOS, and in-app browsers.\n var isIOSWebKit = WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent);\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.initialImageData = assign({}, _this2.imageData);\n _this2.sizing = false;\n _this2.sized = true;\n _this2.build();\n };\n\n // Most modern browsers (excepts iOS WebKit)\n if (image.naturalWidth && !isIOSWebKit) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n if (!isIOSWebKit) {\n body.removeChild(sizingImage);\n }\n };\n sizingImage.src = image.src;\n\n // iOS WebKit will convert the image automatically\n // with its orientation once append it into DOM (#279)\n if (!isIOSWebKit) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n var element = this.element,\n options = this.options,\n image = this.image;\n\n // Create cropper elements\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image);\n\n // Hide the original image\n addClass(element, CLASS_HIDDEN);\n\n // Inserts the cropper after to the current image\n container.insertBefore(cropper, element.nextSibling);\n\n // Show the hidden image\n removeClass(image, CLASS_HIDE);\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n if (options.autoCrop) {\n this.crop();\n }\n this.setData(options.data);\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n this.ready = false;\n this.unbind();\n this.resetPreview();\n var parentNode = this.cropper.parentNode;\n if (parentNode) {\n parentNode.removeChild(this.cropper);\n }\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n return Cropper;\n}();\nassign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\nexport { Cropper as default };\n"],"names":["ownKeys","e","r","t","o","_objectSpread2","_defineProperty","_typeof","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","key","value","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","iter","minLen","n","len","arr2","_toPrimitive","input","hint","prim","res","arg","IS_BROWSER","WINDOW","IS_TOUCH_DEVICE","HAS_POINTER_EVENT","NAMESPACE","ACTION_ALL","ACTION_CROP","ACTION_MOVE","ACTION_ZOOM","ACTION_EAST","ACTION_WEST","ACTION_SOUTH","ACTION_NORTH","ACTION_NORTH_EAST","ACTION_NORTH_WEST","ACTION_SOUTH_EAST","ACTION_SOUTH_WEST","CLASS_CROP","CLASS_DISABLED","CLASS_HIDDEN","CLASS_HIDE","CLASS_INVISIBLE","CLASS_MODAL","CLASS_MOVE","DATA_ACTION","DATA_PREVIEW","DRAG_MODE_CROP","DRAG_MODE_MOVE","DRAG_MODE_NONE","EVENT_CROP","EVENT_CROP_END","EVENT_CROP_MOVE","EVENT_CROP_START","EVENT_DBLCLICK","EVENT_TOUCH_START","EVENT_TOUCH_MOVE","EVENT_TOUCH_END","EVENT_POINTER_DOWN","EVENT_POINTER_MOVE","EVENT_POINTER_UP","EVENT_READY","EVENT_RESIZE","EVENT_WHEEL","EVENT_ZOOM","MIME_TYPE_JPEG","REGEXP_ACTIONS","REGEXP_DATA_URL","REGEXP_DATA_URL_JPEG","REGEXP_TAG_NAME","MIN_CONTAINER_WIDTH","MIN_CONTAINER_HEIGHT","DEFAULTS","TEMPLATE","isNaN","isNumber","isPositiveNumber","isUndefined","isObject","hasOwnProperty","isPlainObject","_constructor","prototype","isFunction","slice","toArray","forEach","data","callback","assign","_len","args","_key","REGEXP_DECIMALS","normalizeDecimalNumber","times","REGEXP_SUFFIX","setStyle","element","styles","style","property","hasClass","addClass","elem","className","removeClass","toggleClass","added","REGEXP_CAMEL_CASE","toParamCase","getData","name","setData","removeData","REGEXP_SPACES","onceSupported","supported","once","listener","options","removeListener","type","handler","event","listeners","addListener","_handler","_element$listeners","_len2","_key2","dispatchEvent","getOffset","box","location","REGEXP_ORIGINS","isCrossOriginURL","url","parts","addTimestamp","timestamp","getTransforms","_ref","rotate","scaleX","scaleY","translateX","translateY","values","transform","getMaxZoomRatio","pointers","pointers2","maxRatio","pointer","pointerId","pointer2","x1","y1","x2","y2","z1","z2","ratio","getPointer","_ref2","endOnly","pageX","pageY","end","getPointersCenter","count","_ref3","startX","startY","getAdjustedSizes","_ref4","aspectRatio","height","width","isValidWidth","isValidHeight","adjustedWidth","getRotatedSizes","_ref5","degree","arc","sinArc","cosArc","newWidth","newHeight","getSourceCanvas","image","_ref6","_ref7","_ref8","imageAspectRatio","imageNaturalWidth","imageNaturalHeight","_ref6$rotate","_ref6$scaleX","_ref6$scaleY","naturalWidth","naturalHeight","_ref8$fillColor","fillColor","_ref8$imageSmoothingE","imageSmoothingEnabled","_ref8$imageSmoothingQ","imageSmoothingQuality","_ref8$maxWidth","maxWidth","_ref8$maxHeight","maxHeight","_ref8$minWidth","minWidth","_ref8$minHeight","minHeight","canvas","context","maxSizes","minSizes","destMaxSizes","destMinSizes","destWidth","destHeight","params","param","fromCharCode","getStringFromCharCode","dataView","start","length","str","REGEXP_DATA_URL_HEAD","dataURLToArrayBuffer","dataURL","base64","binary","arrayBuffer","uint8","arrayBufferToDataURL","mimeType","chunks","chunkSize","resetAndGetOrientation","orientation","littleEndian","app1Start","ifdStart","offset","exifIDCode","tiffOffset","endianness","firstIFDOffset","_length","_offset","parseOrientation","render","container","cropper","containerData","imageData","viewMode","rotated","canvasWidth","canvasHeight","canvasData","sizeLimited","positionLimited","cropBoxData","cropped","minCanvasWidth","minCanvasHeight","_getAdjustedSizes","newCanvasLeft","newCanvasTop","changed","transformed","_getRotatedSizes","autoCropArea","limited","minCropBoxWidth","minCropBoxHeight","maxCropBoxWidth","maxCropBoxHeight","preview","crossOrigin","alt","previews","el","img","cropBoxWidth","cropBoxHeight","left","top","originalWidth","originalHeight","events","handlers","ratioX","ratioY","_this","delta","buttons","button","action","touch","change","right","bottom","minLeft","minTop","renderable","range","check","side","p","methods","hasSameSize","offsetX","offsetY","_this$canvasData","x","y","_originalEvent","pivot","center","_scaleX","_scaleY","rounded","widthChanged","heightChanged","source","_this$getData","initialX","initialY","initialWidth","initialHeight","_options$imageSmoothi","sourceWidth","sourceHeight","srcX","srcY","srcWidth","srcHeight","dstX","dstY","dstWidth","dstHeight","scale","mode","dragBox","face","croppable","movable","AnotherCropper","Cropper","tagName","xhr","clone","_parseOrientation","crossOriginUrl","_this2","isIOSWebKit","done","sizingImage","body","template","cropBox","parentNode"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/app/static/islands/PhotoUploader-DrdTbBsJ.js b/app/static/islands/PhotoUploader-DrdTbBsJ.js new file mode 100644 index 00000000..e046861b --- /dev/null +++ b/app/static/islands/PhotoUploader-DrdTbBsJ.js @@ -0,0 +1,82 @@ +import{S as Te,i as Ce,s as Me,n as Tt,d as Ut,e as B,f as Bt,l as Qe,h as Ht,A as Je,k as ft,m as Qt,y as ti,o as ei,v as ii,t as ai,a as ri,w as ni,x as si}from"./chunks/index-B2lUnYab.js";class zt{constructor(){this.type="service",this.name="",this.invisible=!1,this.noRecolor=!1,this.icon="",this.color="#333",this.template=()=>"",this.handlers=()=>{},this.stop=()=>{},this.supports=()=>!0}}let lt={};const Ae=a=>{const t={};for(const e in a)if(a.hasOwnProperty(e))if(typeof a[e]=="object"){const i=Ae(a[e]);for(const n in i)i.hasOwnProperty(n)&&(t[e+"."+n]=i[n])}else t[e]=a[e];return t},oi=a=>{lt=Ae(a)},P=(a,t)=>{try{let e=lt[a];return typeof t=="string"&&(t=[t]),t&&t.forEach((i,n)=>{e=e.replace(`$${n+1}$`,i)}),lt.helper&&typeof lt.helper=="function"&&(e=lt.helper(e)),e}catch{return""}},Jt=a=>{if(!a)return[];const t=[];return typeof a=="string"?t.push(...Array.prototype.slice.call(document.querySelectorAll(a))):Array.isArray(a)?a.forEach(e=>{typeof e=="string"?t.push(...Array.prototype.slice.call(document.querySelectorAll(e))):t.push(e)}):t.push(a),t},te=[],C=(a,t,e)=>{te.find(n=>n.element===a&&n.type===t)||(a.addEventListener(t,e),te.push({element:a,type:t}))},xt=a=>{if(window.requestAnimationFrame)return window.requestAnimationFrame(a);setTimeout(()=>{a(0)},100)},li=(a,t)=>new Promise(e=>{xt(()=>{const i=t.parentElement,n=t.getBoundingClientRect();if(!i)return;const r=i.getBoundingClientRect();n.height{const s=t.getBoundingClientRect();s.height>r.height?(t.style.height=`${r.height}px`,t.style.width="auto"):s.width>r.width&&(t.style.width=`${r.width}px`,t.style.height="auto"),xt(()=>{const o=a.uppload.container.querySelector(".uppload-effect");o&&(o.style.opacity="1"),e()})})})}),ci=(a,t)=>new Promise(e=>{const i=URL.createObjectURL(a),n=document.createElement("canvas"),r=document.createElement("img"),s=t.maxSize||[t.maxWidth||1/0,t.maxHeight||1/0];r.src=i,r.onload=()=>{const o=t.compressionToMime||"image/jpeg",d=t.compression||1,l=r.width/r.height;r.width>s[0]&&(r.width=s[0],r.height=r.width*(1/l)),r.height>s[1]&&(r.height=s[1],r.width=r.height*l),n.width=r.width,n.height=r.height;const h=n.getContext("2d");if(!h)return e(a);h.clearRect(0,0,n.width,n.height),h.drawImage(r,0,0,n.width,n.height),gt(n,o,d).then(c=>{if(c)return e(c);e(a)})},C(r,"error",()=>e(a))}),hi=a=>{const t=atob(a.split(",")[1]),e=a.split(",")[0].split(":")[1].split(";")[0],i=new ArrayBuffer(t.length),n=new Uint8Array(i);for(let r=0;rnew Promise((i,n)=>{const r=a.getContext("2d");let s=!1;if(r)try{const o=r.getImageData(0,0,a.width,a.height).data;for(let d=0;d{o&&i(o),n(new Error("errors.image_error"))},t,e);else if(typeof a.toDataURL=="function"){const o=a.toDataURL(t,e);i(hi(o))}else n(new Error("errors.image_error"))}),ee=(a,t)=>t.noRecolor?a:a.replace(/#000/g,t.color||"#000");function di(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var Re=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'],Ct=Re.join(","),Ft=typeof Element>"u"?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector;function qt(a,t){t=t||{};var e=[],i=[],n=a.querySelectorAll(Ct);t.includeContainer&&Ft.call(a,Ct)&&(n=Array.prototype.slice.apply(n),n.unshift(a));var r,s,o;for(r=0;r0){var e=a[a.length-1];e!==t&&e.pause()}var i=a.indexOf(t);i===-1||a.splice(i,1),a.push(t)},deactivateTrap:function(t){var e=a.indexOf(t);e!==-1&&a.splice(e,1),a.length>0&&a[a.length-1].unpause()}}}();function Ai(a,t){var e=document,i=typeof a=="string"?e.querySelector(a):a,n=Mi({returnFocusOnDeactivate:!0,escapeDeactivates:!0},t),r={firstTabbableNode:null,lastTabbableNode:null,nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1},s={activate:o,deactivate:d,pause:l,unpause:h};return s;function o(p){if(!r.active){O(),r.active=!0,r.paused=!1,r.nodeFocusedBeforeActivation=e.activeElement;var y=p&&p.onActivate?p.onActivate:n.onActivate;return y&&y(),c(),s}}function d(p){if(r.active){clearTimeout(ae),u(),r.active=!1,r.paused=!1,re.deactivateTrap(s);var y=p&&p.onDeactivate!==void 0?p.onDeactivate:n.onDeactivate;y&&y();var M=p&&p.returnFocus!==void 0?p.returnFocus:n.returnFocusOnDeactivate;return M&&ne(function(){f(w(r.nodeFocusedBeforeActivation))}),s}}function l(){r.paused||!r.active||(r.paused=!0,u())}function h(){!r.paused||!r.active||(r.paused=!1,O(),c())}function c(){if(r.active)return re.activateTrap(s),ae=ne(function(){f(g())}),e.addEventListener("focusin",x,!0),e.addEventListener("mousedown",m,{capture:!0,passive:!1}),e.addEventListener("touchstart",m,{capture:!0,passive:!1}),e.addEventListener("click",_,{capture:!0,passive:!1}),e.addEventListener("keydown",E,{capture:!0,passive:!1}),s}function u(){if(r.active)return e.removeEventListener("focusin",x,!0),e.removeEventListener("mousedown",m,!0),e.removeEventListener("touchstart",m,!0),e.removeEventListener("click",_,!0),e.removeEventListener("keydown",E,!0),s}function v(p){var y=n[p],M=y;if(!y)return null;if(typeof y=="string"&&(M=e.querySelector(y),!M))throw new Error("`"+p+"` refers to no known node");if(typeof y=="function"&&(M=y(),!M))throw new Error("`"+p+"` did not return a node");return M}function g(){var p;if(v("initialFocus")!==null?p=v("initialFocus"):i.contains(e.activeElement)?p=e.activeElement:p=r.firstTabbableNode||v("fallbackFocus"),!p)throw new Error("Your focus-trap needs to have at least one focusable element");return p}function w(p){var y=v("setReturnFocus");return y||p}function m(p){if(!i.contains(p.target)){if(n.clickOutsideDeactivates){d({returnFocus:!ie.isFocusable(p.target)});return}n.allowOutsideClick&&n.allowOutsideClick(p)||p.preventDefault()}}function x(p){i.contains(p.target)||p.target instanceof Document||(p.stopImmediatePropagation(),f(r.mostRecentlyFocusedNode||g()))}function E(p){if(n.escapeDeactivates!==!1&&Oi(p)){p.preventDefault(),d();return}if(Ni(p)){D(p);return}}function D(p){if(O(),p.shiftKey&&p.target===r.firstTabbableNode){p.preventDefault(),f(r.lastTabbableNode);return}if(!p.shiftKey&&p.target===r.lastTabbableNode){p.preventDefault(),f(r.firstTabbableNode);return}}function _(p){n.clickOutsideDeactivates||i.contains(p.target)||n.allowOutsideClick&&n.allowOutsideClick(p)||(p.preventDefault(),p.stopImmediatePropagation())}function O(){var p=ie(i);r.firstTabbableNode=p[0]||g(),r.lastTabbableNode=p[p.length-1]||g()}function f(p){if(p!==e.activeElement){if(!p||!p.focus){f(g());return}p.focus(),r.mostRecentlyFocusedNode=p,Ri(p)&&p.select()}}}function Ri(a){return a.tagName&&a.tagName.toLowerCase()==="input"&&typeof a.select=="function"}function Oi(a){return a.key==="Escape"||a.key==="Esc"||a.keyCode===27}function Ni(a){return a.key==="Tab"||a.keyCode===9}function ne(a){return setTimeout(a,0)}var ki=Ai;const Li=di(ki);function _i(a){return a=a||Object.create(null),{on:function(e,i){(a[e]||(a[e]=[])).push(i)},off:function(e,i){a[e]&&a[e].splice(a[e].indexOf(i)>>>0,1)},emit:function(e,i){(a[e]||[]).slice().map(function(n){n(i)}),(a["*"]||[]).slice().map(function(n){n(e,i)})}}}const Pi=(a,t,e)=>{try{return new File([a],t||"file_name",{lastModified:(e||new Date).getTime(),type:a.type})}catch{return a}},se=(a,t,e,i)=>({name:t,blob:a,lastModified:i,type:e}),Et=a=>{const t=a.blob;return a.lastModified=a.lastModified||new Date,Pi(t,a.name,a.lastModified)};class oe extends zt{constructor(){super(...arguments),this.name="default",this.invisible=!0,this.template=()=>`

${P("services.default.heading")}

`}}class le extends zt{constructor(){super(...arguments),this.name="uploading",this.invisible=!0,this.template=()=>`
+
+

${P("uploading")}

+
`}}class Ii{constructor(t){this.services=[new oe,new le],this.effects=[],this.isOpen=!1,this.activeService="default",this.activeEffect="",this.file={blob:new Blob},this.lang={},this.emitter=_i(),this.uploadProgress=0,this.inline=!1,this.transitionDuration=300,this.settings={},this.updateSettings(t||{});const e=document.createElement("div");this.renderContainer(),e.classList.add("uppload-container");const i=document.body;i&&i.appendChild(e),this.container=e,this.focusTrap=Li(this.container,{initialFocus:()=>this.container.querySelector("button")}),requestAnimationFrame(()=>this.update())}updateSettings(t){this.settings=Object.assign(Object.assign({},this.settings),t),this.emitter.emit("settingsUpdated",t),t.lang&&oi(t.lang),t.defaultService&&(this.activeService=t.defaultService),t.lang&&(this.lang=t.lang),t.transitionDuration&&(this.transitionDuration=t.transitionDuration),t.uploader&&(this.uploader=t.uploader),this.inline=!!t.inline,this.update(),this.settings.customClass&&this.container.classList.add(this.settings.customClass),this.inline&&this.container.classList.add("uppload-inline")}ready(){this.settings.value&&this.bind(this.settings.value),this.renderContainer(),this.emitter.emit("ready")}bind(t){this.settings.bind&&(Jt(this.settings.bind).forEach(i=>{i.nodeName==="IMG"?i.setAttribute("src",t):i.setAttribute("value",t)}),this.emitter.emit("bind"))}use(t){Array.isArray(t)?t.forEach(e=>this.install(e)):this.install(t)}remove(t){this.services=this.services.filter(e=>e.name!==t),this.effects=this.effects.filter(e=>e.name!==t),this.update(),this.emitter.emit("remove",t)}updatePlugins(t){const e=t(this.services),i=e.filter(s=>s.type==="service"),n=!!i.filter(s=>s.name==="default").length;!!i.filter(s=>s.name==="uploading").length||i.unshift(new le),n||i.unshift(new oe),this.services=i,this.effects=e.filter(s=>s.type==="effect"),this.update()}install(t){t.supports()&&(t.type==="service"?(this.services.filter(i=>i.name===t.name).length||this.services.push(t),this.ready()):t.type==="effect"&&(this.effects.filter(i=>i.name===t.name).length||this.effects.push(t),this.ready()))}modalOpen(){return this.isOpen}open(){if(this.isOpen)return;this.isOpen=!0,this.file={blob:new Blob},this.activeService="default",this.activeEffect="";const t=this.container.querySelector(`input[type=radio][value='${this.activeService}']`);t&&t.setAttribute("checked","checked"),this.container.style.transition=`${this.transitionDuration}ms`,this.container.style.opacity="0",this.update();let e=this.settings.defaultService;this.services.length===3&&this.navigate(this.services[2].name),e&&this.navigate(e),C(document.body,"keyup",i=>{i.key==="Escape"&&this.open&&this.close()}),setTimeout(()=>{this.container.style.opacity="1"},1),this.emitter.emit("open")}close(){this.isOpen&&(this.stopCurrentService(),this.isOpen=!1,this.emitter.emit("close"),this.container.style.opacity="0",setTimeout(()=>this.update(),this.transitionDuration))}toggle(){this.modalOpen()?this.close():this.open()}update(){if(!this.container)return;this.hideHelp();const t=this.container.querySelector(".uppload-active-container");t&&(t.innerHTML=this.render());const e=this.container.querySelector("aside");e&&this.activeService!=="default"&&!this.activeEffect&&(e.style.display="block");const i=this.container.querySelector(".effects-nav");e&&i&&this.activeEffect?(i.style.display="",e.style.display="none"):e&&i&&this.activeService==="default"?(e.style.display="none",i.style.display="none"):e&&i&&(e.style.display="",i.style.display="none");const n=this.container.querySelector(".uppload-effect");n&&(n.style.display=this.activeEffect?"":"none"),window.requestAnimationFrame(()=>this.handlers()),this.isOpen?(this.container.classList.add("visible"),this.focusTrap.activate()):(this.container.classList.remove("visible"),this.focusTrap.deactivate());const r=this.container.querySelector("footer.effects-nav .effects-tabs");if(r){const d=r.parentElement;if(d){let l=0;d.querySelectorAll(".effects-continue").forEach(u=>{const v=u.getBoundingClientRect();l+=v.width});const c=d.getBoundingClientRect();r.style.width=`${c.width-l}px`}}const s=this.container.querySelector("aside");s&&this.services.length===3&&s.classList.add("uppload-services--single");const o=this.container.querySelector(".uppload-help");o&&(o.classList.remove("visible"),C(o,"click",()=>this.hideHelp()))}getNavbar(t=!1){return`<${t?"nav":"div"} class="uppload-services"> + ${this.services.filter(e=>!e.invisible).map(e=>`
+ ${t?``:""} + <${t?`label for="uppload-service-radio-${e.name}"`:"button"} data-uppload-service="${e.name}"> + ${e.icon.indexOf("http")===0?``:ee(e.icon,e)} + ${this.lang.services&&this.lang.services[e.name]&&this.lang.services[e.name].title?this.lang.services[e.name].title:e.name} + +
`).join("")} + `}getEffectsNavbar(){return`
+ +
+ ${this.effects.map(t=>` + + + `).join("")} +
+ +
`}renderContainer(){this.container&&(this.container.innerHTML=` +
+ +
+ ${this.error?`
${this.error}
`:""} +
+
${this.getEffectsNavbar()}
+
+
+
+
+

${P("help.loading")}

+
+
+
+
+ +
+
+
+ +
+ `)}render(){return` + ${this.error?`
${this.error}
`:""} + ${this.activeEffect?`
+ ${this.activeEffect&&this.file?this.renderActiveEffect(this.file):""} +
`:`
+ ${this.activeEffect&&this.file?"":this.renderActiveService()} + ${this.activeService==="default"?this.getNavbar():""} +
`}`}renderActiveService(){const t=this.services.filter(e=>e.name===this.activeService);if(t.length){const e=t[0];return requestAnimationFrame(()=>{typeof e.handlers=="function"&&e.handlers({next:this.next.bind(this),upload:this.upload.bind(this),uploadMultiple:this.uploadMultiple.bind(this),handle:this.handle.bind(this),showHelp:this.showHelp.bind(this),uppload:this,translate:P})}),`${typeof e.template=="function"?e.template({translate:P,uppload:this}):""}`}}renderActiveEffect(t){const e=this.effects.filter(i=>i.name===this.activeEffect);if(e.length){const i=e[0];return requestAnimationFrame(()=>{typeof i.handlers=="function"&&i.handlers({next:this.next.bind(this),upload:this.upload.bind(this),uploadMultiple:this.uploadMultiple.bind(this),handle:this.handle.bind(this),showHelp:this.showHelp.bind(this),uppload:this,translate:P})}),` +
${typeof i.template=="function"?i.template({file:t,translate:P}):""}
+ `}}uploadMultiple(t){return this.emitter.emit("before-upload"),new Promise(e=>{this.navigate("uploading"),this.uploader&&typeof this.uploader=="function"?this.uploader(t,this.updateProgress.bind(this)).then(i=>{this.navigate("default"),e(i),this.emitter.emit("upload",i),this.close()}).catch(i=>this.handle(i)):this.handle(new Error("no-uploader"))})}hideHelp(){const t=this.container.querySelector(".uppload-help"),e=this.container.querySelector(".uppload-help-loading"),i=this.container.querySelector("aside"),n=this.container.querySelector("section");e&&e.classList.remove("visible"),t&&t.classList.remove("visible"),i&&(i.style.display=""),n&&(n.style.display=""),this.emitter.emit("hide-help")}showHelp(t){this.emitter.emit("help",t);const e=this.container.querySelector("aside");e&&(e.style.display="none");const i=this.container.querySelector("section");i&&(i.style.display="none");const n=this.container.querySelector(".uppload-help-loading");n&&n.classList.add("visible");const r=this.container.querySelector(".uppload-help");if(r){const s=r.querySelector("iframe");s&&(s.setAttribute("src",`https://uppload.js.org/help${t}`),C(s,"load",()=>{r.classList.add("visible"),n&&n.classList.remove("visible")}),C(s,"error",()=>{this.hideHelp()}))}}next(t){if(this.emitter.emit("next",t),this.file=t,!this.activeEffect)if(this.effects.length&&t.type&&t.type.indexOf("image/")===0)this.activeEffect=this.effects[0].name,this.update();else return this.upload(Et(t));const e=this.container.querySelector(`input[name='uppload-effect-radio'][value='${this.activeEffect}']`);e&&e.setAttribute("checked","checked")}compress(t){return this.settings.compressionFromMimes&&!this.settings.compressionFromMimes.includes(t.type)?new Promise(e=>e(t)):typeof this.settings.compressor=="function"?this.settings.compressor(t):ci(t,this.settings)}upload(t){return this.emitter.emit("before-upload",t),new Promise((e,i)=>{this.navigate("uploading");let n=se(t);try{typeof t.name=="string"&&(n=se(t,t.name,t.type,new Date(t.lastModified)))}catch{}this.uploader&&typeof this.uploader=="function"?this.compress(t).then(r=>(this.settings.compression&&this.emitter.emit("compress",r),r)).then(r=>(n.blob=r,Et(n))).then(r=>this.uploader(r,this.updateProgress.bind(this))).then(r=>{this.bind(r),this.navigate("default"),e(r),this.emitter.emit("upload",r),this.close()}).catch(r=>this.handle(r)):i("no-uploader")})}handle(t){this.error=P(t.message)||t.message,this.emitter.emit("error",this.error),this.update(),this.activeService==="uploading"&&this.navigate("default"),setTimeout(()=>{this.error=void 0,this.update()},4e3)}handlers(){const t=()=>this.open(),e=()=>this.close();this.container.querySelectorAll(".uppload-service--default .uppload-service-name button").forEach(l=>{C(l,"click",c=>{const u=l.getAttribute("data-uppload-service");if(u){this.navigate(u);const g=this.container.querySelector(`[data-uppload-service="${u}"]`);if(g&&g.parentElement){let w=0,m=0;const x=g.getBoundingClientRect(),E=g.parentElement.getBoundingClientRect();w=x.top-E.top,m=x.left-E.left;const D=g.parentElement.parentElement;try{D&&D.scrollTo(m,w)}catch{}}}const v=this.container.querySelector(`input[type=radio][value='${u}']`);return v&&v.setAttribute("checked","checked"),c.preventDefault(),!1})}),this.container.querySelectorAll(".uppload-services input[type='radio']").forEach(l=>{C(l,"change",c=>{const u=this.container.querySelector("[name='uppload-radio']:checked");if(!u)return;const v=u.value;this.navigate(v)})}),this.container.querySelectorAll(".effects-nav input[type='radio']").forEach(l=>{C(l,"change",c=>{const u=this.container.querySelector("[name='uppload-effect-radio']:checked");if(!u)return;const v=u.value;this.activeEffect=v,this.update()})});const s=this.container.querySelector(".uppload-modal-bg");s&&C(s,"click",e),this.settings.call&&Jt(this.settings.call).forEach(h=>{C(h,"click",t)});const o=this.container.querySelector(".effects-continue--cancel");o&&C(o,"click",()=>{this.file={blob:new Blob},this.activeService="default",this.activeEffect="",this.update()});const d=this.container.querySelector(".effects-continue--upload");d&&C(d,"click",()=>{this.file&&(this.activeService="",this.activeEffect="",this.upload(Et(this.file)))})}stopCurrentService(){const t=this.services.filter(e=>e.name===this.activeService);t.length&&t[0].stop()}navigate(t){if(!this.services.filter(i=>i.name===t).length)throw new Error("invalid-service");this.stopCurrentService(),this.activeService=t,this.update();const e=this.container.querySelector(".uppload-active-container input, .uppload-active-container button");e&&e.focus()}on(t,e){return this.emitter.on(t,e)}off(t,e){return this.emitter.on(t,e)}updateProgress(t){this.uploadProgress=t;const e=this.container.querySelector(".uppload-loader-text .progress");e&&(e.innerHTML=`${parseInt(t.toString())}%`),this.emitter.emit("progress",this.updateProgress)}}class Ui{constructor(){this.type="effect",this.name="",this.invisible=!1,this.noRecolor=!1,this.color="#000",this.icon="",this.template=()=>"",this.handlers=()=>{},this.supports=()=>!0}}const Bi={upload:"Upload",cancel:"Cancel",close:"Close",uploading:"Uploading...",uploaded:"Uploaded",fetching:"Getting your image from $1$...",poweredBy:"Powered by $1$",needHelp:"Need help?",units:{px:"px","%":"%",deg:"°"},errors:{response_not_ok:"We got an error fetching this file",unable_to_search:"We got an error searching",invalid_service_url:"This is not $A$ $1$ URL",invalid_url:"This URL seems to be invalid",upload_aborted:"Your upload was cancelled",upload_error:"We got an error uploading this file",file_type_not_allowed:"This file type is not allowed",file_too_large:"Your file should be smaller than $1$"},help:{loading:"Loading help...",close:"Close help"},services:{default:{heading:"Select an image"},local:{title:"Choose file",button:"Select a file",or:"or",drop:"Drop files here"},camera:{title:"Camera",button:"Click photo",switch:"Switch camera",waiting:"Waiting for permission...",unableToRead:"We're not able to read your camera's video. This may be because you didn't grant the required permission, or because your device doesn't support camera access."},microlink:{button:"Import from $1$",label:"$1$ $2$ URL",placeholder:"Enter $A$ $1$ $2$ URL",type:"post"},url:{title:"Direct URL",label:"Image URL",placeholder:"Enter an image URL"},instagram:{title:"Instagram"},facebook:{title:"Facebook"},flickr:{title:"Flickr",type:"photo"},ninegag:{title:"9GAG",type:"photo"},deviantart:{title:"DeviantArt"},artstation:{title:"ArtStation"},twitter:{title:"Twitter",type:"image tweet"},pinterest:{title:"Pinterest",type:"pin"},flipboard:{title:"Flipboard",type:"article"},fotki:{title:"Fotki",type:"photo"},linkedin:{title:"LinkedIn"},reddit:{title:"Reddit"},tumblr:{title:"Tumblr"},weheartit:{title:"We Heart It"},screenshot:{title:"Screenshot",button:"Take screenshot",label:"Webpage URL",placeholder:"Enter a webpage URL",loading:"Taking a screenshot..."},search:{button:"Search on $1$",label:"Find an image",placeholder:"Search for something",imagesPoweredBy:"Images powered by $1$"},giphy:{title:"GIPHY"},unsplash:{title:"Unsplash"},pixabay:{title:"Pixabay"},pexels:{title:"Pexels"}},effects:{preview:{title:"Preview"},filters:{title:"Filters"},crop:{title:"Crop",aspectRatios:{free:"Free",square:"Square"}},rotate:{title:"Rotate"},flip:{title:"Flip",buttons:{horizontal:"Horizontal",vertical:"Vertical"}},sharpen:{title:"Sharpen"},blur:{title:"Blur"},brightness:{title:"Brightness"},contrast:{title:"Contrast"},grayscale:{title:"Grayscale"},"hue-rotate":{title:"Hue rotate"},invert:{title:"Invert"},saturate:{title:"Saturate"},sepia:{title:"Sepia"}},helper:a=>{const t="$A$";for(;a.indexOf(t)!==-1;){const e=a.indexOf(t);a.length>e+3&&(["a","e","i","o","u"].indexOf(a[e+4].toLowerCase())!==-1?a=a.replace(t,"an"):a=a.replace(t,"a"))}return a}};class Hi extends zt{constructor({mimeTypes:t,maxFileSize:e}={}){super(),this.name="local",this.icon='',this.color="#34495e",this.mimeTypes=["image/gif","image/jpeg","image/jpg","image/png"],this.maxFileSize=1/0,this.template=i=>`
+
${i.translate("services.local.drop")}
+ ${i.translate("services.local.or")} + +
+
+
`,this.handlers=i=>{const n=i.uppload.container.querySelector(".drop-area");n&&(C(n,"drop",o=>this.dropHandler(i,o)),C(n,"dragover",o=>this.dragHandler(i,o)),C(n,"dragend",o=>this.dragStop(i,o)),C(n,"dragexit",o=>this.dragStop(i,o)),C(n,"dragleave",o=>this.dragStop(i,o)),C(n,"click",o=>this.fileSelect(i,o)));const r=i.uppload.container.querySelector(".alternate-input input[type=file]");r&&C(r,"change",o=>this.getFile(i,o));const s=i.uppload.container.querySelector(".need-help-link");s&&C(s,"click",()=>i.showHelp("/services/local"))},t&&(this.mimeTypes=t),e&&(this.maxFileSize=e)}getFile(t,e){e.preventDefault();const i=e.target.files;let n=null;if(i){if(t.uppload.settings.multiple&&i.length>1)return t.uploadMultiple(Array.from(i));for(let r=0;rthis.maxFileSize)&&(i=null,t.handle(new Error(t.translate("errors.file_too_large",`${this.maxFileSize} bytes`)))))}i&&i&&t.next({blob:i,size:i.size,type:i.type,lastModified:i.lastModified?new Date(i.lastModified):void 0,name:i.name})}}/*! + * Cropper.js v1.6.1 + * https://fengyuanchen.github.io/cropperjs + * + * Copyright 2015-present Chen Fengyuan + * Released under the MIT license + * + * Date: 2023-09-17T03:44:19.860Z + */function ce(a,t){var e=Object.keys(a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(a);t&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(a,n).enumerable})),e.push.apply(e,i)}return e}function _e(a){for(var t=1;ta.length)&&(t=a.length);for(var e=0,i=new Array(t);e
',aa=Number.isNaN||F.isNaN;function b(a){return typeof a=="number"&&!aa(a)}var Ee=function(t){return t>0&&t<1/0};function Dt(a){return typeof a>"u"}function Q(a){return Mt(a)==="object"&&a!==null}var ra=Object.prototype.hasOwnProperty;function tt(a){if(!Q(a))return!1;try{var t=a.constructor,e=t.prototype;return t&&e&&ra.call(e,"isPrototypeOf")}catch{return!1}}function k(a){return typeof a=="function"}var na=Array.prototype.slice;function We(a){return Array.from?Array.from(a):na.call(a)}function A(a,t){return a&&k(t)&&(Array.isArray(a)||b(a.length)?We(a).forEach(function(e,i){t.call(a,e,i,a)}):Q(a)&&Object.keys(a).forEach(function(e){t.call(a,a[e],e,a)})),a}var T=Object.assign||function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),n=1;n0&&i.forEach(function(r){Q(r)&&Object.keys(r).forEach(function(s){t[s]=r[s]})}),t},sa=/\.\d*(?:0|9){12}\d*$/;function it(a){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1e11;return sa.test(a)?Math.round(a*t)/t:a}var oa=/^width|height|left|top|marginLeft|marginTop$/;function X(a,t){var e=a.style;A(t,function(i,n){oa.test(n)&&b(i)&&(i="".concat(i,"px")),e[n]=i})}function la(a,t){return a.classList?a.classList.contains(t):a.className.indexOf(t)>-1}function R(a,t){if(t){if(b(a.length)){A(a,function(i){R(i,t)});return}if(a.classList){a.classList.add(t);return}var e=a.className.trim();e?e.indexOf(t)<0&&(a.className="".concat(e," ").concat(t)):a.className=t}}function z(a,t){if(t){if(b(a.length)){A(a,function(e){z(e,t)});return}if(a.classList){a.classList.remove(t);return}a.className.indexOf(t)>=0&&(a.className=a.className.replace(t,""))}}function et(a,t,e){if(t){if(b(a.length)){A(a,function(i){et(i,t,e)});return}e?R(a,t):z(a,t)}}var ca=/([a-z\d])([A-Z])/g;function $t(a){return a.replace(ca,"$1-$2").toLowerCase()}function It(a,t){return Q(a[t])?a[t]:a.dataset?a.dataset[t]:a.getAttribute("data-".concat($t(t)))}function dt(a,t,e){Q(e)?a[t]=e:a.dataset?a.dataset[t]=e:a.setAttribute("data-".concat($t(t)),e)}function ha(a,t){if(Q(a[t]))try{delete a[t]}catch{a[t]=void 0}else if(a.dataset)try{delete a.dataset[t]}catch{a.dataset[t]=void 0}else a.removeAttribute("data-".concat($t(t)))}var Xe=/\s\s*/,je=function(){var a=!1;if(bt){var t=!1,e=function(){},i=Object.defineProperty({},"once",{get:function(){return a=!0,t},set:function(r){t=r}});F.addEventListener("test",e,i),F.removeEventListener("test",e,i)}return a}();function U(a,t,e){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=e;t.trim().split(Xe).forEach(function(r){if(!je){var s=a.listeners;s&&s[r]&&s[r][e]&&(n=s[r][e],delete s[r][e],Object.keys(s[r]).length===0&&delete s[r],Object.keys(s).length===0&&delete a.listeners)}a.removeEventListener(r,n,i)})}function I(a,t,e){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},n=e;t.trim().split(Xe).forEach(function(r){if(i.once&&!je){var s=a.listeners,o=s===void 0?{}:s;n=function(){delete o[r][e],a.removeEventListener(r,n,i);for(var l=arguments.length,h=new Array(l),c=0;cMath.abs(e)&&(e=u)})}),e}function vt(a,t){var e=a.pageX,i=a.pageY,n={endX:e,endY:i};return t?n:_e({startX:e,startY:i},n)}function fa(a){var t=0,e=0,i=0;return A(a,function(n){var r=n.startX,s=n.startY;t+=r,e+=s,i+=1}),t/=i,e/=i,{pageX:t,pageY:e}}function j(a){var t=a.aspectRatio,e=a.height,i=a.width,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"contain",r=Ee(i),s=Ee(e);if(r&&s){var o=e*t;n==="contain"&&o>i||n==="cover"&&o90?{width:d,height:o}:{width:o,height:d}}function va(a,t,e,i){var n=t.aspectRatio,r=t.naturalWidth,s=t.naturalHeight,o=t.rotate,d=o===void 0?0:o,l=t.scaleX,h=l===void 0?1:l,c=t.scaleY,u=c===void 0?1:c,v=e.aspectRatio,g=e.naturalWidth,w=e.naturalHeight,m=i.fillColor,x=m===void 0?"transparent":m,E=i.imageSmoothingEnabled,D=E===void 0?!0:E,_=i.imageSmoothingQuality,O=_===void 0?"low":_,f=i.maxWidth,p=f===void 0?1/0:f,y=i.maxHeight,M=y===void 0?1/0:y,q=i.minWidth,$=q===void 0?0:q,V=i.minHeight,Y=V===void 0?0:V,H=document.createElement("canvas"),N=H.getContext("2d"),G=j({aspectRatio:v,width:p,height:M}),ut=j({aspectRatio:v,width:$,height:Y},"cover"),yt=Math.min(G.width,Math.max(ut.width,g)),wt=Math.min(G.height,Math.max(ut.height,w)),Vt=j({aspectRatio:n,width:p,height:M}),Gt=j({aspectRatio:n,width:$,height:Y},"cover"),Kt=Math.min(Vt.width,Math.max(Gt.width,r)),Zt=Math.min(Vt.height,Math.max(Gt.height,s)),Ke=[-Kt/2,-Zt/2,Kt,Zt];return H.width=it(yt),H.height=it(wt),N.fillStyle=x,N.fillRect(0,0,yt,wt),N.save(),N.translate(yt/2,wt/2),N.rotate(d*Math.PI/180),N.scale(h,u),N.imageSmoothingEnabled=D,N.imageSmoothingQuality=O,N.drawImage.apply(N,[a].concat(Pe(Ke.map(function(Ze){return Math.floor(it(Ze))})))),N.restore(),H}var Ve=String.fromCharCode;function ga(a,t,e){var i="";e+=t;for(var n=t;n0;)e.push(Ve.apply(null,We(n.subarray(0,i)))),n=n.subarray(i);return"data:".concat(t,";base64,").concat(btoa(e.join("")))}function wa(a){var t=new DataView(a),e;try{var i,n,r;if(t.getUint8(0)===255&&t.getUint8(1)===216)for(var s=t.byteLength,o=2;o+1=8&&(r=l+c)}}}if(r){var u=t.getUint16(r,i),v,g;for(g=0;g=0?r:qe),height:Math.max(i.offsetHeight,s>=0?s:Ye)};this.containerData=o,X(n,{width:o.width,height:o.height}),R(t,L),z(n,L)},initCanvas:function(){var t=this.containerData,e=this.imageData,i=this.options.viewMode,n=Math.abs(e.rotate)%180===90,r=n?e.naturalHeight:e.naturalWidth,s=n?e.naturalWidth:e.naturalHeight,o=r/s,d=t.width,l=t.height;t.height*o>t.width?i===3?d=t.height*o:l=t.width/o:i===3?l=t.width/o:d=t.height*o;var h={aspectRatio:o,naturalWidth:r,naturalHeight:s,width:d,height:l};this.canvasData=h,this.limited=i===1||i===2,this.limitCanvas(!0,!0),h.width=Math.min(Math.max(h.width,h.minWidth),h.maxWidth),h.height=Math.min(Math.max(h.height,h.minHeight),h.maxHeight),h.left=(t.width-h.width)/2,h.top=(t.height-h.height)/2,h.oldLeft=h.left,h.oldTop=h.top,this.initialCanvasData=T({},h)},limitCanvas:function(t,e){var i=this.options,n=this.containerData,r=this.canvasData,s=this.cropBoxData,o=i.viewMode,d=r.aspectRatio,l=this.cropped&&s;if(t){var h=Number(i.minCanvasWidth)||0,c=Number(i.minCanvasHeight)||0;o>1?(h=Math.max(h,n.width),c=Math.max(c,n.height),o===3&&(c*d>h?h=c*d:c=h/d)):o>0&&(h?h=Math.max(h,l?s.width:0):c?c=Math.max(c,l?s.height:0):l&&(h=s.width,c=s.height,c*d>h?h=c*d:c=h/d));var u=j({aspectRatio:d,width:h,height:c});h=u.width,c=u.height,r.minWidth=h,r.minHeight=c,r.maxWidth=1/0,r.maxHeight=1/0}if(e)if(o>(l?0:1)){var v=n.width-r.width,g=n.height-r.height;r.minLeft=Math.min(0,v),r.minTop=Math.min(0,g),r.maxLeft=Math.max(0,v),r.maxTop=Math.max(0,g),l&&this.limited&&(r.minLeft=Math.min(s.left,s.left+(s.width-r.width)),r.minTop=Math.min(s.top,s.top+(s.height-r.height)),r.maxLeft=s.left,r.maxTop=s.top,o===2&&(r.width>=n.width&&(r.minLeft=Math.min(0,v),r.maxLeft=Math.max(0,v)),r.height>=n.height&&(r.minTop=Math.min(0,g),r.maxTop=Math.max(0,g))))}else r.minLeft=-r.width,r.minTop=-r.height,r.maxLeft=n.width,r.maxTop=n.height},renderCanvas:function(t,e){var i=this.canvasData,n=this.imageData;if(e){var r=pa({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),s=r.width,o=r.height,d=i.width*(s/i.naturalWidth),l=i.height*(o/i.naturalHeight);i.left-=(d-i.width)/2,i.top-=(l-i.height)/2,i.width=d,i.height=l,i.aspectRatio=s/o,i.naturalWidth=s,i.naturalHeight=o,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.widthi.maxHeight||i.heighte.width?r.height=r.width/i:r.width=r.height*i),this.cropBoxData=r,this.limitCropBox(!0,!0),r.width=Math.min(Math.max(r.width,r.minWidth),r.maxWidth),r.height=Math.min(Math.max(r.height,r.minHeight),r.maxHeight),r.width=Math.max(r.minWidth,r.width*n),r.height=Math.max(r.minHeight,r.height*n),r.left=e.left+(e.width-r.width)/2,r.top=e.top+(e.height-r.height)/2,r.oldLeft=r.left,r.oldTop=r.top,this.initialCropBoxData=T({},r)},limitCropBox:function(t,e){var i=this.options,n=this.containerData,r=this.canvasData,s=this.cropBoxData,o=this.limited,d=i.aspectRatio;if(t){var l=Number(i.minCropBoxWidth)||0,h=Number(i.minCropBoxHeight)||0,c=o?Math.min(n.width,r.width,r.width+r.left,n.width-r.left):n.width,u=o?Math.min(n.height,r.height,r.height+r.top,n.height-r.top):n.height;l=Math.min(l,n.width),h=Math.min(h,n.height),d&&(l&&h?h*d>l?h=l/d:l=h*d:l?h=l/d:h&&(l=h*d),u*d>c?u=c/d:c=u*d),s.minWidth=Math.min(l,c),s.minHeight=Math.min(h,u),s.maxWidth=c,s.maxHeight=u}e&&(o?(s.minLeft=Math.max(0,r.left),s.minTop=Math.max(0,r.top),s.maxLeft=Math.min(n.width,r.left+r.width)-s.width,s.maxTop=Math.min(n.height,r.top+r.height)-s.height):(s.minLeft=0,s.minTop=0,s.maxLeft=n.width-s.width,s.maxTop=n.height-s.height))},renderCropBox:function(){var t=this.options,e=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.widthi.maxHeight||i.height=e.width&&i.height>=e.height?Be:Xt),X(this.cropBox,T({width:i.width,height:i.height},ct({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),at(this.element,Nt,this.getData())}},Da={initPreview:function(){var t=this.element,e=this.crossOrigin,i=this.options.preview,n=e?this.crossOriginUrl:this.url,r=t.alt||"The image to preview",s=document.createElement("img");if(e&&(s.crossOrigin=e),s.src=n,s.alt=r,this.viewBox.appendChild(s),this.viewBoxImage=s,!!i){var o=i;typeof i=="string"?o=t.ownerDocument.querySelectorAll(i):i.querySelector&&(o=[i]),this.previews=o,A(o,function(d){var l=document.createElement("img");dt(d,pt,{width:d.offsetWidth,height:d.offsetHeight,html:d.innerHTML}),e&&(l.crossOrigin=e),l.src=n,l.alt=r,l.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',d.innerHTML="",d.appendChild(l)})}},resetPreview:function(){A(this.previews,function(t){var e=It(t,pt);X(t,{width:e.width,height:e.height}),t.innerHTML=e.html,ha(t,pt)})},preview:function(){var t=this.imageData,e=this.canvasData,i=this.cropBoxData,n=i.width,r=i.height,s=t.width,o=t.height,d=i.left-e.left-t.left,l=i.top-e.top-t.top;!this.cropped||this.disabled||(X(this.viewBoxImage,T({width:s,height:o},ct(T({translateX:-d,translateY:-l},t)))),A(this.previews,function(h){var c=It(h,pt),u=c.width,v=c.height,g=u,w=v,m=1;n&&(m=u/n,w=r*m),r&&w>v&&(m=v/r,g=n*m,w=v),X(h,{width:g,height:w}),X(h.getElementsByTagName("img")[0],T({width:s*m,height:o*m},ct(T({translateX:-d*m,translateY:-l*m},t))))}))}},Sa={bind:function(){var t=this.element,e=this.options,i=this.cropper;k(e.cropstart)&&I(t,_t,e.cropstart),k(e.cropmove)&&I(t,Lt,e.cropmove),k(e.cropend)&&I(t,kt,e.cropend),k(e.crop)&&I(t,Nt,e.crop),k(e.zoom)&&I(t,Pt,e.zoom),I(i,pe,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&I(i,ye,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&I(i,fe,this.onDblclick=this.dblclick.bind(this)),I(t.ownerDocument,ve,this.onCropMove=this.cropMove.bind(this)),I(t.ownerDocument,ge,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&I(window,be,this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,i=this.cropper;k(e.cropstart)&&U(t,_t,e.cropstart),k(e.cropmove)&&U(t,Lt,e.cropmove),k(e.cropend)&&U(t,kt,e.cropend),k(e.crop)&&U(t,Nt,e.crop),k(e.zoom)&&U(t,Pt,e.zoom),U(i,pe,this.onCropStart),e.zoomable&&e.zoomOnWheel&&U(i,ye,this.onWheel,{passive:!1,capture:!0}),e.toggleDragModeOnDblclick&&U(i,fe,this.onDblclick),U(t.ownerDocument,ve,this.onCropMove),U(t.ownerDocument,ge,this.onCropEnd),e.responsive&&U(window,be,this.onResize)}},Ta={resize:function(){if(!this.disabled){var t=this.options,e=this.container,i=this.containerData,n=e.offsetWidth/i.width,r=e.offsetHeight/i.height,s=Math.abs(n-1)>Math.abs(r-1)?n:r;if(s!==1){var o,d;t.restore&&(o=this.getCanvasData(),d=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(A(o,function(l,h){o[h]=l*s})),this.setCropBoxData(A(d,function(l,h){d[h]=l*s})))}}},dblclick:function(){this.disabled||this.options.dragMode===Fe||this.setDragMode(la(this.dragBox,Rt)?ze:jt)},wheel:function(t){var e=this,i=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),!this.wheeling&&(this.wheeling=!0,setTimeout(function(){e.wheeling=!1},50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*i,t)))},cropStart:function(t){var e=t.buttons,i=t.button;if(!(this.disabled||(t.type==="mousedown"||t.type==="pointerdown"&&t.pointerType==="mouse")&&(b(e)&&e!==1||b(i)&&i!==0||t.ctrlKey))){var n=this.options,r=this.pointers,s;t.changedTouches?A(t.changedTouches,function(o){r[o.identifier]=vt(o)}):r[t.pointerId||0]=vt(t),Object.keys(r).length>1&&n.zoomable&&n.zoomOnTouch?s=He:s=It(t.target,ht),Qi.test(s)&&at(this.element,_t,{originalEvent:t,action:s})!==!1&&(t.preventDefault(),this.action=s,this.cropping=!1,s===Ue&&(this.cropping=!0,R(this.dragBox,mt)))}},cropMove:function(t){var e=this.action;if(!(this.disabled||!e)){var i=this.pointers;t.preventDefault(),at(this.element,Lt,{originalEvent:t,action:e})!==!1&&(t.changedTouches?A(t.changedTouches,function(n){T(i[n.identifier]||{},vt(n,!0))}):T(i[t.pointerId||0]||{},vt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,i=this.pointers;t.changedTouches?A(t.changedTouches,function(n){delete i[n.identifier]}):delete i[t.pointerId||0],e&&(t.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,et(this.dragBox,mt,this.cropped&&this.options.modal)),at(this.element,kt,{originalEvent:t,action:e}))}}},Ca={change:function(t){var e=this.options,i=this.canvasData,n=this.containerData,r=this.cropBoxData,s=this.pointers,o=this.action,d=e.aspectRatio,l=r.left,h=r.top,c=r.width,u=r.height,v=l+c,g=h+u,w=0,m=0,x=n.width,E=n.height,D=!0,_;!d&&t.shiftKey&&(d=c&&u?c/u:1),this.limited&&(w=r.minLeft,m=r.minTop,x=w+Math.min(n.width,i.width,i.left+i.width),E=m+Math.min(n.height,i.height,i.top+i.height));var O=s[Object.keys(s)[0]],f={x:O.endX-O.startX,y:O.endY-O.startY},p=function(M){switch(M){case K:v+f.x>x&&(f.x=x-v);break;case Z:l+f.xE&&(f.y=E-g);break}};switch(o){case Xt:l+=f.x,h+=f.y;break;case K:if(f.x>=0&&(v>=x||d&&(h<=m||g>=E))){D=!1;break}p(K),c+=f.x,c<0&&(o=Z,c=-c,l-=c),d&&(u=c/d,h+=(r.height-u)/2);break;case W:if(f.y<=0&&(h<=m||d&&(l<=w||v>=x))){D=!1;break}p(W),u-=f.y,h+=f.y,u<0&&(o=J,u=-u,h-=u),d&&(c=u*d,l+=(r.width-c)/2);break;case Z:if(f.x<=0&&(l<=w||d&&(h<=m||g>=E))){D=!1;break}p(Z),c-=f.x,l+=f.x,c<0&&(o=K,c=-c,l-=c),d&&(u=c/d,h+=(r.height-u)/2);break;case J:if(f.y>=0&&(g>=E||d&&(l<=w||v>=x))){D=!1;break}p(J),u+=f.y,u<0&&(o=W,u=-u,h-=u),d&&(c=u*d,l+=(r.width-c)/2);break;case rt:if(d){if(f.y<=0&&(h<=m||v>=x)){D=!1;break}p(W),u-=f.y,h+=f.y,c=u*d}else p(W),p(K),f.x>=0?vm&&(u-=f.y,h+=f.y):(u-=f.y,h+=f.y);c<0&&u<0?(o=ot,u=-u,c=-c,h-=u,l-=c):c<0?(o=nt,c=-c,l-=c):u<0&&(o=st,u=-u,h-=u);break;case nt:if(d){if(f.y<=0&&(h<=m||l<=w)){D=!1;break}p(W),u-=f.y,h+=f.y,c=u*d,l+=r.width-c}else p(W),p(Z),f.x<=0?l>w?(c-=f.x,l+=f.x):f.y<=0&&h<=m&&(D=!1):(c-=f.x,l+=f.x),f.y<=0?h>m&&(u-=f.y,h+=f.y):(u-=f.y,h+=f.y);c<0&&u<0?(o=st,u=-u,c=-c,h-=u,l-=c):c<0?(o=rt,c=-c,l-=c):u<0&&(o=ot,u=-u,h-=u);break;case ot:if(d){if(f.x<=0&&(l<=w||g>=E)){D=!1;break}p(Z),c-=f.x,l+=f.x,u=c/d}else p(J),p(Z),f.x<=0?l>w?(c-=f.x,l+=f.x):f.y>=0&&g>=E&&(D=!1):(c-=f.x,l+=f.x),f.y>=0?g=0&&(v>=x||g>=E)){D=!1;break}p(K),c+=f.x,u=c/d}else p(J),p(K),f.x>=0?v=0&&g>=E&&(D=!1):c+=f.x,f.y>=0?g0?o=f.y>0?st:rt:f.x<0&&(l-=c,o=f.y>0?ot:nt),f.y<0&&(h-=u),this.cropped||(z(this.cropBox,L),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0));break}D&&(r.width=c,r.height=u,r.left=l,r.top=h,this.action=o,this.renderCropBox()),A(s,function(y){y.startX=y.endX,y.startY=y.endY})}},Ma={crop:function(){return this.ready&&!this.cropped&&!this.disabled&&(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&R(this.dragBox,mt),z(this.cropBox,L),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=T({},this.initialImageData),this.canvasData=T({},this.initialCanvasData),this.cropBoxData=T({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(T(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),z(this.dragBox,mt),R(this.cropBox,L)),this},replace:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,A(this.previews,function(i){i.getElementsByTagName("img")[0].src=t}))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,z(this.cropper,de)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,R(this.cropper,de)),this},destroy:function(){var t=this.element;return t[S]?(t[S]=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,i=this.canvasData,n=i.left,r=i.top;return this.moveTo(Dt(t)?t:n+Number(t),Dt(e)?e:r+Number(e))},moveTo:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,i=this.canvasData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(b(t)&&(i.left=t,n=!0),b(e)&&(i.top=e,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,e){var i=this.canvasData;return t=Number(t),t<0?t=1/(1-t):t=1+t,this.zoomTo(i.width*t/i.naturalWidth,null,e)},zoomTo:function(t,e,i){var n=this.options,r=this.canvasData,s=r.width,o=r.height,d=r.naturalWidth,l=r.naturalHeight;if(t=Number(t),t>=0&&this.ready&&!this.disabled&&n.zoomable){var h=d*t,c=l*t;if(at(this.element,Pt,{ratio:t,oldRatio:s/d,originalEvent:i})===!1)return this;if(i){var u=this.pointers,v=$e(this.cropper),g=u&&Object.keys(u).length?fa(u):{pageX:i.pageX,pageY:i.pageY};r.left-=(h-s)*((g.pageX-v.left-r.left)/s),r.top-=(c-o)*((g.pageY-v.top-r.top)/o)}else tt(e)&&b(e.x)&&b(e.y)?(r.left-=(h-s)*((e.x-r.left)/s),r.top-=(c-o)*((e.y-r.top)/o)):(r.left-=(h-s)/2,r.top-=(c-o)/2);r.width=h,r.height=c,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return t=Number(t),b(t)&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,b(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(b(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:t,i=this.imageData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(b(t)&&(i.scaleX=t,n=!0),b(e)&&(i.scaleY=e,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.options,i=this.imageData,n=this.canvasData,r=this.cropBoxData,s;if(this.ready&&this.cropped){s={x:r.left-n.left,y:r.top-n.top,width:r.width,height:r.height};var o=i.width/i.naturalWidth;if(A(s,function(h,c){s[c]=h/o}),t){var d=Math.round(s.y+s.height),l=Math.round(s.x+s.width);s.x=Math.round(s.x),s.y=Math.round(s.y),s.width=l-s.x,s.height=d-s.y}}else s={x:0,y:0,width:0,height:0};return e.rotatable&&(s.rotate=i.rotate||0),e.scalable&&(s.scaleX=i.scaleX||1,s.scaleY=i.scaleY||1),s},setData:function(t){var e=this.options,i=this.imageData,n=this.canvasData,r={};if(this.ready&&!this.disabled&&tt(t)){var s=!1;e.rotatable&&b(t.rotate)&&t.rotate!==i.rotate&&(i.rotate=t.rotate,s=!0),e.scalable&&(b(t.scaleX)&&t.scaleX!==i.scaleX&&(i.scaleX=t.scaleX,s=!0),b(t.scaleY)&&t.scaleY!==i.scaleY&&(i.scaleY=t.scaleY,s=!0)),s&&this.renderCanvas(!0,!0);var o=i.width/i.naturalWidth;b(t.x)&&(r.left=t.x*o+n.left),b(t.y)&&(r.top=t.y*o+n.top),b(t.width)&&(r.width=t.width*o),b(t.height)&&(r.height=t.height*o),this.setCropBoxData(r)}return this},getContainerData:function(){return this.ready?T({},this.containerData):{}},getImageData:function(){return this.sized?T({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&A(["left","top","width","height","naturalWidth","naturalHeight"],function(i){e[i]=t[i]}),e},setCanvasData:function(t){var e=this.canvasData,i=e.aspectRatio;return this.ready&&!this.disabled&&tt(t)&&(b(t.left)&&(e.left=t.left),b(t.top)&&(e.top=t.top),b(t.width)?(e.width=t.width,e.height=t.width/i):b(t.height)&&(e.height=t.height,e.width=t.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var t=this.cropBoxData,e;return this.ready&&this.cropped&&(e={left:t.left,top:t.top,width:t.width,height:t.height}),e||{}},setCropBoxData:function(t){var e=this.cropBoxData,i=this.options.aspectRatio,n,r;return this.ready&&this.cropped&&!this.disabled&&tt(t)&&(b(t.left)&&(e.left=t.left),b(t.top)&&(e.top=t.top),b(t.width)&&t.width!==e.width&&(n=!0,e.width=t.width),b(t.height)&&t.height!==e.height&&(r=!0,e.height=t.height),i&&(n?e.height=e.width/i:r&&(e.width=e.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,i=va(this.image,this.imageData,e,t);if(!this.cropped)return i;var n=this.getData(t.rounded),r=n.x,s=n.y,o=n.width,d=n.height,l=i.width/Math.floor(e.naturalWidth);l!==1&&(r*=l,s*=l,o*=l,d*=l);var h=o/d,c=j({aspectRatio:h,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),u=j({aspectRatio:h,width:t.minWidth||0,height:t.minHeight||0},"cover"),v=j({aspectRatio:h,width:t.width||(l!==1?i.width:o),height:t.height||(l!==1?i.height:d)}),g=v.width,w=v.height;g=Math.min(c.width,Math.max(u.width,g)),w=Math.min(c.height,Math.max(u.height,w));var m=document.createElement("canvas"),x=m.getContext("2d");m.width=it(g),m.height=it(w),x.fillStyle=t.fillColor||"transparent",x.fillRect(0,0,g,w);var E=t.imageSmoothingEnabled,D=E===void 0?!0:E,_=t.imageSmoothingQuality;x.imageSmoothingEnabled=D,_&&(x.imageSmoothingQuality=_);var O=i.width,f=i.height,p=r,y=s,M,q,$,V,Y,H;p<=-o||p>O?(p=0,M=0,$=0,Y=0):p<=0?($=-p,p=0,M=Math.min(O,o+p),Y=M):p<=O&&($=0,M=Math.min(o,O-p),Y=M),M<=0||y<=-d||y>f?(y=0,q=0,V=0,H=0):y<=0?(V=-y,y=0,q=Math.min(f,d+y),H=q):y<=f&&(V=0,q=Math.min(d,f-y),H=q);var N=[p,y,M,q];if(Y>0&&H>0){var G=g/o;N.push($*G,V*G,Y*G,H*G)}return x.drawImage.apply(x,[i].concat(Pe(N.map(function(ut){return Math.floor(it(ut))})))),m},setAspectRatio:function(t){var e=this.options;return!this.disabled&&!Dt(t)&&(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,i=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var r=t===jt,s=e.movable&&t===ze;t=r||s?t:Fe,e.dragMode=t,dt(i,ht,t),et(i,Rt,r),et(i,Ot,s),e.cropBoxMovable||(dt(n,ht,t),et(n,Rt,r),et(n,Ot,s))}return this}},Aa=F.Cropper,Ge=function(){function a(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(zi(this,a),!t||!ea.test(t.tagName))throw new Error("The first argument is required and must be an or element.");this.element=t,this.options=T({},xe,tt(e)&&e),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return Fi(a,[{key:"init",value:function(){var e=this.element,i=e.tagName.toLowerCase(),n;if(!e[S]){if(e[S]=this,i==="img"){if(this.isImg=!0,n=e.getAttribute("src")||"",this.originalUrl=n,!n)return;n=e.src}else i==="canvas"&&window.HTMLCanvasElement&&(n=e.toDataURL());this.load(n)}}},{key:"load",value:function(e){var i=this;if(e){this.url=e,this.imageData={};var n=this.element,r=this.options;if(!r.rotatable&&!r.scalable&&(r.checkOrientation=!1),!r.checkOrientation||!window.ArrayBuffer){this.clone();return}if(Ji.test(e)){ta.test(e)?this.read(ba(e)):this.clone();return}var s=new XMLHttpRequest,o=this.clone.bind(this);this.reloading=!0,this.xhr=s,s.onabort=o,s.onerror=o,s.ontimeout=o,s.onprogress=function(){s.getResponseHeader("content-type")!==we&&s.abort()},s.onload=function(){i.read(s.response)},s.onloadend=function(){i.reloading=!1,i.xhr=null},r.checkCrossOrigin&&De(e)&&n.crossOrigin&&(e=Se(e)),s.open("GET",e,!0),s.responseType="arraybuffer",s.withCredentials=n.crossOrigin==="use-credentials",s.send()}}},{key:"read",value:function(e){var i=this.options,n=this.imageData,r=wa(e),s=0,o=1,d=1;if(r>1){this.url=ya(e,we);var l=xa(r);s=l.rotate,o=l.scaleX,d=l.scaleY}i.rotatable&&(n.rotate=s),i.scalable&&(n.scaleX=o,n.scaleY=d),this.clone()}},{key:"clone",value:function(){var e=this.element,i=this.url,n=e.crossOrigin,r=i;this.options.checkCrossOrigin&&De(i)&&(n||(n="anonymous"),r=Se(i)),this.crossOrigin=n,this.crossOriginUrl=r;var s=document.createElement("img");n&&(s.crossOrigin=n),s.src=r||i,s.alt=e.alt||"The image to crop",this.image=s,s.onload=this.start.bind(this),s.onerror=this.stop.bind(this),R(s,ue),e.parentNode.insertBefore(s,e.nextSibling)}},{key:"start",value:function(){var e=this,i=this.image;i.onload=null,i.onerror=null,this.sizing=!0;var n=F.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(F.navigator.userAgent),r=function(l,h){T(e.imageData,{naturalWidth:l,naturalHeight:h,aspectRatio:l/h}),e.initialImageData=T({},e.imageData),e.sizing=!1,e.sized=!0,e.build()};if(i.naturalWidth&&!n){r(i.naturalWidth,i.naturalHeight);return}var s=document.createElement("img"),o=document.body||document.documentElement;this.sizingImage=s,s.onload=function(){r(s.width,s.height),n||o.removeChild(s)},s.src=i.src,n||(s.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",o.appendChild(s))}},{key:"stop",value:function(){var e=this.image;e.onload=null,e.onerror=null,e.parentNode.removeChild(e),this.image=null}},{key:"build",value:function(){if(!(!this.sized||this.ready)){var e=this.element,i=this.options,n=this.image,r=e.parentNode,s=document.createElement("div");s.innerHTML=ia;var o=s.querySelector(".".concat(S,"-container")),d=o.querySelector(".".concat(S,"-canvas")),l=o.querySelector(".".concat(S,"-drag-box")),h=o.querySelector(".".concat(S,"-crop-box")),c=h.querySelector(".".concat(S,"-face"));this.container=r,this.cropper=o,this.canvas=d,this.dragBox=l,this.cropBox=h,this.viewBox=o.querySelector(".".concat(S,"-view-box")),this.face=c,d.appendChild(n),R(e,L),r.insertBefore(o,e.nextSibling),z(n,ue),this.initPreview(),this.bind(),i.initialAspectRatio=Math.max(0,i.initialAspectRatio)||NaN,i.aspectRatio=Math.max(0,i.aspectRatio)||NaN,i.viewMode=Math.max(0,Math.min(3,Math.round(i.viewMode)))||0,R(h,L),i.guides||R(h.getElementsByClassName("".concat(S,"-dashed")),L),i.center||R(h.getElementsByClassName("".concat(S,"-center")),L),i.background&&R(o,"".concat(S,"-bg")),i.highlight||R(c,Vi),i.cropBoxMovable&&(R(c,Ot),dt(c,ht,Xt)),i.cropBoxResizable||(R(h.getElementsByClassName("".concat(S,"-line")),L),R(h.getElementsByClassName("".concat(S,"-point")),L)),this.render(),this.ready=!0,this.setDragMode(i.dragMode),i.autoCrop&&this.crop(),this.setData(i.data),k(i.ready)&&I(e,me,i.ready,{once:!0}),at(e,me)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var e=this.cropper.parentNode;e&&e.removeChild(this.cropper),z(this.element,L)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=Aa,a}},{key:"setDefaults",value:function(e){T(xe,tt(e)&&e)}}]),a}();T(Ge.prototype,Ea,Da,Sa,Ta,Ca,Ma);class Ra extends Ui{constructor({aspectRatio:t,aspectRatioOptions:e,hideAspectRatioSettings:i,autoCropArea:n,viewMode:r}={}){super(),this.name="crop",this.icon='',this.aspectRatio=NaN,this.hideAspectRatioSettings=!1,this.aspectRatioOptions={free:NaN,square:1,"16:9":16/9},this.autoCropArea=1,this.viewMode=1,this.originalFile={blob:new Blob},this.template=({file:s,translate:o})=>{const d=URL.createObjectURL(s.blob);return this.originalFile=s,` +
+ +
+ ${!this.aspectRatio&&!this.hideAspectRatioSettings?`
+ ${Object.keys(this.aspectRatioOptions).map((l,h)=>` + + `).join("")} +
`:""} + `},this.handlers=s=>{const o=s.uppload.container.querySelector(".uppload-cropping-element img"),d=this.originalFile;o&&li(s,o).then(()=>{const l=new Ge(o,{aspectRatio:this.aspectRatio,autoCropArea:this.autoCropArea,viewMode:this.viewMode,ready(){gt(l.getCroppedCanvas()).then(c=>{d.blob=c,s.next(d)})},cropend(){gt(l.getCroppedCanvas()).then(c=>{d.blob=c,s.next(d)})}});s.uppload.container.querySelectorAll("input[name='crop-aspect-ratio']").forEach(c=>{C(c,"change",()=>{const u=s.uppload.container.querySelector("input[name='crop-aspect-ratio']:checked");u&&(l.setAspectRatio(this.aspectRatioOptions[u.getAttribute("data-name")||"free"]),gt(l.getCroppedCanvas()).then(v=>{d.blob=v,s.next(d)}))})})})},t&&(this.aspectRatio=t),e&&(this.aspectRatioOptions=e),n&&(this.autoCropArea=n),r&&(this.viewMode=r),i&&(this.hideAspectRatioSettings=i)}}function Oa(a){let t,e,i,n,r;return{c(){t=Ht("div"),e=Qt("svg"),i=Qt("path"),n=ti(),r=ei(a[3]),B(i,"fill-rule","evenodd"),B(i,"d","M1 5.25A2.25 2.25 0 0 1 3.25 3h13.5A2.25 2.25 0 0 1 19 5.25v9.5A2.25 2.25 0 0 1 16.75 17H3.25A2.25 2.25 0 0 1 1 14.75v-9.5Zm1.5 5.81v3.69c0 .414.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-2.69l-2.22-2.219a.75.75 0 0 0-1.06 0l-1.91 1.909.47.47a.75.75 0 1 1-1.06 1.06L6.53 8.091a.75.75 0 0 0-1.06 0l-2.97 2.97ZM12 7a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"),B(i,"clip-rule","evenodd"),B(e,"xmlns","http://www.w3.org/2000/svg"),B(e,"viewBox","0 0 20 20"),B(e,"fill","currentColor"),B(e,"class","w-5 h-5 mr-1 md:mr-2"),B(t,"class","flex flex-row items-center")},m(s,o){Bt(s,t,o),ft(t,e),ft(e,i),ft(t,n),ft(t,r)},p(s,o){o&8&&Je(r,s[3])},d(s){s&&Ut(t)}}}function Na(a){let t;return{c(){t=Ht("div"),t.innerHTML='',B(t,"class","absolute inline-flex items-center justify-center w-6 h-6 text-xs font-bold text-white bg-gray-800 border-2 rounded-full bottom-4 left-3/4 transform -translate-x-1/2 translate-y-1/2")},m(e,i){Bt(e,t,i)},p:Tt,d(e){e&&Ut(t)}}}function ka(a){let t,e,i,n,r;function s(l,h){return l[4]?Na:Oa}let o=s(a),d=o(a);return{c(){t=Ht("button"),d.c(),B(t,"class",e=a[0]?a[1]:a[2]),t.disabled=i=!a[0]},m(l,h){Bt(l,t,h),d.m(t,null),n||(r=Qe(t,"click",a[5]),n=!0)},p(l,[h]){o===(o=s(l))&&d?d.p(l,h):(d.d(1),d=o(l),d&&(d.c(),d.m(t,null))),h&7&&e!==(e=l[0]?l[1]:l[2])&&B(t,"class",e),h&1&&i!==(i=!l[0])&&(t.disabled=i)},i:Tt,o:Tt,d(l){l&&Ut(t),d.d(),n=!1,r()}}}function La(a,t,e){let{postURL:i="localhost:8000/uploadImage"}=t,{uploadEnabled:n=!0}=t,{stylingClassesUploadEnabled:r=""}=t,{stylingClassesUploadDisabled:s=""}=t,{buttonText:o="Upload image"}=t,{isProfilePhotoCornerUploader:d=!1}=t,l;l=new Ii({lang:Bi,uploader:(c,u)=>new Promise((v,g)=>{const w=new FormData;w.append("file",c);const m=new XMLHttpRequest;m.open("POST",i,!0),m.upload.onprogress=x=>{if(x.lengthComputable){const E=x.loaded/x.total;u(E)}},m.onload=()=>{m.status>=200&&m.status<300?(window.location.reload(),v("Upload successful")):g("Upload failed")},m.onerror=()=>g("Upload error"),m.send(w)}),maxSize:[1500,1500],compression:.8,compressionToMime:"image/jpeg"}),l.use([new Hi]),l.use([new Ra({aspectRatio:1})]);const h=()=>l.open();return l.on("upload",c=>{console.log("File uploaded!",c)}),a.$$set=c=>{"postURL"in c&&e(6,i=c.postURL),"uploadEnabled"in c&&e(0,n=c.uploadEnabled),"stylingClassesUploadEnabled"in c&&e(1,r=c.stylingClassesUploadEnabled),"stylingClassesUploadDisabled"in c&&e(2,s=c.stylingClassesUploadDisabled),"buttonText"in c&&e(3,o=c.buttonText),"isProfilePhotoCornerUploader"in c&&e(4,d=c.isProfilePhotoCornerUploader)},[n,r,s,o,d,h,i]}class _a extends Te{constructor(t){super(),Ce(this,t,La,ka,Me,{postURL:6,uploadEnabled:0,stylingClassesUploadEnabled:1,stylingClassesUploadDisabled:2,buttonText:3,isProfilePhotoCornerUploader:4})}}function Pa(a){let t,e;return t=new _a({props:{postURL:a[0],uploadEnabled:a[1],stylingClassesUploadEnabled:a[2],stylingClassesUploadDisabled:a[3],buttonText:a[4],isProfilePhotoCornerUploader:a[5]}}),{c(){si(t.$$.fragment)},m(i,n){ni(t,i,n),e=!0},p(i,[n]){const r={};n&1&&(r.postURL=i[0]),n&2&&(r.uploadEnabled=i[1]),n&4&&(r.stylingClassesUploadEnabled=i[2]),n&8&&(r.stylingClassesUploadDisabled=i[3]),n&16&&(r.buttonText=i[4]),n&32&&(r.isProfilePhotoCornerUploader=i[5]),t.$set(r)},i(i){e||(ri(t.$$.fragment,i),e=!0)},o(i){ai(t.$$.fragment,i),e=!1},d(i){ii(t,i)}}}function Ia(a,t,e){let{postURL:i="localhost:8000/uploadImage"}=t,{uploadEnabled:n=!0}=t,{stylingClassesUploadEnabled:r=""}=t,{stylingClassesUploadDisabled:s=""}=t,{buttonText:o="Upload image"}=t,{isProfilePhotoCornerUploader:d=!1}=t;return a.$$set=l=>{"postURL"in l&&e(0,i=l.postURL),"uploadEnabled"in l&&e(1,n=l.uploadEnabled),"stylingClassesUploadEnabled"in l&&e(2,r=l.stylingClassesUploadEnabled),"stylingClassesUploadDisabled"in l&&e(3,s=l.stylingClassesUploadDisabled),"buttonText"in l&&e(4,o=l.buttonText),"isProfilePhotoCornerUploader"in l&&e(5,d=l.isProfilePhotoCornerUploader)},[i,n,r,s,o,d]}class Ba extends Te{constructor(t){super(),Ce(this,t,Ia,Pa,Me,{postURL:0,uploadEnabled:1,stylingClassesUploadEnabled:2,stylingClassesUploadDisabled:3,buttonText:4,isProfilePhotoCornerUploader:5})}}export{Ba as default}; +//# sourceMappingURL=PhotoUploader-DrdTbBsJ.js.map diff --git a/app/static/islands/PhotoUploader-DrdTbBsJ.js.map b/app/static/islands/PhotoUploader-DrdTbBsJ.js.map new file mode 100644 index 00000000..ababa6c1 --- /dev/null +++ b/app/static/islands/PhotoUploader-DrdTbBsJ.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PhotoUploader-DrdTbBsJ.js","sources":["../../../frontend/node_modules/uppload/dist/service.js","../../../frontend/node_modules/uppload/dist/helpers/i18n.js","../../../frontend/node_modules/uppload/dist/helpers/elements.js","../../../frontend/node_modules/uppload/dist/helpers/assets.js","../../../frontend/node_modules/tabbable/index.js","../../../frontend/node_modules/xtend/immutable.js","../../../frontend/node_modules/focus-trap/index.js","../../../frontend/node_modules/mitt/dist/mitt.es.js","../../../frontend/node_modules/uppload/dist/helpers/files.js","../../../frontend/node_modules/uppload/dist/uppload.js","../../../frontend/node_modules/uppload/dist/effect.js","../../../frontend/node_modules/uppload/dist/i18n/en.js","../../../frontend/node_modules/uppload/dist/services/local.js","../../../frontend/node_modules/cropperjs/dist/cropper.esm.js","../../../frontend/node_modules/uppload/dist/effects/crop/index.js","../../../frontend/javascript/svelte/components/PhotoUploader.svelte","../../../frontend/islands/PhotoUploader.svelte"],"sourcesContent":["export class UpploadService {\n constructor() {\n this.type = \"service\";\n this.name = \"\";\n this.invisible = false;\n this.noRecolor = false;\n this.icon = \"\";\n this.color = \"#333\";\n this.template = () => \"\";\n this.handlers = () => { };\n this.stop = () => { };\n this.supports = () => true;\n }\n}\n//# sourceMappingURL=service.js.map","let i18n = {};\nexport const flattenObject = (ob) => {\n const toReturn = {};\n for (const i in ob) {\n if (!ob.hasOwnProperty(i))\n continue;\n if (typeof ob[i] == \"object\") {\n const flatObject = flattenObject(ob[i]);\n for (const x in flatObject) {\n if (!flatObject.hasOwnProperty(x))\n continue;\n toReturn[i + \".\" + x] = flatObject[x];\n }\n }\n else {\n toReturn[i] = ob[i];\n }\n }\n return toReturn;\n};\n/**\n *\n * @param translations\n */\nexport const setI18N = (translations) => {\n i18n = flattenObject(translations);\n};\n/**\n * Get a translation from i18n setting\n * @param key - Translation key\n * @param params - Single term or array of variables\n */\nexport const translate = (key, params) => {\n try {\n let term = i18n[key];\n if (typeof params === \"string\")\n params = [params];\n if (params)\n params.forEach((param, index) => {\n term = term.replace(`$${index + 1}$`, param);\n });\n if (i18n.helper && typeof i18n.helper === \"function\")\n term = i18n.helper(term);\n return term;\n }\n catch (error) {\n return \"\";\n }\n};\n//# sourceMappingURL=i18n.js.map","/**\n * Gets all the DOM elements matching a selector\n * @param query - CSS selector string, HTML element, or an array of them\n */\nexport const getElements = (query) => {\n if (!query)\n return [];\n const elements = [];\n if (typeof query === \"string\") {\n elements.push(...Array.prototype.slice.call(document.querySelectorAll(query)));\n }\n else if (Array.isArray(query)) {\n query.forEach((item) => {\n if (typeof item === \"string\") {\n elements.push(...Array.prototype.slice.call(document.querySelectorAll(item)));\n }\n else {\n elements.push(item);\n }\n });\n }\n else {\n elements.push(query);\n }\n return elements;\n};\nconst listening = [];\n/**\n * Safely adds an event listener, preventing duplicates\n * @param element - HTML element to add event listener to\n * @param type - Type of event listener to add\n * @param fn - Callback function to call on event\n */\nexport const safeListen = (element, type, fn) => {\n const hasListener = !!listening.find(a => a.element === element && a.type === type);\n if (hasListener)\n return;\n element.addEventListener(type, fn);\n listening.push({ element, type });\n};\nconst safeRequestAnimationFrame = (callback) => {\n if (window.requestAnimationFrame)\n return window.requestAnimationFrame(callback);\n setTimeout(() => {\n callback(0);\n }, 100);\n};\n/**\n *\n * @param image - An HTML element in the DOM\n */\nexport const fitImageToContainer = (params, image) => {\n return new Promise(resolve => {\n safeRequestAnimationFrame(() => {\n const parent = image.parentElement;\n const currentDimensions = image.getBoundingClientRect();\n if (!parent)\n return;\n const dimensions = parent.getBoundingClientRect();\n if (currentDimensions.height < currentDimensions.width) {\n image.style.height = `${dimensions.height}px`;\n image.style.width = \"auto\";\n }\n else {\n image.style.width = `${dimensions.width}px`;\n image.style.height = \"auto\";\n }\n safeRequestAnimationFrame(() => {\n const currentDimensions = image.getBoundingClientRect();\n if (currentDimensions.height > dimensions.height) {\n image.style.height = `${dimensions.height}px`;\n image.style.width = \"auto\";\n }\n else if (currentDimensions.width > dimensions.width) {\n image.style.width = `${dimensions.width}px`;\n image.style.height = \"auto\";\n }\n safeRequestAnimationFrame(() => {\n const effect = params.uppload.container.querySelector(\".uppload-effect\");\n if (effect)\n effect.style.opacity = \"1\";\n resolve();\n });\n });\n });\n });\n};\n/**\n * Compress an image using lossy canvas compression\n * @param file - Image file to compress\n * @param settings - Uppload settings defined in the constructor\n */\nexport const compressImage = (file, settings) => new Promise(resolve => {\n const imageURL = URL.createObjectURL(file);\n const canvas = document.createElement(\"canvas\");\n const image = document.createElement(\"img\");\n const maxSize = settings.maxSize || [\n settings.maxWidth || Infinity,\n settings.maxHeight || Infinity\n ];\n image.src = imageURL;\n image.onload = () => {\n const type = settings.compressionToMime || \"image/jpeg\";\n const quality = settings.compression || 1;\n const ratio = image.width / image.height;\n if (image.width > maxSize[0]) {\n image.width = maxSize[0];\n image.height = image.width * (1 / ratio);\n }\n if (image.height > maxSize[1]) {\n image.height = maxSize[1];\n image.width = image.height * ratio;\n }\n canvas.width = image.width;\n canvas.height = image.height;\n const context = canvas.getContext(\"2d\");\n if (!context)\n return resolve(file);\n context.clearRect(0, 0, canvas.width, canvas.height);\n context.drawImage(image, 0, 0, canvas.width, canvas.height);\n canvasToBlob(canvas, type, quality).then((blob) => {\n if (blob)\n return resolve(blob);\n resolve(file);\n });\n };\n safeListen(image, \"error\", () => resolve(file));\n});\n/**\n * Convert a data URI image string to Blob\n * @param dataURI - Data URI of image\n * @source https://stackoverflow.com/a/12300351/1656944\n */\nconst dataURItoBlob = (dataURI) => {\n const byteString = atob(dataURI.split(\",\")[1]);\n const mimeString = dataURI\n .split(\",\")[0]\n .split(\":\")[1]\n .split(\";\")[0];\n const arrayBuffer = new ArrayBuffer(byteString.length);\n const uArray = new Uint8Array(arrayBuffer);\n for (let i = 0; i < byteString.length; i++)\n uArray[i] = byteString.charCodeAt(i);\n return new Blob([arrayBuffer], { type: mimeString });\n};\n/**\n * Export an HTML canvas to Blob image\n * @param canvas - Canvas element to export\n * @param type - MIME type of image\n * @param quality - Compression ratio (0 to 1)\n */\nexport const canvasToBlob = (canvas, type, quality) => {\n return new Promise((resolve, reject) => {\n const context = canvas.getContext(\"2d\");\n let hasTransparency = false;\n /**\n * Check if an image has transparent pixels\n * @source https://stackoverflow.com/a/25923108/1656944\n */\n if (context) {\n try {\n const data = context.getImageData(0, 0, canvas.width, canvas.height)\n .data;\n for (let i = 0; i < data.length; i += 4) {\n if (data[i + 3] < 255) {\n hasTransparency = true;\n }\n }\n }\n catch (error) { }\n }\n /**\n * If a transparent image is uploaded, like a PNG or GIF,\n * let it through uncompressed\n */\n if (hasTransparency && type !== \"image/webp\") {\n type = undefined;\n quality = undefined;\n }\n if (typeof canvas.toBlob === \"function\") {\n canvas.toBlob(blob => {\n if (blob)\n resolve(blob);\n reject(new Error(\"errors.image_error\"));\n }, type, quality);\n }\n else if (typeof canvas.toDataURL === \"function\") {\n const dataURI = canvas.toDataURL(type, quality);\n resolve(dataURItoBlob(dataURI));\n }\n else {\n reject(new Error(\"errors.image_error\"));\n }\n });\n};\n//# sourceMappingURL=elements.js.map","/**\n * Colors an SVG icon with the brand color for a service or effect\n * @param svg - SVG template string\n * @param service - Uppload service object\n */\nexport const colorSVG = (svg, service) => (service.noRecolor ? svg : svg.replace(/#000/g, service.color || \"#000\"));\n//# sourceMappingURL=assets.js.map","var candidateSelectors = [\n 'input',\n 'select',\n 'textarea',\n 'a[href]',\n 'button',\n '[tabindex]',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n];\nvar candidateSelector = candidateSelectors.join(',');\n\nvar matches = typeof Element === 'undefined'\n ? function () {}\n : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\nfunction tabbable(el, options) {\n options = options || {};\n\n var regularTabbables = [];\n var orderedTabbables = [];\n\n var candidates = el.querySelectorAll(candidateSelector);\n\n if (options.includeContainer) {\n if (matches.call(el, candidateSelector)) {\n candidates = Array.prototype.slice.apply(candidates);\n candidates.unshift(el);\n }\n }\n\n var i, candidate, candidateTabindex;\n for (i = 0; i < candidates.length; i++) {\n candidate = candidates[i];\n\n if (!isNodeMatchingSelectorTabbable(candidate)) continue;\n\n candidateTabindex = getTabindex(candidate);\n if (candidateTabindex === 0) {\n regularTabbables.push(candidate);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n node: candidate,\n });\n }\n }\n\n var tabbableNodes = orderedTabbables\n .sort(sortOrderedTabbables)\n .map(function(a) { return a.node })\n .concat(regularTabbables);\n\n return tabbableNodes;\n}\n\ntabbable.isTabbable = isTabbable;\ntabbable.isFocusable = isFocusable;\n\nfunction isNodeMatchingSelectorTabbable(node) {\n if (\n !isNodeMatchingSelectorFocusable(node)\n || isNonTabbableRadio(node)\n || getTabindex(node) < 0\n ) {\n return false;\n }\n return true;\n}\n\nfunction isTabbable(node) {\n if (!node) throw new Error('No node provided');\n if (matches.call(node, candidateSelector) === false) return false;\n return isNodeMatchingSelectorTabbable(node);\n}\n\nfunction isNodeMatchingSelectorFocusable(node) {\n if (\n node.disabled\n || isHiddenInput(node)\n || isHidden(node)\n ) {\n return false;\n }\n return true;\n}\n\nvar focusableCandidateSelector = candidateSelectors.concat('iframe').join(',');\nfunction isFocusable(node) {\n if (!node) throw new Error('No node provided');\n if (matches.call(node, focusableCandidateSelector) === false) return false;\n return isNodeMatchingSelectorFocusable(node);\n}\n\nfunction getTabindex(node) {\n var tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);\n if (!isNaN(tabindexAttr)) return tabindexAttr;\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if (isContentEditable(node)) return 0;\n return node.tabIndex;\n}\n\nfunction sortOrderedTabbables(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n}\n\nfunction isContentEditable(node) {\n return node.contentEditable === 'true';\n}\n\nfunction isInput(node) {\n return node.tagName === 'INPUT';\n}\n\nfunction isHiddenInput(node) {\n return isInput(node) && node.type === 'hidden';\n}\n\nfunction isRadio(node) {\n return isInput(node) && node.type === 'radio';\n}\n\nfunction isNonTabbableRadio(node) {\n return isRadio(node) && !isTabbableRadio(node);\n}\n\nfunction getCheckedRadio(nodes) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked) {\n return nodes[i];\n }\n }\n}\n\nfunction isTabbableRadio(node) {\n if (!node.name) return true;\n // This won't account for the edge case where you have radio groups with the same\n // in separate forms on the same page.\n var radioSet = node.ownerDocument.querySelectorAll('input[type=\"radio\"][name=\"' + node.name + '\"]');\n var checked = getCheckedRadio(radioSet);\n return !checked || checked === node;\n}\n\nfunction isHidden(node) {\n // offsetParent being null will allow detecting cases where an element is invisible or inside an invisible element,\n // as long as the element does not use position: fixed. For them, their visibility has to be checked directly as well.\n return node.offsetParent === null || getComputedStyle(node).visibility === 'hidden';\n}\n\nmodule.exports = tabbable;\n","module.exports = extend\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction extend() {\n var target = {}\n\n for (var i = 0; i < arguments.length; i++) {\n var source = arguments[i]\n\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key]\n }\n }\n }\n\n return target\n}\n","var tabbable = require('tabbable');\nvar xtend = require('xtend');\n\nvar activeFocusDelay;\n\nvar activeFocusTraps = (function() {\n var trapQueue = [];\n return {\n activateTrap: function(trap) {\n if (trapQueue.length > 0) {\n var activeTrap = trapQueue[trapQueue.length - 1];\n if (activeTrap !== trap) {\n activeTrap.pause();\n }\n }\n\n var trapIndex = trapQueue.indexOf(trap);\n if (trapIndex === -1) {\n trapQueue.push(trap);\n } else {\n // move this existing trap to the front of the queue\n trapQueue.splice(trapIndex, 1);\n trapQueue.push(trap);\n }\n },\n\n deactivateTrap: function(trap) {\n var trapIndex = trapQueue.indexOf(trap);\n if (trapIndex !== -1) {\n trapQueue.splice(trapIndex, 1);\n }\n\n if (trapQueue.length > 0) {\n trapQueue[trapQueue.length - 1].unpause();\n }\n }\n };\n})();\n\nfunction focusTrap(element, userOptions) {\n var doc = document;\n var container =\n typeof element === 'string' ? doc.querySelector(element) : element;\n\n var config = xtend(\n {\n returnFocusOnDeactivate: true,\n escapeDeactivates: true\n },\n userOptions\n );\n\n var state = {\n firstTabbableNode: null,\n lastTabbableNode: null,\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false\n };\n\n var trap = {\n activate: activate,\n deactivate: deactivate,\n pause: pause,\n unpause: unpause\n };\n\n return trap;\n\n function activate(activateOptions) {\n if (state.active) return;\n\n updateTabbableNodes();\n\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = doc.activeElement;\n\n var onActivate =\n activateOptions && activateOptions.onActivate\n ? activateOptions.onActivate\n : config.onActivate;\n if (onActivate) {\n onActivate();\n }\n\n addListeners();\n return trap;\n }\n\n function deactivate(deactivateOptions) {\n if (!state.active) return;\n\n clearTimeout(activeFocusDelay);\n\n removeListeners();\n state.active = false;\n state.paused = false;\n\n activeFocusTraps.deactivateTrap(trap);\n\n var onDeactivate =\n deactivateOptions && deactivateOptions.onDeactivate !== undefined\n ? deactivateOptions.onDeactivate\n : config.onDeactivate;\n if (onDeactivate) {\n onDeactivate();\n }\n\n var returnFocus =\n deactivateOptions && deactivateOptions.returnFocus !== undefined\n ? deactivateOptions.returnFocus\n : config.returnFocusOnDeactivate;\n if (returnFocus) {\n delay(function() {\n tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n });\n }\n\n return trap;\n }\n\n function pause() {\n if (state.paused || !state.active) return;\n state.paused = true;\n removeListeners();\n }\n\n function unpause() {\n if (!state.paused || !state.active) return;\n state.paused = false;\n updateTabbableNodes();\n addListeners();\n }\n\n function addListeners() {\n if (!state.active) return;\n\n // There can be only one listening focus trap at a time\n activeFocusTraps.activateTrap(trap);\n\n // Delay ensures that the focused element doesn't capture the event\n // that caused the focus trap activation.\n activeFocusDelay = delay(function() {\n tryFocus(getInitialFocusNode());\n });\n\n doc.addEventListener('focusin', checkFocusIn, true);\n doc.addEventListener('mousedown', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('touchstart', checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener('click', checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener('keydown', checkKey, {\n capture: true,\n passive: false\n });\n\n return trap;\n }\n\n function removeListeners() {\n if (!state.active) return;\n\n doc.removeEventListener('focusin', checkFocusIn, true);\n doc.removeEventListener('mousedown', checkPointerDown, true);\n doc.removeEventListener('touchstart', checkPointerDown, true);\n doc.removeEventListener('click', checkClick, true);\n doc.removeEventListener('keydown', checkKey, true);\n\n return trap;\n }\n\n function getNodeForOption(optionName) {\n var optionValue = config[optionName];\n var node = optionValue;\n if (!optionValue) {\n return null;\n }\n if (typeof optionValue === 'string') {\n node = doc.querySelector(optionValue);\n if (!node) {\n throw new Error('`' + optionName + '` refers to no known node');\n }\n }\n if (typeof optionValue === 'function') {\n node = optionValue();\n if (!node) {\n throw new Error('`' + optionName + '` did not return a node');\n }\n }\n return node;\n }\n\n function getInitialFocusNode() {\n var node;\n if (getNodeForOption('initialFocus') !== null) {\n node = getNodeForOption('initialFocus');\n } else if (container.contains(doc.activeElement)) {\n node = doc.activeElement;\n } else {\n node = state.firstTabbableNode || getNodeForOption('fallbackFocus');\n }\n\n if (!node) {\n throw new Error(\n 'Your focus-trap needs to have at least one focusable element'\n );\n }\n\n return node;\n }\n\n function getReturnFocusNode(previousActiveElement) {\n var node = getNodeForOption('setReturnFocus');\n return node ? node : previousActiveElement;\n }\n\n // This needs to be done on mousedown and touchstart instead of click\n // so that it precedes the focus event.\n function checkPointerDown(e) {\n if (container.contains(e.target)) return;\n if (config.clickOutsideDeactivates) {\n deactivate({\n returnFocus: !tabbable.isFocusable(e.target)\n });\n return;\n }\n // This is needed for mobile devices.\n // (If we'll only let `click` events through,\n // then on mobile they will be blocked anyways if `touchstart` is blocked.)\n if (config.allowOutsideClick && config.allowOutsideClick(e)) {\n return;\n }\n e.preventDefault();\n }\n\n // In case focus escapes the trap for some strange reason, pull it back in.\n function checkFocusIn(e) {\n // In Firefox when you Tab out of an iframe the Document is briefly focused.\n if (container.contains(e.target) || e.target instanceof Document) {\n return;\n }\n e.stopImmediatePropagation();\n tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n\n function checkKey(e) {\n if (config.escapeDeactivates !== false && isEscapeEvent(e)) {\n e.preventDefault();\n deactivate();\n return;\n }\n if (isTabEvent(e)) {\n checkTab(e);\n return;\n }\n }\n\n // Hijack Tab events on the first and last focusable nodes of the trap,\n // in order to prevent focus from escaping. If it escapes for even a\n // moment it can end up scrolling the page and causing confusion so we\n // kind of need to capture the action at the keydown phase.\n function checkTab(e) {\n updateTabbableNodes();\n if (e.shiftKey && e.target === state.firstTabbableNode) {\n e.preventDefault();\n tryFocus(state.lastTabbableNode);\n return;\n }\n if (!e.shiftKey && e.target === state.lastTabbableNode) {\n e.preventDefault();\n tryFocus(state.firstTabbableNode);\n return;\n }\n }\n\n function checkClick(e) {\n if (config.clickOutsideDeactivates) return;\n if (container.contains(e.target)) return;\n if (config.allowOutsideClick && config.allowOutsideClick(e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n }\n\n function updateTabbableNodes() {\n var tabbableNodes = tabbable(container);\n state.firstTabbableNode = tabbableNodes[0] || getInitialFocusNode();\n state.lastTabbableNode =\n tabbableNodes[tabbableNodes.length - 1] || getInitialFocusNode();\n }\n\n function tryFocus(node) {\n if (node === doc.activeElement) return;\n if (!node || !node.focus) {\n tryFocus(getInitialFocusNode());\n return;\n }\n node.focus();\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n }\n}\n\nfunction isSelectableInput(node) {\n return (\n node.tagName &&\n node.tagName.toLowerCase() === 'input' &&\n typeof node.select === 'function'\n );\n}\n\nfunction isEscapeEvent(e) {\n return e.key === 'Escape' || e.key === 'Esc' || e.keyCode === 27;\n}\n\nfunction isTabEvent(e) {\n return e.key === 'Tab' || e.keyCode === 9;\n}\n\nfunction delay(fn) {\n return setTimeout(fn, 0);\n}\n\nmodule.exports = focusTrap;\n","// \n// An event handler can take an optional event argument\n// and should not return a value\n \n \n\n// An array of all currently registered event handlers for a type\n \n \n// A map of event types and their corresponding event handlers.\n \n \n \n \n\n/** Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nfunction mitt(all ) {\n\tall = all || Object.create(null);\n\n\treturn {\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to listen for, or `\"*\"` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton: function on(type , handler ) {\n\t\t\t(all[type] || (all[type] = [])).push(handler);\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t *\n\t\t * @param {String} type\tType of event to unregister `handler` from, or `\"*\"`\n\t\t * @param {Function} handler Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff: function off(type , handler ) {\n\t\t\tif (all[type]) {\n\t\t\t\tall[type].splice(all[type].indexOf(handler) >>> 0, 1);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `\"*\"` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * @param {String} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit: function emit(type , evt ) {\n\t\t\t(all[type] || []).slice().map(function (handler) { handler(evt); });\n\t\t\t(all['*'] || []).slice().map(function (handler) { handler(type, evt); });\n\t\t}\n\t};\n}\n\nexport default mitt;\n//# sourceMappingURL=mitt.es.js.map\n","/**\n * Convert a blob to a native File\n * @param blob - Blob to convert to file\n * @param fileName - Name of the file\n * @param lastModified - Date modified\n */\nconst safeBlobToFile = (blob, fileName, lastModified) => {\n try {\n return new File([blob], fileName || \"file_name\", {\n lastModified: (lastModified || new Date()).getTime(),\n type: blob.type\n });\n }\n catch (error) {\n return blob;\n }\n};\nexport const blobToUpploadFile = (blob, name, type, lastModified) => {\n const result = {\n name,\n blob,\n lastModified,\n type\n };\n return result;\n};\nexport const safeUpploadFileToFile = (file) => {\n const blob = file.blob;\n file.lastModified = file.lastModified || new Date();\n return safeBlobToFile(blob, file.name, file.lastModified);\n};\n//# sourceMappingURL=files.js.map","import { UpploadService } from \"./service\";\nimport { setI18N, translate } from \"./helpers/i18n\";\nimport { getElements, safeListen, compressImage } from \"./helpers/elements\";\nimport { colorSVG } from \"./helpers/assets\";\nimport createFocusTrap from \"focus-trap\";\nimport mitt from \"mitt\";\nimport { safeUpploadFileToFile, blobToUpploadFile } from \"./helpers/files\";\nclass DefaultService extends UpploadService {\n constructor() {\n super(...arguments);\n this.name = \"default\";\n this.invisible = true;\n this.template = () => `

${translate(\"services.default.heading\")}

`;\n }\n}\nclass UploadingService extends UpploadService {\n constructor() {\n super(...arguments);\n this.name = \"uploading\";\n this.invisible = true;\n this.template = () => `
\n
\n

${translate(\"uploading\")}

\n
`;\n }\n}\n/**\n * Uppload image uploading widget\n */\nexport class Uppload {\n /**\n * Create a new Uppload instance\n * @param settings - Uppload instance settings\n */\n constructor(settings) {\n this.services = [new DefaultService(), new UploadingService()];\n this.effects = [];\n this.isOpen = false;\n this.activeService = \"default\";\n this.activeEffect = \"\";\n this.file = { blob: new Blob() };\n this.lang = {};\n this.emitter = mitt();\n this.uploadProgress = 0;\n this.inline = false;\n this.transitionDuration = 300;\n this.settings = {};\n this.updateSettings(settings || {});\n const div = document.createElement(\"div\");\n this.renderContainer();\n div.classList.add(\"uppload-container\");\n const body = document.body;\n if (body) {\n body.appendChild(div);\n }\n this.container = div;\n this.focusTrap = createFocusTrap(this.container, {\n initialFocus: () => this.container.querySelector(\"button\")\n });\n requestAnimationFrame(() => this.update());\n }\n /**\n * Update widget settings such as i18n\n * @param settings - Uppload settings object\n */\n updateSettings(settings) {\n this.settings = Object.assign(Object.assign({}, this.settings), settings);\n this.emitter.emit(\"settingsUpdated\", settings);\n if (settings.lang)\n setI18N(settings.lang);\n if (settings.defaultService)\n this.activeService = settings.defaultService;\n if (settings.lang)\n this.lang = settings.lang;\n if (settings.transitionDuration)\n this.transitionDuration = settings.transitionDuration;\n if (settings.uploader)\n this.uploader = settings.uploader;\n this.inline = !!settings.inline;\n this.update();\n if (this.settings.customClass)\n this.container.classList.add(this.settings.customClass);\n if (this.inline)\n this.container.classList.add(\"uppload-inline\");\n }\n ready() {\n if (this.settings.value)\n this.bind(this.settings.value);\n this.renderContainer();\n this.emitter.emit(\"ready\");\n }\n /**\n * Bind the image URL value to DOM elements\n * @param value - URL of the image\n */\n bind(value) {\n if (this.settings.bind) {\n const elements = getElements(this.settings.bind);\n elements.forEach(element => {\n if (element.nodeName === \"IMG\") {\n element.setAttribute(\"src\", value);\n }\n else {\n element.setAttribute(\"value\", value);\n }\n });\n this.emitter.emit(\"bind\");\n }\n }\n /**\n * Use an uploader, service, or effect in your package\n * @param plugin - A single uploader, service, or effect or an array of them\n */\n use(plugin) {\n if (Array.isArray(plugin)) {\n plugin.forEach((item) => this.install(item));\n }\n else {\n this.install(plugin);\n }\n }\n /**\n * Remove a plugin (effect or serve) from this instance\n * @param slug - Slug of the plugin to be removed\n */\n remove(slug) {\n this.services = this.services.filter(service => service.name !== slug);\n this.effects = this.effects.filter(service => service.name !== slug);\n this.update();\n this.emitter.emit(\"remove\", slug);\n }\n /**\n * Update the plugins for this instance\n * @param pluginUpdateFunction - Function to update this instance's plugins\n */\n updatePlugins(pluginUpdateFunction) {\n const plugins = pluginUpdateFunction(this.services);\n const services = plugins.filter(plugin => plugin.type === \"service\");\n const hasDefaultService = !!services.filter(service => service.name === \"default\").length;\n const hasUploadingService = !!services.filter(service => service.name === \"uploading\").length;\n if (!hasUploadingService)\n services.unshift(new UploadingService());\n if (!hasDefaultService)\n services.unshift(new DefaultService());\n this.services = services;\n this.effects = plugins.filter(plugin => plugin.type === \"effect\");\n this.update();\n }\n /**\n * Install a new uploader, service, or effect to this instance\n * @param plugin - A single uploader, service, or effect\n */\n install(plugin) {\n // Check if the browser supports this plugin\n if (!plugin.supports())\n return;\n if (plugin.type === \"service\") {\n // Install this service if it isn't already installed\n const has = !!this.services.filter(service => service.name === plugin.name).length;\n if (!has)\n this.services.push(plugin);\n this.ready();\n }\n else if (plugin.type === \"effect\") {\n const has = !!this.effects.filter(effect => effect.name === plugin.name)\n .length;\n if (!has)\n this.effects.push(plugin);\n this.ready();\n }\n }\n /**\n * Returns whether the modal is currently open\n */\n modalOpen() {\n return this.isOpen;\n }\n /**\n * Open the Uppload widget\n */\n open() {\n if (this.isOpen)\n return;\n this.isOpen = true;\n this.file = { blob: new Blob() };\n this.activeService = \"default\";\n this.activeEffect = \"\";\n const serviceRadio = this.container.querySelector(`input[type=radio][value='${this.activeService}']`);\n if (serviceRadio)\n serviceRadio.setAttribute(\"checked\", \"checked\");\n this.container.style.transition = `${this.transitionDuration}ms`;\n this.container.style.opacity = \"0\";\n this.update();\n let firstService = this.settings.defaultService;\n if (this.services.length === 3)\n this.navigate(this.services[2].name);\n if (firstService)\n this.navigate(firstService);\n safeListen(document.body, \"keyup\", e => {\n if (e.key === \"Escape\" && this.open)\n this.close();\n });\n setTimeout(() => {\n this.container.style.opacity = \"1\";\n }, 1);\n this.emitter.emit(\"open\");\n }\n /**\n * Close the Uppload widget\n */\n close() {\n if (!this.isOpen)\n return;\n this.stopCurrentService();\n this.isOpen = false;\n this.emitter.emit(\"close\");\n this.container.style.opacity = \"0\";\n setTimeout(() => this.update(), this.transitionDuration);\n }\n /**\n * Toggles the Uppload widget\n */\n toggle() {\n if (this.modalOpen())\n this.close();\n else\n this.open();\n }\n /**\n * Re-render the widget\n */\n update() {\n if (!this.container)\n return;\n this.hideHelp();\n const content = this.container.querySelector(\".uppload-active-container\");\n if (content)\n content.innerHTML = this.render();\n const aside = this.container.querySelector(\"aside\");\n if (aside && this.activeService !== \"default\" && !this.activeEffect)\n aside.style.display = \"block\";\n const footerEffectsNav = this.container.querySelector(\".effects-nav\");\n if (aside && footerEffectsNav && this.activeEffect) {\n footerEffectsNav.style.display = \"\";\n aside.style.display = \"none\";\n }\n else if (aside && footerEffectsNav && this.activeService === \"default\") {\n aside.style.display = \"none\";\n footerEffectsNav.style.display = \"none\";\n }\n else if (aside && footerEffectsNav) {\n aside.style.display = \"\";\n footerEffectsNav.style.display = \"none\";\n }\n const effectsContainer = this.container.querySelector(\".uppload-effect\");\n if (effectsContainer)\n effectsContainer.style.display = this.activeEffect ? \"\" : \"none\";\n window.requestAnimationFrame(() => this.handlers());\n if (!this.isOpen) {\n this.container.classList.remove(\"visible\");\n this.focusTrap.deactivate();\n }\n else {\n this.container.classList.add(\"visible\");\n this.focusTrap.activate();\n }\n const effectsNav = this.container.querySelector(\"footer.effects-nav .effects-tabs\");\n if (effectsNav) {\n const parent = effectsNav.parentElement;\n if (parent) {\n let totalButtonsWidth = 0;\n const buttons = parent.querySelectorAll(\".effects-continue\");\n buttons.forEach(button => {\n const buttonSize = button.getBoundingClientRect();\n totalButtonsWidth += buttonSize.width;\n });\n const size = parent.getBoundingClientRect();\n effectsNav.style.width = `${size.width - totalButtonsWidth}px`;\n }\n }\n const sideNavbar = this.container.querySelector(\"aside\");\n if (sideNavbar && this.services.length === 3)\n sideNavbar.classList.add(\"uppload-services--single\");\n const help = this.container.querySelector(\".uppload-help\");\n if (help) {\n help.classList.remove(\"visible\");\n safeListen(help, \"click\", () => this.hideHelp());\n }\n }\n /**\n * Returns the HTML template for the services navbar\n * @param sidebar - Whether this is an input radio (for sidebar) or buttons (for home)\n */\n getNavbar(sidebar = false) {\n return `<${sidebar ? \"nav\" : \"div\"} class=\"uppload-services\">\n ${this.services\n .filter(service => !service.invisible)\n .map(service => `
\n ${sidebar\n ? ``\n : \"\"}\n <${sidebar\n ? `label for=\"uppload-service-radio-${service.name}\"`\n : \"button\"} data-uppload-service=\"${service.name}\">\n ${service.icon.indexOf(\"http\") === 0\n ? `\"\"`\n : colorSVG(service.icon, service)}\n ${this.lang.services &&\n this.lang.services[service.name] &&\n this.lang.services[service.name].title\n ? this.lang.services[service.name].title\n : service.name}\n \n
`)\n .join(\"\")}\n `;\n }\n /**\n * Returns the HTML template for the effects navbar\n */\n getEffectsNavbar() {\n return `
\n \n
\n ${this.effects\n .map(effect => `\n \n \n `)\n .join(\"\")}\n
\n \n
`;\n }\n /**\n * Renders the main container for the widget\n */\n renderContainer() {\n if (this.container)\n this.container.innerHTML = `\n
\n \n
\n ${this.error ? `
${this.error}
` : \"\"}\n
\n
${this.getEffectsNavbar()}
\n
\n
\n
\n
\n

${translate(\"help.loading\")}

\n
\n
\n
\n
\n \n
\n
\n
\n \n
\n `;\n }\n /**\n * Render the content inside the widget container\n */\n render() {\n return `\n ${this.error ? `
${this.error}
` : \"\"}\n ${this.activeEffect\n ? `
\n ${this.activeEffect && this.file ? this.renderActiveEffect(this.file) : \"\"}\n
`\n : `
\n ${this.activeEffect && this.file ? \"\" : this.renderActiveService()}\n ${this.activeService === \"default\" ? this.getNavbar() : \"\"}\n
`}`;\n }\n /**\n * Render the currently active service\n */\n renderActiveService() {\n const activeServices = this.services.filter(service => service.name === this.activeService);\n if (activeServices.length) {\n const activeService = activeServices[0];\n requestAnimationFrame(() => {\n if (typeof activeService.handlers === \"function\")\n activeService.handlers({\n next: this.next.bind(this),\n upload: this.upload.bind(this),\n uploadMultiple: this.uploadMultiple.bind(this),\n handle: this.handle.bind(this),\n showHelp: this.showHelp.bind(this),\n uppload: this,\n translate\n });\n });\n return `${typeof activeService.template === \"function\"\n ? activeService.template({ translate, uppload: this })\n : \"\"}`;\n }\n }\n /**\n * Render the currently active effect\n */\n renderActiveEffect(file) {\n const activeEffects = this.effects.filter(effect => effect.name === this.activeEffect);\n if (activeEffects.length) {\n const activeEffect = activeEffects[0];\n requestAnimationFrame(() => {\n if (typeof activeEffect.handlers === \"function\")\n activeEffect.handlers({\n next: this.next.bind(this),\n upload: this.upload.bind(this),\n uploadMultiple: this.uploadMultiple.bind(this),\n handle: this.handle.bind(this),\n showHelp: this.showHelp.bind(this),\n uppload: this,\n translate\n });\n });\n return `\n
${typeof activeEffect.template === \"function\"\n ? activeEffect.template({ file, translate })\n : \"\"}
\n `;\n }\n }\n /**\n * Uploads multiple files to the server\n * @param file\n * @returns JSON response from server\n */\n uploadMultiple(file) {\n this.emitter.emit(\"before-upload\");\n return new Promise(resolve => {\n this.navigate(\"uploading\");\n if (this.uploader && typeof this.uploader === \"function\") {\n this.uploader(file, this.updateProgress.bind(this))\n .then((response) => {\n this.navigate(\"default\");\n resolve(response);\n this.emitter.emit(\"upload\", response);\n this.close();\n })\n .catch((error) => this.handle(error));\n }\n else {\n this.handle(new Error(\"no-uploader\"));\n }\n });\n }\n hideHelp() {\n const help = this.container.querySelector(\".uppload-help\");\n const helpLoading = this.container.querySelector(\".uppload-help-loading\");\n const sideNavbar = this.container.querySelector(\"aside\");\n const section = this.container.querySelector(\"section\");\n if (helpLoading)\n helpLoading.classList.remove(\"visible\");\n if (help)\n help.classList.remove(\"visible\");\n if (sideNavbar)\n sideNavbar.style.display = \"\";\n if (section)\n section.style.display = \"\";\n this.emitter.emit(\"hide-help\");\n }\n /**\n * Show the help article for this plugin in a frame\n * @param url - URL of help webpage\n */\n showHelp(url) {\n this.emitter.emit(\"help\", url);\n const aside = this.container.querySelector(\"aside\");\n if (aside)\n aside.style.display = \"none\";\n const section = this.container.querySelector(\"section\");\n if (section)\n section.style.display = \"none\";\n const helpLoading = this.container.querySelector(\".uppload-help-loading\");\n if (helpLoading)\n helpLoading.classList.add(\"visible\");\n const help = this.container.querySelector(\".uppload-help\");\n if (help) {\n const iframe = help.querySelector(\"iframe\");\n if (iframe) {\n iframe.setAttribute(\"src\", `https://uppload.js.org/help${url}`);\n let completed = false;\n const listener = () => {\n completed = true;\n help.classList.add(\"visible\");\n if (helpLoading)\n helpLoading.classList.remove(\"visible\");\n };\n safeListen(iframe, \"load\", listener);\n safeListen(iframe, \"error\", () => {\n completed = true;\n this.hideHelp();\n });\n }\n }\n }\n /**\n * Updates the file and goes to the active effect\n * @param file - The currently active file Blob\n */\n next(file) {\n this.emitter.emit(\"next\", file);\n this.file = file;\n if (this.activeEffect) {\n // There's already an active effect\n }\n else {\n // Find the first effect and navigate to that\n // Unless the file type is not an image\n if (this.effects.length &&\n file.type &&\n file.type.indexOf(\"image/\") === 0) {\n this.activeEffect = this.effects[0].name;\n this.update();\n }\n else {\n return this.upload(safeUpploadFileToFile(file));\n }\n }\n // Set active state to current effect\n const activeRadio = this.container.querySelector(`input[name='uppload-effect-radio'][value='${this.activeEffect}']`);\n if (activeRadio)\n activeRadio.setAttribute(\"checked\", \"checked\");\n }\n compress(file) {\n if (this.settings.compressionFromMimes &&\n !this.settings.compressionFromMimes.includes(file.type))\n return new Promise(resolve => resolve(file));\n if (typeof this.settings.compressor === \"function\")\n return this.settings.compressor(file);\n return compressImage(file, this.settings);\n }\n /**\n * Upload a file to the server\n * @param file - A Blob object containing the file to upload\n * @returns The file URL\n */\n upload(file) {\n this.emitter.emit(\"before-upload\", file);\n return new Promise((resolve, reject) => {\n this.navigate(\"uploading\");\n let upploadFile = blobToUpploadFile(file);\n try {\n if (typeof file.name === \"string\")\n upploadFile = blobToUpploadFile(file, file.name, file.type, new Date(file.lastModified));\n }\n catch (error) { }\n if (this.uploader && typeof this.uploader === \"function\") {\n this.compress(file)\n .then(file => {\n if (this.settings.compression)\n this.emitter.emit(\"compress\", file);\n return file;\n })\n .then(blob => {\n upploadFile.blob = blob;\n return safeUpploadFileToFile(upploadFile);\n })\n .then(file => this.uploader(file, this.updateProgress.bind(this)))\n .then((url) => {\n this.bind(url);\n this.navigate(\"default\");\n resolve(url);\n this.emitter.emit(\"upload\", url);\n this.close();\n })\n .catch((error) => this.handle(error));\n }\n else {\n reject(\"no-uploader\");\n }\n });\n }\n /**\n * Gracefully display an error message\n * @param error - Error to display\n */\n handle(error) {\n this.error = translate(error.message) || error.message;\n this.emitter.emit(\"error\", this.error);\n this.update();\n if (this.activeService === \"uploading\")\n this.navigate(\"default\");\n setTimeout(() => {\n this.error = undefined;\n this.update();\n }, 4000);\n }\n /**\n * Adds event handlers for the widget\n */\n handlers() {\n const openFunction = () => this.open();\n const closeFunction = () => this.close();\n /**\n * Clicking on each sidebar link should open its service\n */\n const defaultServiceLinks = this.container.querySelectorAll(\".uppload-service--default .uppload-service-name button\");\n defaultServiceLinks.forEach(link => {\n const linkFunction = (e) => {\n const service = link.getAttribute(\"data-uppload-service\");\n if (service) {\n this.navigate(service);\n const serviceDiv = this.container.querySelector(`[data-uppload-service=\"${service}\"]`);\n if (serviceDiv && serviceDiv.parentElement) {\n let top = 0;\n let left = 0;\n const serviceDivRect = serviceDiv.getBoundingClientRect();\n const serviceNavRect = serviceDiv.parentElement.getBoundingClientRect();\n top = serviceDivRect.top - serviceNavRect.top;\n left = serviceDivRect.left - serviceNavRect.left;\n const aside = serviceDiv.parentElement.parentElement;\n try {\n // Edge doesn't support scrollTo and throws an error\n if (aside)\n aside.scrollTo(left, top);\n }\n catch (error) { }\n }\n }\n const serviceRadio = this.container.querySelector(`input[type=radio][value='${service}']`);\n if (serviceRadio)\n serviceRadio.setAttribute(\"checked\", \"checked\");\n e.preventDefault();\n return false;\n };\n safeListen(link, \"click\", linkFunction);\n });\n /**\n * Clicking on each sidebar link should open its service\n */\n const inputRadios = this.container.querySelectorAll(\".uppload-services input[type='radio']\");\n inputRadios.forEach(radio => {\n const radioFunction = (e) => {\n const inputRadio = this.container.querySelector(\"[name='uppload-radio']:checked\");\n if (!inputRadio)\n return;\n const service = inputRadio.value;\n this.navigate(service);\n };\n safeListen(radio, \"change\", radioFunction);\n });\n /**\n * Clicking on each sidebar link should open its service\n */\n const effectInputRadios = this.container.querySelectorAll(\".effects-nav input[type='radio']\");\n effectInputRadios.forEach(radio => {\n const radioFunction = (e) => {\n const inputRadio = this.container.querySelector(\"[name='uppload-effect-radio']:checked\");\n if (!inputRadio)\n return;\n const effect = inputRadio.value;\n this.activeEffect = effect;\n this.update();\n };\n safeListen(radio, \"change\", radioFunction);\n });\n /**\n * Clicking on the background should close the modal\n */\n const background = this.container.querySelector(\".uppload-modal-bg\");\n if (background) {\n safeListen(background, \"click\", closeFunction);\n }\n /**\n * All elements in `call` should open the modal on click\n */\n if (this.settings.call) {\n const elements = getElements(this.settings.call);\n elements.forEach(element => {\n safeListen(element, \"click\", openFunction);\n });\n }\n /**\n * Clicking on the cancel button restarts the process\n */\n const cancelButton = this.container.querySelector(\".effects-continue--cancel\");\n if (cancelButton)\n safeListen(cancelButton, \"click\", () => {\n this.file = { blob: new Blob() };\n this.activeService = \"default\";\n this.activeEffect = \"\";\n this.update();\n });\n /**\n * Clicking on the cancel button restarts the process\n */\n const uploadButton = this.container.querySelector(\".effects-continue--upload\");\n if (uploadButton)\n safeListen(uploadButton, \"click\", () => {\n if (!this.file)\n return;\n this.activeService = \"\";\n this.activeEffect = \"\";\n this.upload(safeUpploadFileToFile(this.file));\n });\n }\n /**\n * Stops any actions being done by the currently active service\n * For example, if your webcame is being accessed, kill that process\n */\n stopCurrentService() {\n const currentService = this.services.filter(item => item.name === this.activeService);\n if (currentService.length) {\n const service = currentService[0];\n service.stop();\n }\n }\n /**\n * Navigate to an Uppload service page\n * @param service - Slug name of service (e.g., instagram)\n */\n navigate(service) {\n if (!this.services.filter(item => item.name === service).length)\n throw new Error(\"invalid-service\");\n this.stopCurrentService();\n this.activeService = service;\n this.update();\n const focusable = this.container.querySelector(\".uppload-active-container input, .uppload-active-container button\");\n if (focusable)\n focusable.focus();\n }\n /**\n * Add an event listener\n * @param type - Type of event listener (e.g., open)\n * @param handler - Event handler function\n */\n on(type, handler) {\n return this.emitter.on(type, handler);\n }\n /**\n * Remove an event listener\n * @param type - Type of event listener (e.g., open)\n * @param handler - Event handler function\n */\n off(type, handler) {\n return this.emitter.on(type, handler);\n }\n /**\n * Updates the upload progress\n * @param progressPercent Current progress in percent\n */\n updateProgress(progressPercent) {\n this.uploadProgress = progressPercent;\n const progressText = this.container.querySelector(\".uppload-loader-text .progress\");\n if (progressText)\n progressText.innerHTML = `${parseInt(progressPercent.toString())}%`;\n this.emitter.emit(\"progress\", this.updateProgress);\n }\n}\n//# sourceMappingURL=uppload.js.map","export class UpploadEffect {\n constructor() {\n this.type = \"effect\";\n this.name = \"\";\n this.invisible = false;\n this.noRecolor = false;\n this.color = \"#000\";\n this.icon = \"\";\n this.template = () => \"\";\n this.handlers = () => { };\n this.supports = () => true;\n }\n}\n//# sourceMappingURL=effect.js.map","export const en = {\n upload: \"Upload\",\n cancel: \"Cancel\",\n close: \"Close\",\n uploading: \"Uploading...\",\n uploaded: \"Uploaded\",\n fetching: \"Getting your image from $1$...\",\n poweredBy: \"Powered by $1$\",\n needHelp: \"Need help?\",\n units: {\n px: \"px\",\n \"%\": \"%\",\n deg: \"°\"\n },\n errors: {\n response_not_ok: \"We got an error fetching this file\",\n unable_to_search: \"We got an error searching\",\n invalid_service_url: \"This is not $A$ $1$ URL\",\n invalid_url: \"This URL seems to be invalid\",\n upload_aborted: \"Your upload was cancelled\",\n upload_error: \"We got an error uploading this file\",\n file_type_not_allowed: \"This file type is not allowed\",\n file_too_large: \"Your file should be smaller than $1$\"\n },\n help: {\n loading: \"Loading help...\",\n close: \"Close help\"\n },\n services: {\n default: {\n heading: \"Select an image\"\n },\n local: {\n title: \"Choose file\",\n button: \"Select a file\",\n or: \"or\",\n drop: \"Drop files here\"\n },\n camera: {\n title: \"Camera\",\n button: \"Click photo\",\n switch: \"Switch camera\",\n waiting: \"Waiting for permission...\",\n unableToRead: \"We're not able to read your camera's video. This may be because you didn't grant the required permission, or because your device doesn't support camera access.\"\n },\n microlink: {\n button: \"Import from $1$\",\n label: \"$1$ $2$ URL\",\n placeholder: \"Enter $A$ $1$ $2$ URL\",\n type: \"post\"\n },\n url: {\n title: \"Direct URL\",\n label: \"Image URL\",\n placeholder: \"Enter an image URL\"\n },\n instagram: {\n title: \"Instagram\"\n },\n facebook: {\n title: \"Facebook\"\n },\n flickr: {\n title: \"Flickr\",\n type: \"photo\"\n },\n ninegag: {\n title: \"9GAG\",\n type: \"photo\"\n },\n deviantart: {\n title: \"DeviantArt\"\n },\n artstation: {\n title: \"ArtStation\"\n },\n twitter: {\n title: \"Twitter\",\n type: \"image tweet\"\n },\n pinterest: {\n title: \"Pinterest\",\n type: \"pin\"\n },\n flipboard: {\n title: \"Flipboard\",\n type: \"article\"\n },\n fotki: {\n title: \"Fotki\",\n type: \"photo\"\n },\n linkedin: {\n title: \"LinkedIn\"\n },\n reddit: {\n title: \"Reddit\"\n },\n tumblr: {\n title: \"Tumblr\"\n },\n weheartit: {\n title: \"We Heart It\"\n },\n screenshot: {\n title: \"Screenshot\",\n button: \"Take screenshot\",\n label: \"Webpage URL\",\n placeholder: \"Enter a webpage URL\",\n loading: \"Taking a screenshot...\"\n },\n search: {\n button: \"Search on $1$\",\n label: \"Find an image\",\n placeholder: \"Search for something\",\n imagesPoweredBy: \"Images powered by $1$\"\n },\n giphy: {\n title: \"GIPHY\"\n },\n unsplash: {\n title: \"Unsplash\"\n },\n pixabay: {\n title: \"Pixabay\"\n },\n pexels: {\n title: \"Pexels\"\n }\n },\n effects: {\n preview: {\n title: \"Preview\"\n },\n filters: {\n title: \"Filters\"\n },\n crop: {\n title: \"Crop\",\n aspectRatios: {\n free: \"Free\",\n square: \"Square\"\n }\n },\n rotate: {\n title: \"Rotate\"\n },\n flip: {\n title: \"Flip\",\n buttons: {\n horizontal: \"Horizontal\",\n vertical: \"Vertical\"\n }\n },\n sharpen: {\n title: \"Sharpen\"\n },\n blur: {\n title: \"Blur\"\n },\n brightness: {\n title: \"Brightness\"\n },\n contrast: {\n title: \"Contrast\"\n },\n grayscale: {\n title: \"Grayscale\"\n },\n \"hue-rotate\": {\n title: \"Hue rotate\"\n },\n invert: {\n title: \"Invert\"\n },\n saturate: {\n title: \"Saturate\"\n },\n sepia: {\n title: \"Sepia\"\n }\n },\n /**\n * Helpers can transform a string before returning it\n * You can define a language-specific helper here\n */\n helper: (text) => {\n // Replace all instances of $A$ with \"a\" or \"an\"\n const AAN = \"$A$\";\n while (text.indexOf(AAN) !== -1) {\n const index = text.indexOf(AAN);\n if (text.length > index + 3) {\n if ([\"a\", \"e\", \"i\", \"o\", \"u\"].indexOf(text[index + 4].toLowerCase()) !==\n -1) {\n text = text.replace(AAN, \"an\");\n }\n else {\n text = text.replace(AAN, \"a\");\n }\n }\n }\n return text;\n }\n};\n//# sourceMappingURL=en.js.map","import { UpploadService } from \"../service\";\nimport { safeListen } from \"../helpers/elements\";\nimport { translate } from \"../helpers/i18n\";\nexport default class Local extends UpploadService {\n constructor({ mimeTypes, maxFileSize } = {}) {\n super();\n this.name = \"local\";\n this.icon = ``;\n this.color = \"#34495e\";\n this.mimeTypes = [\"image/gif\", \"image/jpeg\", \"image/jpg\", \"image/png\"];\n this.maxFileSize = Infinity;\n this.template = (params) => {\n return `
\n
${params.translate(\"services.local.drop\")}
\n ${params.translate(\"services.local.or\")}\n \n
\n
\n
`;\n };\n this.handlers = (params) => {\n const dropArea = params.uppload.container.querySelector(\".drop-area\");\n if (dropArea) {\n safeListen(dropArea, \"drop\", event => this.dropHandler(params, event));\n safeListen(dropArea, \"dragover\", event => this.dragHandler(params, event));\n safeListen(dropArea, \"dragend\", event => this.dragStop(params, event));\n safeListen(dropArea, \"dragexit\", event => this.dragStop(params, event));\n safeListen(dropArea, \"dragleave\", event => this.dragStop(params, event));\n safeListen(dropArea, \"click\", event => this.fileSelect(params, event));\n }\n const input = params.uppload.container.querySelector(\".alternate-input input[type=file]\");\n if (input)\n safeListen(input, \"change\", event => this.getFile(params, event));\n const helpButton = params.uppload.container.querySelector(\".need-help-link\");\n if (helpButton)\n safeListen(helpButton, \"click\", () => params.showHelp(\"/services/local\"));\n };\n if (mimeTypes)\n this.mimeTypes = mimeTypes;\n if (maxFileSize)\n this.maxFileSize = maxFileSize;\n }\n getFile(params, event) {\n event.preventDefault();\n const files = event.target.files;\n let file = null;\n if (files) {\n if (params.uppload.settings.multiple && files.length > 1)\n return params.uploadMultiple(Array.from(files));\n for (let i = 0; i < files.length; i++) {\n const item = files[i];\n if (this.mimeTypes.indexOf(item.type) !== -1)\n if (item.size < this.maxFileSize)\n file = item;\n else\n params.handle(new Error(params.translate(\"errors.file_too_large\", `${this.maxFileSize} bytes`)));\n }\n }\n if (!file)\n return;\n if (file)\n params.next({\n blob: file,\n size: file.size,\n type: file.type,\n lastModified: file.lastModified\n ? new Date(file.lastModified)\n : undefined,\n name: file.name\n });\n }\n fileSelect(params, event) {\n const input = params.uppload.container.querySelector(\".alternate-input input[type=file]\");\n if (input)\n input.click();\n }\n dragStop(params, event) {\n const dropArea = params.uppload.container.querySelector(\".drop-area\");\n if (dropArea)\n dropArea.classList.remove(\"drop-area-active\");\n }\n dragHandler(params, event) {\n event.preventDefault();\n const dropArea = params.uppload.container.querySelector(\".drop-area\");\n if (dropArea)\n dropArea.classList.add(\"drop-area-active\");\n }\n dropHandler(params, event) {\n event.preventDefault();\n this.dragStop(params, event);\n let file = null; // getAsFile() returns File | null\n if (event.dataTransfer && event.dataTransfer.items) {\n for (let i = 0; i < event.dataTransfer.items.length; i++) {\n const item = event.dataTransfer.items[i];\n if (item.kind === \"file\" && this.mimeTypes.indexOf(item.type) !== -1) {\n file = item.getAsFile();\n if (!file || file.size > this.maxFileSize) {\n file = null;\n params.handle(new Error(params.translate(\"errors.file_too_large\", `${this.maxFileSize} bytes`)));\n }\n }\n }\n }\n if (!file)\n return;\n if (file)\n params.next({\n blob: file,\n size: file.size,\n type: file.type,\n lastModified: file.lastModified\n ? new Date(file.lastModified)\n : undefined,\n name: file.name\n });\n }\n}\n//# sourceMappingURL=local.js.map","/*!\n * Cropper.js v1.6.1\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2023-09-17T03:44:19.860Z\n */\n\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\n\nvar IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\nvar WINDOW = IS_BROWSER ? window : {};\nvar IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;\nvar HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;\nvar NAMESPACE = 'cropper';\n\n// Actions\nvar ACTION_ALL = 'all';\nvar ACTION_CROP = 'crop';\nvar ACTION_MOVE = 'move';\nvar ACTION_ZOOM = 'zoom';\nvar ACTION_EAST = 'e';\nvar ACTION_WEST = 'w';\nvar ACTION_SOUTH = 's';\nvar ACTION_NORTH = 'n';\nvar ACTION_NORTH_EAST = 'ne';\nvar ACTION_NORTH_WEST = 'nw';\nvar ACTION_SOUTH_EAST = 'se';\nvar ACTION_SOUTH_WEST = 'sw';\n\n// Classes\nvar CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\nvar CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\nvar CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\nvar CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\nvar CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\nvar CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\nvar CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\");\n\n// Data keys\nvar DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\nvar DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\");\n\n// Drag modes\nvar DRAG_MODE_CROP = 'crop';\nvar DRAG_MODE_MOVE = 'move';\nvar DRAG_MODE_NONE = 'none';\n\n// Events\nvar EVENT_CROP = 'crop';\nvar EVENT_CROP_END = 'cropend';\nvar EVENT_CROP_MOVE = 'cropmove';\nvar EVENT_CROP_START = 'cropstart';\nvar EVENT_DBLCLICK = 'dblclick';\nvar EVENT_TOUCH_START = IS_TOUCH_DEVICE ? 'touchstart' : 'mousedown';\nvar EVENT_TOUCH_MOVE = IS_TOUCH_DEVICE ? 'touchmove' : 'mousemove';\nvar EVENT_TOUCH_END = IS_TOUCH_DEVICE ? 'touchend touchcancel' : 'mouseup';\nvar EVENT_POINTER_DOWN = HAS_POINTER_EVENT ? 'pointerdown' : EVENT_TOUCH_START;\nvar EVENT_POINTER_MOVE = HAS_POINTER_EVENT ? 'pointermove' : EVENT_TOUCH_MOVE;\nvar EVENT_POINTER_UP = HAS_POINTER_EVENT ? 'pointerup pointercancel' : EVENT_TOUCH_END;\nvar EVENT_READY = 'ready';\nvar EVENT_RESIZE = 'resize';\nvar EVENT_WHEEL = 'wheel';\nvar EVENT_ZOOM = 'zoom';\n\n// Mime types\nvar MIME_TYPE_JPEG = 'image/jpeg';\n\n// RegExps\nvar REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;\nvar REGEXP_DATA_URL = /^data:/;\nvar REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\nvar REGEXP_TAG_NAME = /^img|canvas$/i;\n\n// Misc\n// Inspired by the default width and height of a canvas element.\nvar MIN_CONTAINER_WIDTH = 200;\nvar MIN_CONTAINER_HEIGHT = 100;\n\nvar DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: MIN_CONTAINER_WIDTH,\n minContainerHeight: MIN_CONTAINER_HEIGHT,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n};\n\nvar TEMPLATE = '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
' + '
';\n\n/**\n * Check if the given value is not a number.\n */\nvar isNaN = Number.isNaN || WINDOW.isNaN;\n\n/**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\nfunction isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n}\n\n/**\n * Check if the given value is a positive number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a positive number, else `false`.\n */\nvar isPositiveNumber = function isPositiveNumber(value) {\n return value > 0 && value < Infinity;\n};\n\n/**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\nfunction isUndefined(value) {\n return typeof value === 'undefined';\n}\n\n/**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\nfunction isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\nfunction isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (error) {\n return false;\n }\n}\n\n/**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\nfunction isFunction(value) {\n return typeof value === 'function';\n}\nvar slice = Array.prototype.slice;\n\n/**\n * Convert array-like or iterable object to an array.\n * @param {*} value - The value to convert.\n * @returns {Array} Returns a new array.\n */\nfunction toArray(value) {\n return Array.from ? Array.from(value) : slice.call(value);\n}\n\n/**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\nfunction forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length) /* array-like */) {\n toArray(data).forEach(function (value, key) {\n callback.call(data, value, key, data);\n });\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n return data;\n}\n\n/**\n * Extend the given object.\n * @param {*} target - The target object to extend.\n * @param {*} args - The rest objects for merging to the target object.\n * @returns {Object} The extended object.\n */\nvar assign = Object.assign || function assign(target) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (isObject(target) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n target[key] = arg[key];\n });\n }\n });\n }\n return target;\n};\nvar REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n\n/**\n * Normalize decimal number.\n * Check out {@link https://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\nfunction normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n}\nvar REGEXP_SUFFIX = /^width|height|left|top|marginLeft|marginTop$/;\n\n/**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\nfunction setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value = \"\".concat(value, \"px\");\n }\n style[property] = value;\n });\n}\n\n/**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\nfunction hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n}\n\n/**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\nfunction addClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n var className = element.className.trim();\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n}\n\n/**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\nfunction removeClass(element, value) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n}\n\n/**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\nfunction toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n }\n\n // IE10-11 doesn't support the second parameter of `classList.toggle`\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n}\nvar REGEXP_CAMEL_CASE = /([a-z\\d])([A-Z])/g;\n\n/**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\nfunction toParamCase(value) {\n return value.replace(REGEXP_CAMEL_CASE, '$1-$2').toLowerCase();\n}\n\n/**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\nfunction getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n if (element.dataset) {\n return element.dataset[name];\n }\n return element.getAttribute(\"data-\".concat(toParamCase(name)));\n}\n\n/**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\nfunction setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(toParamCase(name)), data);\n }\n}\n\n/**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\nfunction removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (error) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (error) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(toParamCase(name)));\n }\n}\nvar REGEXP_SPACES = /\\s\\s*/;\nvar onceSupported = function () {\n var supported = false;\n if (IS_BROWSER) {\n var once = false;\n var listener = function listener() {};\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n return supported;\n}();\n\n/**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\nfunction removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n element.removeEventListener(event, handler, options);\n });\n}\n\n/**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\nfunction addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n listener.apply(element, args);\n };\n if (!listeners[event]) {\n listeners[event] = {};\n }\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n element.addEventListener(event, _handler, options);\n });\n}\n\n/**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\nfunction dispatchEvent(element, type, data) {\n var event;\n\n // Event and CustomEvent on IE9-11 are global objects, not constructors\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n return element.dispatchEvent(event);\n}\n\n/**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\nfunction getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n}\nvar location = WINDOW.location;\nvar REGEXP_ORIGINS = /^(\\w+:)\\/\\/([^:/?#]*):?(\\d*)/i;\n\n/**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\nfunction isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts !== null && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n}\n\n/**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\nfunction addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n}\n\n/**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\nfunction getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n }\n\n // Rotate should come first before scale to match orientation transform\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n}\n\n/**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\nfunction getMaxZoomRatio(pointers) {\n var pointers2 = _objectSpread2({}, pointers);\n var maxRatio = 0;\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n if (Math.abs(ratio) > Math.abs(maxRatio)) {\n maxRatio = ratio;\n }\n });\n });\n return maxRatio;\n}\n\n/**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\nfunction getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : _objectSpread2({\n startX: pageX,\n startY: pageY\n }, end);\n}\n\n/**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\nfunction getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n}\n\n/**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\nfunction getAdjustedSizes(_ref4) {\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n var isValidWidth = isPositiveNumber(width);\n var isValidHeight = isPositiveNumber(height);\n if (isValidWidth && isValidHeight) {\n var adjustedWidth = height * aspectRatio;\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidWidth) {\n height = width / aspectRatio;\n } else if (isValidHeight) {\n width = height * aspectRatio;\n }\n return {\n width: width,\n height: height\n };\n}\n\n/**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\nfunction getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n}\n\n/**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\nfunction getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight));\n\n // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n}\nvar fromCharCode = String.fromCharCode;\n\n/**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\nfunction getStringFromCharCode(dataView, start, length) {\n var str = '';\n length += start;\n for (var i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n return str;\n}\nvar REGEXP_DATA_URL_HEAD = /^data:.*,/;\n\n/**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\nfunction dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n}\n\n/**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\nfunction arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n\n // Chunk Typed Array for better performance (#435)\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n while (uint8.length > 0) {\n // XXX: Babel's `toConsumableArray` helper will throw error in IE or Safari 9\n // eslint-disable-next-line prefer-spread\n chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n}\n\n/**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\nfunction resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation;\n\n // Ignores range error when the image does not have correct Exif information\n try {\n var littleEndian;\n var app1Start;\n var ifdStart;\n\n // Only handle JPEG image (start by 0xFFD8)\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n offset += 1;\n }\n }\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n if (littleEndian || endianness === 0x4D4D /* bigEndian */) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n var _offset;\n var i;\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n if (dataView.getUint16(_offset, littleEndian) === 0x0112 /* Orientation */) {\n // 8 is the offset of the current tag's value\n _offset += 8;\n\n // Get the original orientation value\n orientation = dataView.getUint16(_offset, littleEndian);\n\n // Override the orientation with its default value\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (error) {\n orientation = 1;\n }\n return orientation;\n}\n\n/**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\nfunction parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n\n // Rotate left 180°\n case 3:\n rotate = -180;\n break;\n\n // Flip vertical\n case 4:\n scaleY = -1;\n break;\n\n // Flip vertical and rotate right 90°\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n\n // Rotate right 90°\n case 6:\n rotate = 90;\n break;\n\n // Flip horizontal and rotate right 90°\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n\n // Rotate left 90°\n case 8:\n rotate = -90;\n break;\n }\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n\nvar render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n var minWidth = Number(options.minContainerWidth);\n var minHeight = Number(options.minContainerHeight);\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, minWidth >= 0 ? minWidth : MIN_CONTAINER_WIDTH),\n height: Math.max(container.offsetHeight, minHeight >= 0 ? minHeight : MIN_CONTAINER_HEIGHT)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n canvasData.left = (containerData.width - canvasData.width) / 2;\n canvasData.top = (containerData.height - canvasData.height) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true);\n\n // Initialize auto crop area\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n\n // The width/height of auto crop area must large than \"minWidth/Height\"\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height;\n\n // The min/maxCropBoxWidth/Height must be less than container's width/height\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n }\n\n // The minWidth/Height must be less than maxWidth/Height\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n};\n\nvar preview = {\n initPreview: function initPreview() {\n var element = this.element,\n crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var alt = element.alt || 'The image to preview';\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = url;\n image.alt = alt;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n if (!preview) {\n return;\n }\n var previews = preview;\n if (typeof preview === 'string') {\n previews = element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img');\n\n // Save the original size for recover\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n img.src = url;\n img.alt = alt;\n\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n if (!this.cropped || this.disabled) {\n return;\n }\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n};\n\nvar events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this), {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel, {\n passive: false,\n capture: true\n });\n }\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n};\n\nvar handlers = {\n resize: function resize() {\n if (this.disabled) {\n return;\n }\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var ratioX = container.offsetWidth / containerData.width;\n var ratioY = container.offsetHeight / containerData.height;\n var ratio = Math.abs(ratioX - 1) > Math.abs(ratioY - 1) ? ratioX : ratioY;\n\n // Resize when width changed or height changed\n if (ratio !== 1) {\n var canvasData;\n var cropBoxData;\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n this.render();\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(event) {\n var _this = this;\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n if (this.disabled) {\n return;\n }\n event.preventDefault();\n\n // Limit wheel speed to prevent zoom too fast (#21)\n if (this.wheeling) {\n return;\n }\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n if (event.deltaY) {\n delta = event.deltaY > 0 ? 1 : -1;\n } else if (event.wheelDelta) {\n delta = -event.wheelDelta / 120;\n } else if (event.detail) {\n delta = event.detail > 0 ? 1 : -1;\n }\n this.zoom(-delta * ratio, event);\n },\n cropStart: function cropStart(event) {\n var buttons = event.buttons,\n button = event.button;\n if (this.disabled\n\n // Handle mouse event and pointer event and ignore touch event\n || (event.type === 'mousedown' || event.type === 'pointerdown' && event.pointerType === 'mouse') && (\n // No primary button (Usually the left button)\n isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0\n\n // Open context menu\n || event.ctrlKey)) {\n return;\n }\n var options = this.options,\n pointers = this.pointers;\n var action;\n if (event.changedTouches) {\n // Handle touch event\n forEach(event.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[event.pointerId || 0] = getPointer(event);\n }\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(event.target, DATA_ACTION);\n }\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n\n // This line is required for preventing page zooming in iOS browsers\n event.preventDefault();\n this.action = action;\n this.cropping = false;\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(event) {\n var action = this.action;\n if (this.disabled || !action) {\n return;\n }\n var pointers = this.pointers;\n event.preventDefault();\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: event,\n action: action\n }) === false) {\n return;\n }\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[event.pointerId || 0] || {}, getPointer(event, true));\n }\n this.change(event);\n },\n cropEnd: function cropEnd(event) {\n if (this.disabled) {\n return;\n }\n var action = this.action,\n pointers = this.pointers;\n if (event.changedTouches) {\n forEach(event.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[event.pointerId || 0];\n }\n if (!action) {\n return;\n }\n event.preventDefault();\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: event,\n action: action\n });\n }\n};\n\nvar change = {\n change: function change(event) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset;\n\n // Locking aspect ratio in \"free mode\" by holding shift key\n if (!aspectRatio && event.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n break;\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n break;\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n break;\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n break;\n }\n };\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n\n // Resize crop box\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n break;\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n check(ACTION_SOUTH);\n height += range.y;\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n break;\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n break;\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n break;\n\n // Move canvas\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n\n // Zoom canvas\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), event);\n renderable = false;\n break;\n\n // Create crop box\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n if (range.y < 0) {\n top -= height;\n }\n\n // Show the crop box if is hidden\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n break;\n }\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n }\n\n // Override\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n};\n\nvar methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true);\n\n // Render canvas after crop box rendered\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n return this;\n },\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n return this;\n },\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n if (!element[NAMESPACE]) {\n return this;\n }\n element[NAMESPACE] = undefined;\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n this.uncreate();\n return this;\n },\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n if (changed) {\n this.renderCanvas(true);\n }\n }\n return this;\n },\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n };\n\n // Zoom from the triggering point of the event\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n return this;\n },\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n return this;\n },\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n return data;\n },\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n if (transformed) {\n this.renderCanvas(true, true);\n }\n var ratio = imageData.width / imageData.naturalWidth;\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n this.setCropBoxData(cropBoxData);\n }\n return this;\n },\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n return data;\n },\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n this.renderCanvas(true);\n }\n return this;\n },\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n return data || {};\n },\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n this.renderCropBox();\n }\n return this;\n },\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options);\n\n // Returns the source canvas if it is not cropped.\n if (!this.cropped) {\n return source;\n }\n var _this$getData = this.getData(options.rounded),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n }\n\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n var sourceWidth = source.width;\n var sourceHeight = source.height;\n\n // Source canvas parameters\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight;\n\n // Destination canvas parameters\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n var params = [srcX, srcY, srcWidth, srcHeight];\n\n // Avoid \"IndexSizeError\"\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n }\n\n // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n if (this.ready) {\n this.initCropBox();\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n return this;\n },\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n return this;\n }\n};\n\nvar AnotherCropper = WINDOW.Cropper;\nvar Cropper = /*#__PURE__*/function () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Cropper);\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an or element.');\n }\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n if (element[NAMESPACE]) {\n return;\n }\n element[NAMESPACE] = this;\n if (tagName === 'img') {\n this.isImg = true;\n\n // e.g.: \"img/picture.jpg\"\n url = element.getAttribute('src') || '';\n this.originalUrl = url;\n\n // Stop when it's a blank image\n if (!url) {\n return;\n }\n\n // e.g.: \"https://example.com/img/picture.jpg\"\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n if (!url) {\n return;\n }\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n }\n\n // Only IE10+ supports Typed Arrays\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n }\n\n // Detect the mime type of the image directly if it is a Data URL\n if (REGEXP_DATA_URL.test(url)) {\n // Read ArrayBuffer from Data URL of JPEG images directly for better performance\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n // Only a JPEG image may contains Exif Orientation information,\n // the rest types of Data URLs are not necessary to check orientation at all.\n this.clone();\n }\n return;\n }\n\n // 1. Detect the mime type of the image by a XMLHttpRequest.\n // 2. Load the image as ArrayBuffer for reading orientation if its a JPEG image.\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n\n // 1. Cross origin requests are only supported for protocol schemes:\n // http, https, data, chrome, chrome-extension.\n // 2. Access to XMLHttpRequest from a Data URL will be blocked by CORS policy\n // in some browsers as IE11 and Safari.\n xhr.onabort = clone;\n xhr.onerror = clone;\n xhr.ontimeout = clone;\n xhr.onprogress = function () {\n // Abort the request directly if it not a JPEG image for better performance\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n };\n\n // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n // The third parameter is required for avoiding side-effect (#682)\n xhr.open('GET', url, true);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n\n // Reset the orientation value to its default value 1\n // as some iOS browsers will render image with its orientation\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n if (orientation > 1) {\n // Generate a new URL which has the default orientation value\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n var _parseOrientation = parseOrientation(orientation);\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin = element.crossOrigin;\n var crossOriginUrl = url;\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n if (!crossOrigin) {\n crossOrigin = 'anonymous';\n }\n\n // Bust cache when there is not a \"crossOrigin\" property (#519)\n crossOriginUrl = addTimestamp(url);\n }\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n image.src = crossOriginUrl || url;\n image.alt = element.alt || 'The image to crop';\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n\n // Match all browsers that use WebKit as the layout engine in iOS devices,\n // such as Safari for iOS, Chrome for iOS, and in-app browsers.\n var isIOSWebKit = WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent);\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.initialImageData = assign({}, _this2.imageData);\n _this2.sizing = false;\n _this2.sized = true;\n _this2.build();\n };\n\n // Most modern browsers (excepts iOS WebKit)\n if (image.naturalWidth && !isIOSWebKit) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n if (!isIOSWebKit) {\n body.removeChild(sizingImage);\n }\n };\n sizingImage.src = image.src;\n\n // iOS WebKit will convert the image automatically\n // with its orientation once append it into DOM (#279)\n if (!isIOSWebKit) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n var element = this.element,\n options = this.options,\n image = this.image;\n\n // Create cropper elements\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image);\n\n // Hide the original image\n addClass(element, CLASS_HIDDEN);\n\n // Inserts the cropper after to the current image\n container.insertBefore(cropper, element.nextSibling);\n\n // Show the hidden image\n removeClass(image, CLASS_HIDE);\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n if (options.autoCrop) {\n this.crop();\n }\n this.setData(options.data);\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n this.ready = false;\n this.unbind();\n this.resetPreview();\n var parentNode = this.cropper.parentNode;\n if (parentNode) {\n parentNode.removeChild(this.cropper);\n }\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n return Cropper;\n}();\nassign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\nexport { Cropper as default };\n","import { UpploadEffect } from \"../../effect\";\nimport Cropper from \"cropperjs\";\nimport { safeListen, fitImageToContainer, canvasToBlob } from \"../../helpers/elements\";\nexport default class Crop extends UpploadEffect {\n constructor({ aspectRatio, aspectRatioOptions, hideAspectRatioSettings, autoCropArea, viewMode } = {}) {\n super();\n this.name = \"crop\";\n this.icon = ``;\n this.aspectRatio = NaN;\n this.hideAspectRatioSettings = false;\n this.aspectRatioOptions = {\n free: NaN,\n square: 1,\n \"16:9\": 16 / 9\n };\n this.autoCropArea = 1;\n this.viewMode = 1;\n this.originalFile = { blob: new Blob() };\n this.template = ({ file, translate }) => {\n const image = URL.createObjectURL(file.blob);\n this.originalFile = file;\n return `\n
\n \"\"\n
\n ${!this.aspectRatio && !this.hideAspectRatioSettings\n ? `
\n ${Object.keys(this.aspectRatioOptions)\n .map((aspectRatio, index) => `\n \n `)\n .join(\"\")}\n
`\n : \"\"}\n `;\n };\n this.handlers = (params) => {\n const cropperElement = params.uppload.container.querySelector(\".uppload-cropping-element img\");\n const originalFile = this.originalFile;\n if (cropperElement) {\n fitImageToContainer(params, cropperElement).then(() => {\n const cropper = new Cropper(cropperElement, {\n aspectRatio: this.aspectRatio,\n autoCropArea: this.autoCropArea,\n viewMode: this.viewMode,\n ready() {\n canvasToBlob(cropper.getCroppedCanvas()).then(blob => {\n originalFile.blob = blob;\n params.next(originalFile);\n });\n },\n cropend() {\n canvasToBlob(cropper.getCroppedCanvas()).then(blob => {\n originalFile.blob = blob;\n params.next(originalFile);\n });\n }\n });\n const aspectRatios = params.uppload.container.querySelectorAll(\"input[name='crop-aspect-ratio']\");\n aspectRatios.forEach(aspectRatio => {\n safeListen(aspectRatio, \"change\", () => {\n const selectedAspectRatio = params.uppload.container.querySelector(\"input[name='crop-aspect-ratio']:checked\");\n if (selectedAspectRatio) {\n cropper.setAspectRatio(this.aspectRatioOptions[selectedAspectRatio.getAttribute(\"data-name\") || \"free\"]);\n canvasToBlob(cropper.getCroppedCanvas()).then(blob => {\n originalFile.blob = blob;\n params.next(originalFile);\n });\n }\n });\n });\n });\n }\n };\n if (aspectRatio)\n this.aspectRatio = aspectRatio;\n if (aspectRatioOptions)\n this.aspectRatioOptions = aspectRatioOptions;\n if (autoCropArea)\n this.autoCropArea = autoCropArea;\n if (viewMode)\n this.viewMode = viewMode;\n if (hideAspectRatioSettings)\n this.hideAspectRatioSettings = hideAspectRatioSettings;\n }\n}\n//# sourceMappingURL=index.js.map","\n\n\n {#if isProfilePhotoCornerUploader}\n \n \n \n \n \n {:else}\n
\n \n \n \n\n {buttonText}\n
\n {/if}\n\n\n\n","\n\n\n"],"names":["UpploadService","i18n","flattenObject","ob","toReturn","i","flatObject","x","setI18N","translations","translate","key","params","term","param","index","getElements","query","elements","item","listening","safeListen","element","type","fn","a","safeRequestAnimationFrame","callback","fitImageToContainer","image","resolve","parent","currentDimensions","dimensions","effect","compressImage","file","settings","imageURL","canvas","maxSize","quality","ratio","context","canvasToBlob","blob","dataURItoBlob","dataURI","byteString","mimeString","arrayBuffer","uArray","reject","hasTransparency","data","colorSVG","svg","service","candidateSelectors","candidateSelector","matches","tabbable","el","options","regularTabbables","orderedTabbables","candidates","candidate","candidateTabindex","isNodeMatchingSelectorTabbable","getTabindex","tabbableNodes","sortOrderedTabbables","isTabbable","isFocusable","node","isNodeMatchingSelectorFocusable","isNonTabbableRadio","isHiddenInput","isHidden","focusableCandidateSelector","tabindexAttr","isContentEditable","b","isInput","isRadio","isTabbableRadio","getCheckedRadio","nodes","radioSet","checked","tabbable_1","immutable","extend","hasOwnProperty","target","source","require$$0","xtend","require$$1","activeFocusDelay","activeFocusTraps","trapQueue","trap","activeTrap","trapIndex","focusTrap","userOptions","doc","container","config","state","activate","deactivate","pause","unpause","activateOptions","updateTabbableNodes","onActivate","addListeners","deactivateOptions","removeListeners","onDeactivate","returnFocus","delay","tryFocus","getReturnFocusNode","getInitialFocusNode","checkFocusIn","checkPointerDown","checkClick","checkKey","getNodeForOption","optionName","optionValue","previousActiveElement","e","isEscapeEvent","isTabEvent","checkTab","isSelectableInput","focusTrap_1","mitt","all","handler","evt","safeBlobToFile","fileName","lastModified","blobToUpploadFile","name","safeUpploadFileToFile","DefaultService","UploadingService","Uppload","div","body","createFocusTrap","value","plugin","slug","pluginUpdateFunction","plugins","services","hasDefaultService","serviceRadio","firstService","content","aside","footerEffectsNav","effectsContainer","effectsNav","totalButtonsWidth","button","buttonSize","size","sideNavbar","help","sidebar","activeServices","activeService","activeEffects","activeEffect","response","error","helpLoading","section","url","iframe","activeRadio","upploadFile","openFunction","closeFunction","link","serviceDiv","top","left","serviceDivRect","serviceNavRect","radio","inputRadio","background","cancelButton","uploadButton","currentService","focusable","progressPercent","progressText","UpploadEffect","en","text","AAN","Local","mimeTypes","maxFileSize","dropArea","event","input","helpButton","files","ownKeys","r","t","o","_objectSpread2","_defineProperty","_typeof","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","_arrayLikeToArray","iter","minLen","n","len","arr2","_toPrimitive","hint","prim","res","arg","IS_BROWSER","WINDOW","IS_TOUCH_DEVICE","HAS_POINTER_EVENT","NAMESPACE","ACTION_ALL","ACTION_CROP","ACTION_MOVE","ACTION_ZOOM","ACTION_EAST","ACTION_WEST","ACTION_SOUTH","ACTION_NORTH","ACTION_NORTH_EAST","ACTION_NORTH_WEST","ACTION_SOUTH_EAST","ACTION_SOUTH_WEST","CLASS_CROP","CLASS_DISABLED","CLASS_HIDDEN","CLASS_HIDE","CLASS_INVISIBLE","CLASS_MODAL","CLASS_MOVE","DATA_ACTION","DATA_PREVIEW","DRAG_MODE_CROP","DRAG_MODE_MOVE","DRAG_MODE_NONE","EVENT_CROP","EVENT_CROP_END","EVENT_CROP_MOVE","EVENT_CROP_START","EVENT_DBLCLICK","EVENT_TOUCH_START","EVENT_TOUCH_MOVE","EVENT_TOUCH_END","EVENT_POINTER_DOWN","EVENT_POINTER_MOVE","EVENT_POINTER_UP","EVENT_READY","EVENT_RESIZE","EVENT_WHEEL","EVENT_ZOOM","MIME_TYPE_JPEG","REGEXP_ACTIONS","REGEXP_DATA_URL","REGEXP_DATA_URL_JPEG","REGEXP_TAG_NAME","MIN_CONTAINER_WIDTH","MIN_CONTAINER_HEIGHT","DEFAULTS","TEMPLATE","isNaN","isNumber","isPositiveNumber","isUndefined","isObject","isPlainObject","_constructor","prototype","isFunction","slice","toArray","forEach","assign","_len","args","_key","REGEXP_DECIMALS","normalizeDecimalNumber","times","REGEXP_SUFFIX","setStyle","styles","style","property","hasClass","addClass","elem","className","removeClass","toggleClass","added","REGEXP_CAMEL_CASE","toParamCase","getData","setData","removeData","REGEXP_SPACES","onceSupported","supported","once","listener","removeListener","listeners","addListener","_handler","_element$listeners","_len2","_key2","dispatchEvent","getOffset","box","location","REGEXP_ORIGINS","isCrossOriginURL","parts","addTimestamp","timestamp","getTransforms","_ref","rotate","scaleX","scaleY","translateX","translateY","values","transform","getMaxZoomRatio","pointers","pointers2","maxRatio","pointer","pointerId","pointer2","x1","y1","x2","y2","z1","z2","getPointer","_ref2","endOnly","pageX","pageY","end","getPointersCenter","count","_ref3","startX","startY","getAdjustedSizes","_ref4","aspectRatio","height","width","isValidWidth","isValidHeight","adjustedWidth","getRotatedSizes","_ref5","degree","arc","sinArc","cosArc","newWidth","newHeight","getSourceCanvas","_ref6","_ref7","_ref8","imageAspectRatio","imageNaturalWidth","imageNaturalHeight","_ref6$rotate","_ref6$scaleX","_ref6$scaleY","naturalWidth","naturalHeight","_ref8$fillColor","fillColor","_ref8$imageSmoothingE","imageSmoothingEnabled","_ref8$imageSmoothingQ","imageSmoothingQuality","_ref8$maxWidth","maxWidth","_ref8$maxHeight","maxHeight","_ref8$minWidth","minWidth","_ref8$minHeight","minHeight","maxSizes","minSizes","destMaxSizes","destMinSizes","destWidth","destHeight","fromCharCode","getStringFromCharCode","dataView","start","length","str","REGEXP_DATA_URL_HEAD","dataURLToArrayBuffer","dataURL","base64","binary","uint8","arrayBufferToDataURL","mimeType","chunks","chunkSize","resetAndGetOrientation","orientation","littleEndian","app1Start","ifdStart","offset","exifIDCode","tiffOffset","endianness","firstIFDOffset","_length","_offset","parseOrientation","render","cropper","containerData","imageData","viewMode","rotated","canvasWidth","canvasHeight","canvasData","sizeLimited","positionLimited","cropBoxData","cropped","minCanvasWidth","minCanvasHeight","_getAdjustedSizes","newCanvasLeft","newCanvasTop","changed","transformed","_getRotatedSizes","autoCropArea","limited","minCropBoxWidth","minCropBoxHeight","maxCropBoxWidth","maxCropBoxHeight","preview","crossOrigin","alt","previews","img","cropBoxWidth","cropBoxHeight","originalWidth","originalHeight","events","handlers","ratioX","ratioY","_this","delta","buttons","action","touch","change","right","bottom","minLeft","minTop","renderable","range","check","side","p","methods","hasSameSize","offsetX","offsetY","_this$canvasData","y","_originalEvent","pivot","center","_scaleX","_scaleY","rounded","widthChanged","heightChanged","_this$getData","initialX","initialY","initialWidth","initialHeight","_options$imageSmoothi","sourceWidth","sourceHeight","srcX","srcY","srcWidth","srcHeight","dstX","dstY","dstWidth","dstHeight","scale","mode","dragBox","face","croppable","movable","AnotherCropper","Cropper","tagName","xhr","clone","_parseOrientation","crossOriginUrl","_this2","isIOSWebKit","done","sizingImage","template","cropBox","parentNode","Crop","aspectRatioOptions","hideAspectRatioSettings","cropperElement","originalFile","selectedAspectRatio","ctx","insert","anchor","append","path","create_if_block","attr","button_class_value","dirty","postURL","$$props","uploadEnabled","stylingClassesUploadEnabled","stylingClassesUploadDisabled","buttonText","isProfilePhotoCornerUploader","uploader","updateProgress","formData","progress","openUploader"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]} \ No newline at end of file diff --git a/app/static/islands/ReactCounter-HALHmlax.js b/app/static/islands/ReactCounter-HALHmlax.js new file mode 100644 index 00000000..29c91ad9 --- /dev/null +++ b/app/static/islands/ReactCounter-HALHmlax.js @@ -0,0 +1,41 @@ +var Bi={exports:{}},br={},Hi={exports:{}},T={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Yn=Symbol.for("react.element"),nf=Symbol.for("react.portal"),rf=Symbol.for("react.fragment"),lf=Symbol.for("react.strict_mode"),uf=Symbol.for("react.profiler"),of=Symbol.for("react.provider"),sf=Symbol.for("react.context"),af=Symbol.for("react.forward_ref"),ff=Symbol.for("react.suspense"),cf=Symbol.for("react.memo"),df=Symbol.for("react.lazy"),Mo=Symbol.iterator;function pf(e){return e===null||typeof e!="object"?null:(e=Mo&&e[Mo]||e["@@iterator"],typeof e=="function"?e:null)}var Wi={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qi=Object.assign,Ki={};function rn(e,t,n){this.props=e,this.context=t,this.refs=Ki,this.updater=n||Wi}rn.prototype.isReactComponent={};rn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};rn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yi(){}Yi.prototype=rn.prototype;function Fu(e,t,n){this.props=e,this.context=t,this.refs=Ki,this.updater=n||Wi}var ju=Fu.prototype=new Yi;ju.constructor=Fu;Qi(ju,rn.prototype);ju.isPureReactComponent=!0;var Do=Array.isArray,Xi=Object.prototype.hasOwnProperty,Uu={current:null},Gi={key:!0,ref:!0,__self:!0,__source:!0};function Zi(e,t,n){var r,l={},u=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(u=""+t.key),t)Xi.call(t,r)&&!Gi.hasOwnProperty(r)&&(l[r]=t[r]);var i=arguments.length-2;if(i===1)l.children=n;else if(1>>1,X=C[H];if(0>>1;Hl(yl,z))vtl(bn,yl)?(C[H]=bn,C[vt]=z,H=vt):(C[H]=yl,C[mt]=z,H=mt);else if(vtl(bn,z))C[H]=bn,C[vt]=z,H=vt;else break e}}return P}function l(C,P){var z=C.sortIndex-P.sortIndex;return z!==0?z:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var o=Date,i=o.now();e.unstable_now=function(){return o.now()-i}}var s=[],f=[],v=1,m=null,p=3,g=!1,w=!1,k=!1,F=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=n(f);P!==null;){if(P.callback===null)r(f);else if(P.startTime<=C)r(f),P.sortIndex=P.expirationTime,t(s,P);else break;P=n(f)}}function h(C){if(k=!1,d(C),!w)if(n(s)!==null)w=!0,vl(E);else{var P=n(f);P!==null&&hl(h,P.startTime-C)}}function E(C,P){w=!1,k&&(k=!1,c(N),N=-1),g=!0;var z=p;try{for(d(P),m=n(s);m!==null&&(!(m.expirationTime>P)||C&&!xe());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=P);P=e.unstable_now(),typeof X=="function"?m.callback=X:m===n(s)&&r(s),d(P)}else r(s);m=n(s)}if(m!==null)var qn=!0;else{var mt=n(f);mt!==null&&hl(h,mt.startTime-P),qn=!1}return qn}finally{m=null,p=z,g=!1}}var _=!1,x=null,N=-1,B=5,L=-1;function xe(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,t(f,C),n(s)===null&&C===n(f)&&(k?(c(N),N=-1):k=!0,hl(h,z-H))):(C.sortIndex=X,t(s,C),w||g||(w=!0,vl(E))),C},e.unstable_shouldYield=xe,e.unstable_wrapCallback=function(C){var P=p;return function(){var z=p;p=P;try{return C.apply(this,arguments)}finally{p=z}}}})(ts);es.exports=ts;var _f=es.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var xf=Au,he=_f;function y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Wl=Object.prototype.hasOwnProperty,Nf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Fo={},jo={};function Pf(e){return Wl.call(jo,e)?!0:Wl.call(Fo,e)?!1:Nf.test(e)?jo[e]=!0:(Fo[e]=!0,!1)}function zf(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Tf(e,t,n,r){if(t===null||typeof t>"u"||zf(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ie(e,t,n,r,l,u,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=u,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new ie(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];b[t]=new ie(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new ie(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new ie(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){b[e]=new ie(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new ie(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new ie(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new ie(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new ie(e,5,!1,e.toLowerCase(),null,!1,!1)});var $u=/[\-:]([a-z])/g;function Bu(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace($u,Bu);b[t]=new ie(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace($u,Bu);b[t]=new ie(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace($u,Bu);b[t]=new ie(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new ie("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hu(e,t,n,r){var l=b.hasOwnProperty(t)?b[t]:null;(l!==null?l.type!==0:r||!(2i||l[o]!==u[i]){var s=` +`+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?yn(e):""}function Lf(e){switch(e.tag){case 5:return yn(e.type);case 16:return yn("Lazy");case 13:return yn("Suspense");case 19:return yn("SuspenseList");case 0:case 2:case 15:return e=Sl(e.type,!1),e;case 11:return e=Sl(e.type.render,!1),e;case 1:return e=Sl(e.type,!0),e;default:return""}}function Xl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Mt:return"Fragment";case Ot:return"Portal";case Ql:return"Profiler";case Wu:return"StrictMode";case Kl:return"Suspense";case Yl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Qu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return t=e.displayName||null,t!==null?t:Xl(e.type)||"Memo";case Ge:t=e._payload,e=e._init;try{return Xl(e(t))}catch{}}return null}function Rf(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Xl(t);case 8:return t===Wu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function at(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function os(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Of(e){var t=os(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,u=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,u.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function nr(e){e._valueTracker||(e._valueTracker=Of(e))}function is(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=os(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Tr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Gl(e,t){var n=t.checked;return A({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Vo(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=at(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ss(e,t){t=t.checked,t!=null&&Hu(e,"checked",t,!1)}function Zl(e,t){ss(e,t);var n=at(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Jl(e,t.type,n):t.hasOwnProperty("defaultValue")&&Jl(e,t.type,at(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ao(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Jl(e,t,n){(t!=="number"||Tr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var gn=Array.isArray;function Wt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Rn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Sn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Mf=["Webkit","ms","Moz","O"];Object.keys(Sn).forEach(function(e){Mf.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Sn[t]=Sn[e]})});function ds(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Sn.hasOwnProperty(e)&&Sn[e]?(""+t).trim():t+"px"}function ps(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=ds(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Df=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function eu(e,t){if(t){if(Df[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(y(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(y(61))}if(t.style!=null&&typeof t.style!="object")throw Error(y(62))}}function tu(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var nu=null;function Yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ru=null,Qt=null,Kt=null;function Ho(e){if(e=Zn(e)){if(typeof ru!="function")throw Error(y(280));var t=e.stateNode;t&&(t=ll(t),ru(e.stateNode,e.type,t))}}function ms(e){Qt?Kt?Kt.push(e):Kt=[e]:Qt=e}function vs(){if(Qt){var e=Qt,t=Kt;if(Kt=Qt=null,Ho(e),t)for(e=0;e>>=0,e===0?32:31-(Qf(e)/Kf|0)|0}var lr=64,ur=4194304;function wn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,o=n&268435455;if(o!==0){var i=o&~l;i!==0?r=wn(i):(u&=o,u!==0&&(r=wn(u)))}else o=n&~l,o!==0?r=wn(o):u!==0&&(r=wn(u));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,u=t&-t,l>=u||l===16&&(u&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Xn(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Le(t),e[t]=n}function Zf(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Cn),qo=" ",bo=!1;function Is(e,t){switch(e){case"keyup":return _c.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Dt=!1;function Nc(e,t){switch(e){case"compositionend":return Fs(t);case"keypress":return t.which!==32?null:(bo=!0,qo);case"textInput":return e=t.data,e===qo&&bo?null:e;default:return null}}function Pc(e,t){if(Dt)return e==="compositionend"||!to&&Is(e,t)?(e=Ms(),kr=qu=be=null,Dt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ri(n)}}function As(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?As(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function $s(){for(var e=window,t=Tr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Tr(e.document)}return t}function no(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Fc(e){var t=$s(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&As(n.ownerDocument.documentElement,n)){if(r!==null&&no(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=li(n,u);var o=li(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,It=null,au=null,xn=null,fu=!1;function ui(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;fu||It==null||It!==Tr(r)||(r=It,"selectionStart"in r&&no(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xn&&jn(xn,r)||(xn=r,r=Fr(au,"onSelect"),0Ut||(e.current=hu[Ut],hu[Ut]=null,Ut--)}function M(e,t){Ut++,hu[Ut]=e.current,e.current=t}var ft={},re=dt(ft),fe=dt(!1),_t=ft;function Jt(e,t){var n=e.type.contextTypes;if(!n)return ft;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in n)l[u]=t[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function ce(e){return e=e.childContextTypes,e!=null}function Ur(){I(fe),I(re)}function di(e,t,n){if(re.current!==ft)throw Error(y(168));M(re,t),M(fe,n)}function Zs(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(y(108,Rf(e)||"Unknown",l));return A({},n,r)}function Vr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ft,_t=re.current,M(re,e),M(fe,fe.current),!0}function pi(e,t,n){var r=e.stateNode;if(!r)throw Error(y(169));n?(e=Zs(e,t,_t),r.__reactInternalMemoizedMergedChildContext=e,I(fe),I(re),M(re,e)):I(fe),M(fe,n)}var Ve=null,ul=!1,Il=!1;function Js(e){Ve===null?Ve=[e]:Ve.push(e)}function Xc(e){ul=!0,Js(e)}function pt(){if(!Il&&Ve!==null){Il=!0;var e=0,t=O;try{var n=Ve;for(O=1;e>=o,l-=o,Ae=1<<32-Le(t)+l|n<N?(B=x,x=null):B=x.sibling;var L=p(c,x,d[N],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&t(c,x),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L,x=B}if(N===d.length)return n(c,x),j&&yt(c,N),E;if(x===null){for(;NN?(B=x,x=null):B=x.sibling;var xe=p(c,x,L.value,h);if(xe===null){x===null&&(x=B);break}e&&x&&xe.alternate===null&&t(c,x),a=u(xe,a,N),_===null?E=xe:_.sibling=xe,_=xe,x=B}if(L.done)return n(c,x),j&&yt(c,N),E;if(x===null){for(;!L.done;N++,L=d.next())L=m(c,L.value,h),L!==null&&(a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return j&&yt(c,N),E}for(x=r(c,x);!L.done;N++,L=d.next())L=g(x,c,N,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?N:L.key),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(on){return t(c,on)}),j&&yt(c,N),E}function F(c,a,d,h){if(typeof d=="object"&&d!==null&&d.type===Mt&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case tr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Mt){if(_.tag===7){n(c,_.sibling),a=l(_,d.props.children),a.return=c,c=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ge&&hi(E)===_.type){n(c,_.sibling),a=l(_,d.props),a.ref=mn(c,_,d),a.return=c,c=a;break e}n(c,_);break}else t(c,_);_=_.sibling}d.type===Mt?(a=Ct(d.props.children,c.mode,h,d.key),a.return=c,c=a):(h=zr(d.type,d.key,d.props,null,c.mode,h),h.ref=mn(c,a,d),h.return=c,c=h)}return o(c);case Ot:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(c,a.sibling),a=l(a,d.children||[]),a.return=c,c=a;break e}else{n(c,a);break}else t(c,a);a=a.sibling}a=Hl(d,c.mode,h),a.return=c,c=a}return o(c);case Ge:return _=d._init,F(c,a,_(d._payload),h)}if(gn(d))return w(c,a,d,h);if(an(d))return k(c,a,d,h);dr(c,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(c,a.sibling),a=l(a,d),a.return=c,c=a):(n(c,a),a=Bl(d,c.mode,h),a.return=c,c=a),o(c)):n(c,a)}return F}var bt=ta(!0),na=ta(!1),Br=dt(null),Hr=null,$t=null,oo=null;function io(){oo=$t=Hr=null}function so(e){var t=Br.current;I(Br),e._currentValue=t}function wu(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Xt(e,t){Hr=e,oo=$t=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ae=!0),e.firstContext=null)}function Ce(e){var t=e._currentValue;if(oo!==e)if(e={context:e,memoizedValue:t,next:null},$t===null){if(Hr===null)throw Error(y(308));$t=e,Hr.dependencies={lanes:0,firstContext:e}}else $t=$t.next=e;return t}var kt=null;function ao(e){kt===null?kt=[e]:kt.push(e)}function ra(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,ao(t)):(n.next=l.next,l.next=n),t.interleaved=n,Qe(e,r)}function Qe(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Ze=!1;function fo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function la(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Be(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ut(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,R&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Qe(e,n)}return l=r.interleaved,l===null?(t.next=t,ao(r)):(t.next=l.next,l.next=t),r.interleaved=t,Qe(e,n)}function Er(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Gu(e,n)}}function yi(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,u=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};u===null?l=u=o:u=u.next=o,n=n.next}while(n!==null);u===null?l=u=t:u=u.next=t}else l=u=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:u,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Wr(e,t,n,r){var l=e.updateQueue;Ze=!1;var u=l.firstBaseUpdate,o=l.lastBaseUpdate,i=l.shared.pending;if(i!==null){l.shared.pending=null;var s=i,f=s.next;s.next=null,o===null?u=f:o.next=f,o=s;var v=e.alternate;v!==null&&(v=v.updateQueue,i=v.lastBaseUpdate,i!==o&&(i===null?v.firstBaseUpdate=f:i.next=f,v.lastBaseUpdate=s))}if(u!==null){var m=l.baseState;o=0,v=f=s=null,i=u;do{var p=i.lane,g=i.eventTime;if((r&p)===p){v!==null&&(v=v.next={eventTime:g,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var w=e,k=i;switch(p=t,g=n,k.tag){case 1:if(w=k.payload,typeof w=="function"){m=w.call(g,m,p);break e}m=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=k.payload,p=typeof w=="function"?w.call(g,m,p):w,p==null)break e;m=A({},m,p);break e;case 2:Ze=!0}}i.callback!==null&&i.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[i]:p.push(i))}else g={eventTime:g,lane:p,tag:i.tag,payload:i.payload,callback:i.callback,next:null},v===null?(f=v=g,s=m):v=v.next=g,o|=p;if(i=i.next,i===null){if(i=l.shared.pending,i===null)break;p=i,i=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(v===null&&(s=m),l.baseState=s,l.firstBaseUpdate=f,l.lastBaseUpdate=v,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else u===null&&(l.shared.lanes=0);Pt|=o,e.lanes=o,e.memoizedState=m}}function gi(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=jl.transition;jl.transition={};try{e(!1),t()}finally{O=n,jl.transition=r}}function Sa(){return _e().memoizedState}function qc(e,t,n){var r=it(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ea(e))Ca(t,n);else if(n=ra(e,t,n,r),n!==null){var l=ue();Re(n,e,r,l),_a(n,t,r)}}function bc(e,t,n){var r=it(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ea(e))Ca(t,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var o=t.lastRenderedState,i=u(o,n);if(l.hasEagerState=!0,l.eagerState=i,Oe(i,o)){var s=t.interleaved;s===null?(l.next=l,ao(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=ra(e,t,l,r),n!==null&&(l=ue(),Re(n,e,r,l),_a(n,t,r))}}function Ea(e){var t=e.alternate;return e===V||t!==null&&t===V}function Ca(e,t){Nn=Kr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function _a(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Gu(e,n)}}var Yr={readContext:Ce,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,t){return De().memoizedState=[e,t===void 0?null:t],e},useContext:Ce,useEffect:ki,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,_r(4194308,4,ha.bind(null,t,e),n)},useLayoutEffect:function(e,t){return _r(4194308,4,e,t)},useInsertionEffect:function(e,t){return _r(4,2,e,t)},useMemo:function(e,t){var n=De();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=De();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=qc.bind(null,V,e),[r.memoizedState,e]},useRef:function(e){var t=De();return e={current:e},t.memoizedState=e},useState:wi,useDebugValue:wo,useDeferredValue:function(e){return De().memoizedState=e},useTransition:function(){var e=wi(!1),t=e[0];return e=Jc.bind(null,e[1]),De().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=V,l=De();if(j){if(n===void 0)throw Error(y(407));n=n()}else{if(n=t(),Z===null)throw Error(y(349));Nt&30||sa(r,t,n)}l.memoizedState=n;var u={value:n,getSnapshot:t};return l.queue=u,ki(fa.bind(null,r,u,e),[e]),r.flags|=2048,Qn(9,aa.bind(null,r,u,n,t),void 0,null),n},useId:function(){var e=De(),t=Z.identifierPrefix;if(j){var n=$e,r=Ae;n=(r&~(1<<32-Le(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Hn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Ie]=t,e[An]=r,Da(e,t,!1,!1),t.stateNode=e;e:{switch(o=tu(n,r),n){case"dialog":D("cancel",e),D("close",e),l=r;break;case"iframe":case"object":case"embed":D("load",e),l=r;break;case"video":case"audio":for(l=0;lnn&&(t.flags|=128,r=!0,vn(u,!1),t.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),vn(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return te(t),null}else 2*W()-u.renderingStartTime>nn&&n!==1073741824&&(t.flags|=128,r=!0,vn(u,!1),t.lanes=4194304);u.isBackwards?(o.sibling=t.child,t.child=o):(n=u.last,n!==null?n.sibling=o:t.child=o,u.last=o)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=W(),t.sibling=null,n=U.current,M(U,r?n&1|2:n&1),t):(te(t),null);case 22:case 23:return xo(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?pe&1073741824&&(te(t),t.subtreeFlags&6&&(t.flags|=8192)):te(t),null;case 24:return null;case 25:return null}throw Error(y(156,t.tag))}function sd(e,t){switch(lo(t),t.tag){case 1:return ce(t.type)&&Ur(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return en(),I(fe),I(re),mo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return po(t),null;case 13:if(I(U),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(y(340));qt()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return I(U),null;case 4:return en(),null;case 10:return so(t.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,ne=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Bt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){$(e,t,r)}else n.current=null}function zu(e,t,n){try{n()}catch(r){$(e,t,r)}}var Ri=!1;function fd(e,t){if(cu=Dr,e=$s(),no(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{n.nodeType,u.nodeType}catch{n=null;break e}var o=0,i=-1,s=-1,f=0,v=0,m=e,p=null;t:for(;;){for(var g;m!==n||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break t;if(p===n&&++f===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}n=i===-1||s===-1?null:{start:i,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(du={focusedElem:e,selectionRange:n},Dr=!1,S=t;S!==null;)if(t=S,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,S=e;else for(;S!==null;){t=S;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,c=t.stateNode,a=c.getSnapshotBeforeUpdate(t.elementType===t.type?k:Pe(t.type,k),F);c.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){$(t,t.return,h)}if(e=t.sibling,e!==null){e.return=t.return,S=e;break}S=t.return}return w=Ri,Ri=!1,w}function Pn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&zu(t,n,u)}l=l.next}while(l!==r)}}function sl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Tu(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function ja(e){var t=e.alternate;t!==null&&(e.alternate=null,ja(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ie],delete t[An],delete t[vu],delete t[Kc],delete t[Yc])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ua(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ua(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Lu(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Lu(e,t,n),e=e.sibling;e!==null;)Lu(e,t,n),e=e.sibling}function Ru(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ru(e,t,n),e=e.sibling;e!==null;)Ru(e,t,n),e=e.sibling}var J=null,ze=!1;function Xe(e,t,n){for(n=n.child;n!==null;)Va(e,t,n),n=n.sibling}function Va(e,t,n){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,n)}catch{}switch(n.tag){case 5:ne||Bt(n,t);case 6:var r=J,l=ze;J=null,Xe(e,t,n),J=r,ze=l,J!==null&&(ze?(e=J,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):J.removeChild(n.stateNode));break;case 18:J!==null&&(ze?(e=J,n=n.stateNode,e.nodeType===8?Dl(e.parentNode,n):e.nodeType===1&&Dl(e,n),In(e)):Dl(J,n.stateNode));break;case 4:r=J,l=ze,J=n.stateNode.containerInfo,ze=!0,Xe(e,t,n),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!ne&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&zu(n,t,o),l=l.next}while(l!==r)}Xe(e,t,n);break;case 1:if(!ne&&(Bt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(i){$(n,t,i)}Xe(e,t,n);break;case 21:Xe(e,t,n);break;case 22:n.mode&1?(ne=(r=ne)||n.memoizedState!==null,Xe(e,t,n),ne=r):Xe(e,t,n);break;default:Xe(e,t,n)}}function Mi(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ad),t.forEach(function(r){var l=wd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Ne(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,et===null)var r=!1;else{if(e=et,et=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?Et(e,0):Eo|=n),de(e,t)}function Ya(e,t){t===0&&(e.mode&1?(t=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):t=1);var n=ue();e=Qe(e,t),e!==null&&(Xn(e,t,n),de(e,n))}function gd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ya(e,n)}function wd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(t),Ya(e,n)}var Xa;Xa=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||fe.current)ae=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ae=!1,od(e,t,n);ae=!!(e.flags&131072)}else ae=!1,j&&t.flags&1048576&&qs(t,$r,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;xr(e,t),e=t.pendingProps;var l=Jt(t,re.current);Xt(t,n),l=ho(null,t,r,e,l,n);var u=yo();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ce(r)?(u=!0,Vr(t)):u=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,fo(t),l.updater=il,t.stateNode=l,l._reactInternals=t,Su(t,r,e,n),t=_u(null,t,r,!0,u,n)):(t.tag=0,j&&u&&ro(t),le(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(xr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Sd(r),e=Pe(r,e),l){case 0:t=Cu(null,t,r,e,n);break e;case 1:t=zi(null,t,r,e,n);break e;case 11:t=Ni(null,t,r,e,n);break e;case 14:t=Pi(null,t,r,Pe(r.type,e),n);break e}throw Error(y(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Pe(r,l),Cu(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Pe(r,l),zi(e,t,r,l,n);case 3:e:{if(Ra(t),e===null)throw Error(y(387));r=t.pendingProps,u=t.memoizedState,l=u.element,la(e,t),Wr(t,r,null,n);var o=t.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=u,t.memoizedState=u,t.flags&256){l=tn(Error(y(423)),t),t=Ti(e,t,r,n,l);break e}else if(r!==l){l=tn(Error(y(424)),t),t=Ti(e,t,r,n,l);break e}else for(me=lt(t.stateNode.containerInfo.firstChild),ve=t,j=!0,Te=null,n=na(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(qt(),r===l){t=Ke(e,t,n);break e}le(e,t,r,n)}t=t.child}return t;case 5:return ua(t),e===null&&gu(t),r=t.type,l=t.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,pu(r,l)?o=null:u!==null&&pu(r,u)&&(t.flags|=32),La(e,t),le(e,t,o,n),t.child;case 6:return e===null&&gu(t),null;case 13:return Oa(e,t,n);case 4:return co(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=bt(t,null,r,n):le(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Pe(r,l),Ni(e,t,r,l,n);case 7:return le(e,t,t.pendingProps,n),t.child;case 8:return le(e,t,t.pendingProps.children,n),t.child;case 12:return le(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,u=t.memoizedProps,o=l.value,M(Br,r._currentValue),r._currentValue=o,u!==null)if(Oe(u.value,o)){if(u.children===l.children&&!fe.current){t=Ke(e,t,n);break e}}else for(u=t.child,u!==null&&(u.return=t);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,n&-n),s.tag=2;var f=u.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?s.next=s:(s.next=v.next,v.next=s),f.pending=s}}u.lanes|=n,s=u.alternate,s!==null&&(s.lanes|=n),wu(u.return,n,t),i.lanes|=n;break}s=s.next}}else if(u.tag===10)o=u.type===t.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=n,i=o.alternate,i!==null&&(i.lanes|=n),wu(o,n,t),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===t){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Xt(t,n),l=Ce(l),r=r(l),t.flags|=1,le(e,t,r,n),t.child;case 14:return r=t.type,l=Pe(r,t.pendingProps),l=Pe(r.type,l),Pi(e,t,r,l,n);case 15:return za(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Pe(r,l),xr(e,t),t.tag=1,ce(r)?(e=!0,Vr(t)):e=!1,Xt(t,n),xa(t,r,l),Su(t,r,l,n),_u(null,t,r,!0,e,n);case 19:return Ma(e,t,n);case 22:return Ta(e,t,n)}throw Error(y(156,t.tag))};function Ga(e,t){return Es(e,t)}function kd(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,t,n,r){return new kd(e,t,n,r)}function Po(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return Po(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function st(e,t){var n=e.alternate;return n===null?(n=Se(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function zr(e,t,n,r,l,u){var o=2;if(r=e,typeof e=="function")Po(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Mt:return Ct(n.children,l,u,t);case Wu:o=8,l|=8;break;case Ql:return e=Se(12,n,t,l|2),e.elementType=Ql,e.lanes=u,e;case Kl:return e=Se(13,n,t,l),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(19,n,t,l),e.elementType=Yl,e.lanes=u,e;case us:return fl(n,l,u,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ge:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return t=Se(o,n,t,l),t.elementType=e,t.type=r,t.lanes=u,t}function Ct(e,t,n,r){return e=Se(7,e,r,t),e.lanes=n,e}function fl(e,t,n,r){return e=Se(22,e,r,t),e.elementType=us,e.lanes=n,e.stateNode={isHidden:!1},e}function Bl(e,t,n){return e=Se(6,e,null,t),e.lanes=n,e}function Hl(e,t,n){return t=Se(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ed(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,t,n,r,l,u,o,i,s){return e=new Ed(e,t,n,i,s),t===1?(t=1,u===!0&&(t|=8)):t=0,u=Se(3,null,null,t),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},fo(u),e}function Cd(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ba)}catch(e){console.error(e)}}ba(),bi.exports=ye;var zd=bi.exports,ef,$i=zd;ef=$i.createRoot,$i.hydrateRoot;function Td(e){const t=Number(e);return Number.isFinite(t)?t:0}function Ld({initialCount:e,label:t}){const[n,r]=Au.useState(Td(e));return ht.jsxs("section",{"data-component":"counter-react",className:"rounded-xl border border-base-300 bg-base-100 p-4 space-y-3",children:[ht.jsx("h3",{className:"text-lg font-semibold",children:t||"React Counter"}),ht.jsx("p",{"data-slot":"count",className:"text-3xl font-bold",children:n}),ht.jsxs("div",{className:"flex gap-2",children:[ht.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>r(l=>l-1),children:"-1"}),ht.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>r(l=>l+1),children:"+1"})]})]})}function Rd(e,t={}){ef(e).render(ht.jsx(Ld,{...t}))}export{Rd as mount}; +//# sourceMappingURL=ReactCounter-HALHmlax.js.map diff --git a/app/static/islands/ReactCounter-HALHmlax.js.map b/app/static/islands/ReactCounter-HALHmlax.js.map new file mode 100644 index 00000000..14541484 --- /dev/null +++ b/app/static/islands/ReactCounter-HALHmlax.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReactCounter-HALHmlax.js","sources":["../../../frontend/node_modules/react/cjs/react.production.min.js","../../../frontend/node_modules/react/index.js","../../../frontend/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../frontend/node_modules/react/jsx-runtime.js","../../../frontend/node_modules/scheduler/cjs/scheduler.production.min.js","../../../frontend/node_modules/scheduler/index.js","../../../frontend/node_modules/react-dom/cjs/react-dom.production.min.js","../../../frontend/node_modules/react-dom/index.js","../../../frontend/node_modules/react-dom/client.js","../../../frontend/islands/ReactCounter.jsx"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3\n

{label || \"React Counter\"}

\n

{count}

\n
\n \n \n
\n \n );\n}\n\nexport function mount(el, props = {}) {\n const root = createRoot(el);\n root.render();\n}\n"],"names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","reactDom_production_min","checkDCE","err","reactDomModule","createRoot","toInitialCount","value","parsed","Counter","initialCount","label","count","setCount","useState","jsxs","jsx","mount","props"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]} \ No newline at end of file diff --git a/app/static/islands/ReactCounter-Q43Zbpba.js b/app/static/islands/ReactCounter-Q43Zbpba.js new file mode 100644 index 00000000..5cb82efd --- /dev/null +++ b/app/static/islands/ReactCounter-Q43Zbpba.js @@ -0,0 +1,41 @@ +var Bi={exports:{}},br={},Hi={exports:{}},T={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Yn=Symbol.for("react.element"),nf=Symbol.for("react.portal"),rf=Symbol.for("react.fragment"),lf=Symbol.for("react.strict_mode"),uf=Symbol.for("react.profiler"),of=Symbol.for("react.provider"),sf=Symbol.for("react.context"),af=Symbol.for("react.forward_ref"),ff=Symbol.for("react.suspense"),cf=Symbol.for("react.memo"),df=Symbol.for("react.lazy"),Mo=Symbol.iterator;function pf(e){return e===null||typeof e!="object"?null:(e=Mo&&e[Mo]||e["@@iterator"],typeof e=="function"?e:null)}var Wi={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Qi=Object.assign,Ki={};function rn(e,t,n){this.props=e,this.context=t,this.refs=Ki,this.updater=n||Wi}rn.prototype.isReactComponent={};rn.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};rn.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Yi(){}Yi.prototype=rn.prototype;function Fu(e,t,n){this.props=e,this.context=t,this.refs=Ki,this.updater=n||Wi}var ju=Fu.prototype=new Yi;ju.constructor=Fu;Qi(ju,rn.prototype);ju.isPureReactComponent=!0;var Do=Array.isArray,Xi=Object.prototype.hasOwnProperty,Uu={current:null},Gi={key:!0,ref:!0,__self:!0,__source:!0};function Zi(e,t,n){var r,l={},u=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(u=""+t.key),t)Xi.call(t,r)&&!Gi.hasOwnProperty(r)&&(l[r]=t[r]);var i=arguments.length-2;if(i===1)l.children=n;else if(1>>1,X=C[H];if(0>>1;Hl(yl,z))htl(bn,yl)?(C[H]=bn,C[ht]=z,H=ht):(C[H]=yl,C[vt]=z,H=vt);else if(htl(bn,z))C[H]=bn,C[ht]=z,H=ht;else break e}}return P}function l(C,P){var z=C.sortIndex-P.sortIndex;return z!==0?z:C.id-P.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;e.unstable_now=function(){return u.now()}}else{var o=Date,i=o.now();e.unstable_now=function(){return o.now()-i}}var s=[],f=[],v=1,m=null,p=3,g=!1,w=!1,k=!1,F=typeof setTimeout=="function"?setTimeout:null,c=typeof clearTimeout=="function"?clearTimeout:null,a=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d(C){for(var P=n(f);P!==null;){if(P.callback===null)r(f);else if(P.startTime<=C)r(f),P.sortIndex=P.expirationTime,t(s,P);else break;P=n(f)}}function h(C){if(k=!1,d(C),!w)if(n(s)!==null)w=!0,vl(E);else{var P=n(f);P!==null&&hl(h,P.startTime-C)}}function E(C,P){w=!1,k&&(k=!1,c(N),N=-1),g=!0;var z=p;try{for(d(P),m=n(s);m!==null&&(!(m.expirationTime>P)||C&&!xe());){var H=m.callback;if(typeof H=="function"){m.callback=null,p=m.priorityLevel;var X=H(m.expirationTime<=P);P=e.unstable_now(),typeof X=="function"?m.callback=X:m===n(s)&&r(s),d(P)}else r(s);m=n(s)}if(m!==null)var qn=!0;else{var vt=n(f);vt!==null&&hl(h,vt.startTime-P),qn=!1}return qn}finally{m=null,p=z,g=!1}}var _=!1,x=null,N=-1,B=5,L=-1;function xe(){return!(e.unstable_now()-LC||125H?(C.sortIndex=z,t(f,C),n(s)===null&&C===n(f)&&(k?(c(N),N=-1):k=!0,hl(h,z-H))):(C.sortIndex=X,t(s,C),w||g||(w=!0,vl(E))),C},e.unstable_shouldYield=xe,e.unstable_wrapCallback=function(C){var P=p;return function(){var z=p;p=P;try{return C.apply(this,arguments)}finally{p=z}}}})(ts);es.exports=ts;var _f=es.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var xf=Au,he=_f;function y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Wl=Object.prototype.hasOwnProperty,Nf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Fo={},jo={};function Pf(e){return Wl.call(jo,e)?!0:Wl.call(Fo,e)?!1:Nf.test(e)?jo[e]=!0:(Fo[e]=!0,!1)}function zf(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Tf(e,t,n,r){if(t===null||typeof t>"u"||zf(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ie(e,t,n,r,l,u,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=u,this.removeEmptyString=o}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){b[e]=new ie(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];b[t]=new ie(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){b[e]=new ie(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){b[e]=new ie(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){b[e]=new ie(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){b[e]=new ie(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){b[e]=new ie(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){b[e]=new ie(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){b[e]=new ie(e,5,!1,e.toLowerCase(),null,!1,!1)});var $u=/[\-:]([a-z])/g;function Bu(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace($u,Bu);b[t]=new ie(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace($u,Bu);b[t]=new ie(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace($u,Bu);b[t]=new ie(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!1,!1)});b.xlinkHref=new ie("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){b[e]=new ie(e,1,!1,e.toLowerCase(),null,!0,!0)});function Hu(e,t,n,r){var l=b.hasOwnProperty(t)?b[t]:null;(l!==null?l.type!==0:r||!(2i||l[o]!==u[i]){var s=` +`+l[o].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=o&&0<=i);break}}}finally{kl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?yn(e):""}function Lf(e){switch(e.tag){case 5:return yn(e.type);case 16:return yn("Lazy");case 13:return yn("Suspense");case 19:return yn("SuspenseList");case 0:case 2:case 15:return e=Sl(e.type,!1),e;case 11:return e=Sl(e.type.render,!1),e;case 1:return e=Sl(e.type,!0),e;default:return""}}function Xl(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Mt:return"Fragment";case Ot:return"Portal";case Ql:return"Profiler";case Wu:return"StrictMode";case Kl:return"Suspense";case Yl:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ls:return(e.displayName||"Context")+".Consumer";case rs:return(e._context.displayName||"Context")+".Provider";case Qu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ku:return t=e.displayName||null,t!==null?t:Xl(e.type)||"Memo";case Ze:t=e._payload,e=e._init;try{return Xl(e(t))}catch{}}return null}function Rf(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Xl(t);case 8:return t===Wu?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ft(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function os(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Of(e){var t=os(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var l=n.get,u=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(o){r=""+o,u.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function nr(e){e._valueTracker||(e._valueTracker=Of(e))}function is(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=os(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Tr(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Gl(e,t){var n=t.checked;return A({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Vo(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=ft(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function ss(e,t){t=t.checked,t!=null&&Hu(e,"checked",t,!1)}function Zl(e,t){ss(e,t);var n=ft(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Jl(e,t.type,n):t.hasOwnProperty("defaultValue")&&Jl(e,t.type,ft(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ao(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Jl(e,t,n){(t!=="number"||Tr(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var gn=Array.isArray;function Wt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=rr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Rn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Sn={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Mf=["Webkit","ms","Moz","O"];Object.keys(Sn).forEach(function(e){Mf.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Sn[t]=Sn[e]})});function ds(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Sn.hasOwnProperty(e)&&Sn[e]?(""+t).trim():t+"px"}function ps(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=ds(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Df=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function eu(e,t){if(t){if(Df[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(y(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(y(61))}if(t.style!=null&&typeof t.style!="object")throw Error(y(62))}}function tu(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var nu=null;function Yu(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var ru=null,Qt=null,Kt=null;function Ho(e){if(e=Zn(e)){if(typeof ru!="function")throw Error(y(280));var t=e.stateNode;t&&(t=ll(t),ru(e.stateNode,e.type,t))}}function ms(e){Qt?Kt?Kt.push(e):Kt=[e]:Qt=e}function vs(){if(Qt){var e=Qt,t=Kt;if(Kt=Qt=null,Ho(e),t)for(e=0;e>>=0,e===0?32:31-(Qf(e)/Kf|0)|0}var lr=64,ur=4194304;function wn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Mr(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,u=e.pingedLanes,o=n&268435455;if(o!==0){var i=o&~l;i!==0?r=wn(i):(u&=o,u!==0&&(r=wn(u)))}else o=n&~l,o!==0?r=wn(o):u!==0&&(r=wn(u));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,u=t&-t,l>=u||l===16&&(u&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Xn(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Le(t),e[t]=n}function Zf(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Cn),qo=" ",bo=!1;function Is(e,t){switch(e){case"keyup":return _c.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Dt=!1;function Nc(e,t){switch(e){case"compositionend":return Fs(t);case"keypress":return t.which!==32?null:(bo=!0,qo);case"textInput":return e=t.data,e===qo&&bo?null:e;default:return null}}function Pc(e,t){if(Dt)return e==="compositionend"||!to&&Is(e,t)?(e=Ms(),kr=qu=et=null,Dt=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ri(n)}}function As(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?As(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function $s(){for(var e=window,t=Tr();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Tr(e.document)}return t}function no(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function Fc(e){var t=$s(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&As(n.ownerDocument.documentElement,n)){if(r!==null&&no(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var l=n.textContent.length,u=Math.min(r.start,l);r=r.end===void 0?u:Math.min(r.end,l),!e.extend&&u>r&&(l=r,r=u,u=l),l=li(n,u);var o=li(n,r);l&&o&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),u>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,It=null,au=null,xn=null,fu=!1;function ui(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;fu||It==null||It!==Tr(r)||(r=It,"selectionStart"in r&&no(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),xn&&jn(xn,r)||(xn=r,r=Fr(au,"onSelect"),0Ut||(e.current=hu[Ut],hu[Ut]=null,Ut--)}function M(e,t){Ut++,hu[Ut]=e.current,e.current=t}var ct={},re=pt(ct),fe=pt(!1),_t=ct;function Jt(e,t){var n=e.type.contextTypes;if(!n)return ct;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},u;for(u in n)l[u]=t[u];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function ce(e){return e=e.childContextTypes,e!=null}function Ur(){I(fe),I(re)}function di(e,t,n){if(re.current!==ct)throw Error(y(168));M(re,t),M(fe,n)}function Zs(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(y(108,Rf(e)||"Unknown",l));return A({},n,r)}function Vr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ct,_t=re.current,M(re,e),M(fe,fe.current),!0}function pi(e,t,n){var r=e.stateNode;if(!r)throw Error(y(169));n?(e=Zs(e,t,_t),r.__reactInternalMemoizedMergedChildContext=e,I(fe),I(re),M(re,e)):I(fe),M(fe,n)}var Ve=null,ul=!1,Il=!1;function Js(e){Ve===null?Ve=[e]:Ve.push(e)}function Xc(e){ul=!0,Js(e)}function mt(){if(!Il&&Ve!==null){Il=!0;var e=0,t=O;try{var n=Ve;for(O=1;e>=o,l-=o,Ae=1<<32-Le(t)+l|n<N?(B=x,x=null):B=x.sibling;var L=p(c,x,d[N],h);if(L===null){x===null&&(x=B);break}e&&x&&L.alternate===null&&t(c,x),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L,x=B}if(N===d.length)return n(c,x),j&&yt(c,N),E;if(x===null){for(;NN?(B=x,x=null):B=x.sibling;var xe=p(c,x,L.value,h);if(xe===null){x===null&&(x=B);break}e&&x&&xe.alternate===null&&t(c,x),a=u(xe,a,N),_===null?E=xe:_.sibling=xe,_=xe,x=B}if(L.done)return n(c,x),j&&yt(c,N),E;if(x===null){for(;!L.done;N++,L=d.next())L=m(c,L.value,h),L!==null&&(a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return j&&yt(c,N),E}for(x=r(c,x);!L.done;N++,L=d.next())L=g(x,c,N,L.value,h),L!==null&&(e&&L.alternate!==null&&x.delete(L.key===null?N:L.key),a=u(L,a,N),_===null?E=L:_.sibling=L,_=L);return e&&x.forEach(function(on){return t(c,on)}),j&&yt(c,N),E}function F(c,a,d,h){if(typeof d=="object"&&d!==null&&d.type===Mt&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case tr:e:{for(var E=d.key,_=a;_!==null;){if(_.key===E){if(E=d.type,E===Mt){if(_.tag===7){n(c,_.sibling),a=l(_,d.props.children),a.return=c,c=a;break e}}else if(_.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Ze&&hi(E)===_.type){n(c,_.sibling),a=l(_,d.props),a.ref=mn(c,_,d),a.return=c,c=a;break e}n(c,_);break}else t(c,_);_=_.sibling}d.type===Mt?(a=Ct(d.props.children,c.mode,h,d.key),a.return=c,c=a):(h=zr(d.type,d.key,d.props,null,c.mode,h),h.ref=mn(c,a,d),h.return=c,c=h)}return o(c);case Ot:e:{for(_=d.key;a!==null;){if(a.key===_)if(a.tag===4&&a.stateNode.containerInfo===d.containerInfo&&a.stateNode.implementation===d.implementation){n(c,a.sibling),a=l(a,d.children||[]),a.return=c,c=a;break e}else{n(c,a);break}else t(c,a);a=a.sibling}a=Hl(d,c.mode,h),a.return=c,c=a}return o(c);case Ze:return _=d._init,F(c,a,_(d._payload),h)}if(gn(d))return w(c,a,d,h);if(an(d))return k(c,a,d,h);dr(c,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,a!==null&&a.tag===6?(n(c,a.sibling),a=l(a,d),a.return=c,c=a):(n(c,a),a=Bl(d,c.mode,h),a.return=c,c=a),o(c)):n(c,a)}return F}var bt=ta(!0),na=ta(!1),Br=pt(null),Hr=null,$t=null,oo=null;function io(){oo=$t=Hr=null}function so(e){var t=Br.current;I(Br),e._currentValue=t}function wu(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Xt(e,t){Hr=e,oo=$t=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ae=!0),e.firstContext=null)}function Ce(e){var t=e._currentValue;if(oo!==e)if(e={context:e,memoizedValue:t,next:null},$t===null){if(Hr===null)throw Error(y(308));$t=e,Hr.dependencies={lanes:0,firstContext:e}}else $t=$t.next=e;return t}var kt=null;function ao(e){kt===null?kt=[e]:kt.push(e)}function ra(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,ao(t)):(n.next=l.next,l.next=n),t.interleaved=n,Qe(e,r)}function Qe(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Je=!1;function fo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function la(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Be(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function ot(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,R&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Qe(e,n)}return l=r.interleaved,l===null?(t.next=t,ao(r)):(t.next=l.next,l.next=t),r.interleaved=t,Qe(e,n)}function Er(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Gu(e,n)}}function yi(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,u=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};u===null?l=u=o:u=u.next=o,n=n.next}while(n!==null);u===null?l=u=t:u=u.next=t}else l=u=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:u,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Wr(e,t,n,r){var l=e.updateQueue;Je=!1;var u=l.firstBaseUpdate,o=l.lastBaseUpdate,i=l.shared.pending;if(i!==null){l.shared.pending=null;var s=i,f=s.next;s.next=null,o===null?u=f:o.next=f,o=s;var v=e.alternate;v!==null&&(v=v.updateQueue,i=v.lastBaseUpdate,i!==o&&(i===null?v.firstBaseUpdate=f:i.next=f,v.lastBaseUpdate=s))}if(u!==null){var m=l.baseState;o=0,v=f=s=null,i=u;do{var p=i.lane,g=i.eventTime;if((r&p)===p){v!==null&&(v=v.next={eventTime:g,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var w=e,k=i;switch(p=t,g=n,k.tag){case 1:if(w=k.payload,typeof w=="function"){m=w.call(g,m,p);break e}m=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=k.payload,p=typeof w=="function"?w.call(g,m,p):w,p==null)break e;m=A({},m,p);break e;case 2:Je=!0}}i.callback!==null&&i.lane!==0&&(e.flags|=64,p=l.effects,p===null?l.effects=[i]:p.push(i))}else g={eventTime:g,lane:p,tag:i.tag,payload:i.payload,callback:i.callback,next:null},v===null?(f=v=g,s=m):v=v.next=g,o|=p;if(i=i.next,i===null){if(i=l.shared.pending,i===null)break;p=i,i=p.next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}while(!0);if(v===null&&(s=m),l.baseState=s,l.firstBaseUpdate=f,l.lastBaseUpdate=v,t=l.shared.interleaved,t!==null){l=t;do o|=l.lane,l=l.next;while(l!==t)}else u===null&&(l.shared.lanes=0);Pt|=o,e.lanes=o,e.memoizedState=m}}function gi(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=jl.transition;jl.transition={};try{e(!1),t()}finally{O=n,jl.transition=r}}function Sa(){return _e().memoizedState}function qc(e,t,n){var r=st(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Ea(e))Ca(t,n);else if(n=ra(e,t,n,r),n!==null){var l=ue();Re(n,e,r,l),_a(n,t,r)}}function bc(e,t,n){var r=st(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ea(e))Ca(t,l);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var o=t.lastRenderedState,i=u(o,n);if(l.hasEagerState=!0,l.eagerState=i,Oe(i,o)){var s=t.interleaved;s===null?(l.next=l,ao(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=ra(e,t,l,r),n!==null&&(l=ue(),Re(n,e,r,l),_a(n,t,r))}}function Ea(e){var t=e.alternate;return e===V||t!==null&&t===V}function Ca(e,t){Nn=Kr=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function _a(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Gu(e,n)}}var Yr={readContext:Ce,useCallback:ee,useContext:ee,useEffect:ee,useImperativeHandle:ee,useInsertionEffect:ee,useLayoutEffect:ee,useMemo:ee,useReducer:ee,useRef:ee,useState:ee,useDebugValue:ee,useDeferredValue:ee,useTransition:ee,useMutableSource:ee,useSyncExternalStore:ee,useId:ee,unstable_isNewReconciler:!1},ed={readContext:Ce,useCallback:function(e,t){return De().memoizedState=[e,t===void 0?null:t],e},useContext:Ce,useEffect:ki,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,_r(4194308,4,ha.bind(null,t,e),n)},useLayoutEffect:function(e,t){return _r(4194308,4,e,t)},useInsertionEffect:function(e,t){return _r(4,2,e,t)},useMemo:function(e,t){var n=De();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=De();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=qc.bind(null,V,e),[r.memoizedState,e]},useRef:function(e){var t=De();return e={current:e},t.memoizedState=e},useState:wi,useDebugValue:wo,useDeferredValue:function(e){return De().memoizedState=e},useTransition:function(){var e=wi(!1),t=e[0];return e=Jc.bind(null,e[1]),De().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=V,l=De();if(j){if(n===void 0)throw Error(y(407));n=n()}else{if(n=t(),Z===null)throw Error(y(349));Nt&30||sa(r,t,n)}l.memoizedState=n;var u={value:n,getSnapshot:t};return l.queue=u,ki(fa.bind(null,r,u,e),[e]),r.flags|=2048,Qn(9,aa.bind(null,r,u,n,t),void 0,null),n},useId:function(){var e=De(),t=Z.identifierPrefix;if(j){var n=$e,r=Ae;n=(r&~(1<<32-Le(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Hn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[Ie]=t,e[An]=r,Da(e,t,!1,!1),t.stateNode=e;e:{switch(o=tu(n,r),n){case"dialog":D("cancel",e),D("close",e),l=r;break;case"iframe":case"object":case"embed":D("load",e),l=r;break;case"video":case"audio":for(l=0;lnn&&(t.flags|=128,r=!0,vn(u,!1),t.lanes=4194304)}else{if(!r)if(e=Qr(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),vn(u,!0),u.tail===null&&u.tailMode==="hidden"&&!o.alternate&&!j)return te(t),null}else 2*W()-u.renderingStartTime>nn&&n!==1073741824&&(t.flags|=128,r=!0,vn(u,!1),t.lanes=4194304);u.isBackwards?(o.sibling=t.child,t.child=o):(n=u.last,n!==null?n.sibling=o:t.child=o,u.last=o)}return u.tail!==null?(t=u.tail,u.rendering=t,u.tail=t.sibling,u.renderingStartTime=W(),t.sibling=null,n=U.current,M(U,r?n&1|2:n&1),t):(te(t),null);case 22:case 23:return xo(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?pe&1073741824&&(te(t),t.subtreeFlags&6&&(t.flags|=8192)):te(t),null;case 24:return null;case 25:return null}throw Error(y(156,t.tag))}function sd(e,t){switch(lo(t),t.tag){case 1:return ce(t.type)&&Ur(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return en(),I(fe),I(re),mo(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return po(t),null;case 13:if(I(U),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(y(340));qt()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return I(U),null;case 4:return en(),null;case 10:return so(t.type._context),null;case 22:case 23:return xo(),null;case 24:return null;default:return null}}var mr=!1,ne=!1,ad=typeof WeakSet=="function"?WeakSet:Set,S=null;function Bt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){$(e,t,r)}else n.current=null}function zu(e,t,n){try{n()}catch(r){$(e,t,r)}}var Ri=!1;function fd(e,t){if(cu=Dr,e=$s(),no(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var l=r.anchorOffset,u=r.focusNode;r=r.focusOffset;try{n.nodeType,u.nodeType}catch{n=null;break e}var o=0,i=-1,s=-1,f=0,v=0,m=e,p=null;t:for(;;){for(var g;m!==n||l!==0&&m.nodeType!==3||(i=o+l),m!==u||r!==0&&m.nodeType!==3||(s=o+r),m.nodeType===3&&(o+=m.nodeValue.length),(g=m.firstChild)!==null;)p=m,m=g;for(;;){if(m===e)break t;if(p===n&&++f===l&&(i=o),p===u&&++v===r&&(s=o),(g=m.nextSibling)!==null)break;m=p,p=m.parentNode}m=g}n=i===-1||s===-1?null:{start:i,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(du={focusedElem:e,selectionRange:n},Dr=!1,S=t;S!==null;)if(t=S,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,S=e;else for(;S!==null;){t=S;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,F=w.memoizedState,c=t.stateNode,a=c.getSnapshotBeforeUpdate(t.elementType===t.type?k:Pe(t.type,k),F);c.__reactInternalSnapshotBeforeUpdate=a}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(h){$(t,t.return,h)}if(e=t.sibling,e!==null){e.return=t.return,S=e;break}S=t.return}return w=Ri,Ri=!1,w}function Pn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var u=l.destroy;l.destroy=void 0,u!==void 0&&zu(t,n,u)}l=l.next}while(l!==r)}}function sl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Tu(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function ja(e){var t=e.alternate;t!==null&&(e.alternate=null,ja(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ie],delete t[An],delete t[vu],delete t[Kc],delete t[Yc])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Ua(e){return e.tag===5||e.tag===3||e.tag===4}function Oi(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ua(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Lu(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=jr));else if(r!==4&&(e=e.child,e!==null))for(Lu(e,t,n),e=e.sibling;e!==null;)Lu(e,t,n),e=e.sibling}function Ru(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ru(e,t,n),e=e.sibling;e!==null;)Ru(e,t,n),e=e.sibling}var J=null,ze=!1;function Xe(e,t,n){for(n=n.child;n!==null;)Va(e,t,n),n=n.sibling}function Va(e,t,n){if(Fe&&typeof Fe.onCommitFiberUnmount=="function")try{Fe.onCommitFiberUnmount(el,n)}catch{}switch(n.tag){case 5:ne||Bt(n,t);case 6:var r=J,l=ze;J=null,Xe(e,t,n),J=r,ze=l,J!==null&&(ze?(e=J,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):J.removeChild(n.stateNode));break;case 18:J!==null&&(ze?(e=J,n=n.stateNode,e.nodeType===8?Dl(e.parentNode,n):e.nodeType===1&&Dl(e,n),In(e)):Dl(J,n.stateNode));break;case 4:r=J,l=ze,J=n.stateNode.containerInfo,ze=!0,Xe(e,t,n),J=r,ze=l;break;case 0:case 11:case 14:case 15:if(!ne&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var u=l,o=u.destroy;u=u.tag,o!==void 0&&(u&2||u&4)&&zu(n,t,o),l=l.next}while(l!==r)}Xe(e,t,n);break;case 1:if(!ne&&(Bt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(i){$(n,t,i)}Xe(e,t,n);break;case 21:Xe(e,t,n);break;case 22:n.mode&1?(ne=(r=ne)||n.memoizedState!==null,Xe(e,t,n),ne=r):Xe(e,t,n);break;default:Xe(e,t,n)}}function Mi(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new ad),t.forEach(function(r){var l=wd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Ne(e,t){var n=t.deletions;if(n!==null)for(var r=0;rl&&(l=o),r&=~u}if(r=l,r=W()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*dd(r/1960))-r,10e?16:e,tt===null)var r=!1;else{if(e=tt,tt=null,Zr=0,R&6)throw Error(y(331));var l=R;for(R|=4,S=e.current;S!==null;){var u=S,o=u.child;if(S.flags&16){var i=u.deletions;if(i!==null){for(var s=0;sW()-Co?Et(e,0):Eo|=n),de(e,t)}function Ya(e,t){t===0&&(e.mode&1?(t=ur,ur<<=1,!(ur&130023424)&&(ur=4194304)):t=1);var n=ue();e=Qe(e,t),e!==null&&(Xn(e,t,n),de(e,n))}function gd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ya(e,n)}function wd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(t),Ya(e,n)}var Xa;Xa=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||fe.current)ae=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ae=!1,od(e,t,n);ae=!!(e.flags&131072)}else ae=!1,j&&t.flags&1048576&&qs(t,$r,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;xr(e,t),e=t.pendingProps;var l=Jt(t,re.current);Xt(t,n),l=ho(null,t,r,e,l,n);var u=yo();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ce(r)?(u=!0,Vr(t)):u=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,fo(t),l.updater=il,t.stateNode=l,l._reactInternals=t,Su(t,r,e,n),t=_u(null,t,r,!0,u,n)):(t.tag=0,j&&u&&ro(t),le(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(xr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Sd(r),e=Pe(r,e),l){case 0:t=Cu(null,t,r,e,n);break e;case 1:t=zi(null,t,r,e,n);break e;case 11:t=Ni(null,t,r,e,n);break e;case 14:t=Pi(null,t,r,Pe(r.type,e),n);break e}throw Error(y(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Pe(r,l),Cu(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Pe(r,l),zi(e,t,r,l,n);case 3:e:{if(Ra(t),e===null)throw Error(y(387));r=t.pendingProps,u=t.memoizedState,l=u.element,la(e,t),Wr(t,r,null,n);var o=t.memoizedState;if(r=o.element,u.isDehydrated)if(u={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=u,t.memoizedState=u,t.flags&256){l=tn(Error(y(423)),t),t=Ti(e,t,r,n,l);break e}else if(r!==l){l=tn(Error(y(424)),t),t=Ti(e,t,r,n,l);break e}else for(me=ut(t.stateNode.containerInfo.firstChild),ve=t,j=!0,Te=null,n=na(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(qt(),r===l){t=Ke(e,t,n);break e}le(e,t,r,n)}t=t.child}return t;case 5:return ua(t),e===null&&gu(t),r=t.type,l=t.pendingProps,u=e!==null?e.memoizedProps:null,o=l.children,pu(r,l)?o=null:u!==null&&pu(r,u)&&(t.flags|=32),La(e,t),le(e,t,o,n),t.child;case 6:return e===null&&gu(t),null;case 13:return Oa(e,t,n);case 4:return co(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=bt(t,null,r,n):le(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Pe(r,l),Ni(e,t,r,l,n);case 7:return le(e,t,t.pendingProps,n),t.child;case 8:return le(e,t,t.pendingProps.children,n),t.child;case 12:return le(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,u=t.memoizedProps,o=l.value,M(Br,r._currentValue),r._currentValue=o,u!==null)if(Oe(u.value,o)){if(u.children===l.children&&!fe.current){t=Ke(e,t,n);break e}}else for(u=t.child,u!==null&&(u.return=t);u!==null;){var i=u.dependencies;if(i!==null){o=u.child;for(var s=i.firstContext;s!==null;){if(s.context===r){if(u.tag===1){s=Be(-1,n&-n),s.tag=2;var f=u.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?s.next=s:(s.next=v.next,v.next=s),f.pending=s}}u.lanes|=n,s=u.alternate,s!==null&&(s.lanes|=n),wu(u.return,n,t),i.lanes|=n;break}s=s.next}}else if(u.tag===10)o=u.type===t.type?null:u.child;else if(u.tag===18){if(o=u.return,o===null)throw Error(y(341));o.lanes|=n,i=o.alternate,i!==null&&(i.lanes|=n),wu(o,n,t),o=u.sibling}else o=u.child;if(o!==null)o.return=u;else for(o=u;o!==null;){if(o===t){o=null;break}if(u=o.sibling,u!==null){u.return=o.return,o=u;break}o=o.return}u=o}le(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,Xt(t,n),l=Ce(l),r=r(l),t.flags|=1,le(e,t,r,n),t.child;case 14:return r=t.type,l=Pe(r,t.pendingProps),l=Pe(r.type,l),Pi(e,t,r,l,n);case 15:return za(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:Pe(r,l),xr(e,t),t.tag=1,ce(r)?(e=!0,Vr(t)):e=!1,Xt(t,n),xa(t,r,l),Su(t,r,l,n),_u(null,t,r,!0,e,n);case 19:return Ma(e,t,n);case 22:return Ta(e,t,n)}throw Error(y(156,t.tag))};function Ga(e,t){return Es(e,t)}function kd(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Se(e,t,n,r){return new kd(e,t,n,r)}function Po(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Sd(e){if(typeof e=="function")return Po(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qu)return 11;if(e===Ku)return 14}return 2}function at(e,t){var n=e.alternate;return n===null?(n=Se(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function zr(e,t,n,r,l,u){var o=2;if(r=e,typeof e=="function")Po(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Mt:return Ct(n.children,l,u,t);case Wu:o=8,l|=8;break;case Ql:return e=Se(12,n,t,l|2),e.elementType=Ql,e.lanes=u,e;case Kl:return e=Se(13,n,t,l),e.elementType=Kl,e.lanes=u,e;case Yl:return e=Se(19,n,t,l),e.elementType=Yl,e.lanes=u,e;case us:return fl(n,l,u,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case rs:o=10;break e;case ls:o=9;break e;case Qu:o=11;break e;case Ku:o=14;break e;case Ze:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return t=Se(o,n,t,l),t.elementType=e,t.type=r,t.lanes=u,t}function Ct(e,t,n,r){return e=Se(7,e,r,t),e.lanes=n,e}function fl(e,t,n,r){return e=Se(22,e,r,t),e.elementType=us,e.lanes=n,e.stateNode={isHidden:!1},e}function Bl(e,t,n){return e=Se(6,e,null,t),e.lanes=n,e}function Hl(e,t,n){return t=Se(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Ed(e,t,n,r,l){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Cl(0),this.expirationTimes=Cl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Cl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function zo(e,t,n,r,l,u,o,i,s){return e=new Ed(e,t,n,i,s),t===1?(t=1,u===!0&&(t|=8)):t=0,u=Se(3,null,null,t),e.current=u,u.stateNode=e,u.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},fo(u),e}function Cd(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(ba)}catch(e){console.error(e)}}ba(),bi.exports=ye;var zd=bi.exports,ef,$i=zd;ef=$i.createRoot,$i.hydrateRoot;function Td(e){const t=Number(e);return Number.isFinite(t)?t:0}function Ld({initialCount:e,label:t}){const[n,r]=Au.useState(Td(e));return Ge.jsxs("section",{"data-component":"counter-react",className:"rounded-xl border border-base-300 bg-base-100 p-4 space-y-3",children:[Ge.jsx("h3",{className:"text-lg font-semibold",children:t||"React Counter"}),Ge.jsx("p",{"data-slot":"count",className:"text-3xl font-bold leading-none",children:n}),Ge.jsx("p",{className:"mt-2 text-xs font-medium uppercase tracking-wide opacity-70",children:"React"}),Ge.jsxs("div",{className:"flex gap-2",children:[Ge.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>r(l=>l-1),children:"-1"}),Ge.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>r(l=>l+1),children:"+1"})]})]})}function Rd(e,t={}){ef(e).render(Ge.jsx(Ld,{...t}))}export{Rd as mount}; +//# sourceMappingURL=ReactCounter-Q43Zbpba.js.map diff --git a/app/static/islands/ReactCounter-Q43Zbpba.js.map b/app/static/islands/ReactCounter-Q43Zbpba.js.map new file mode 100644 index 00000000..848dde4c --- /dev/null +++ b/app/static/islands/ReactCounter-Q43Zbpba.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReactCounter-Q43Zbpba.js","sources":["../../../frontend/node_modules/react/cjs/react.production.min.js","../../../frontend/node_modules/react/index.js","../../../frontend/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../frontend/node_modules/react/jsx-runtime.js","../../../frontend/node_modules/scheduler/cjs/scheduler.production.min.js","../../../frontend/node_modules/scheduler/index.js","../../../frontend/node_modules/react-dom/cjs/react-dom.production.min.js","../../../frontend/node_modules/react-dom/index.js","../../../frontend/node_modules/react-dom/client.js","../../../frontend/islands/ReactCounter.jsx"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3\n

{label || \"React Counter\"}

\n

{count}

\n

React

\n
\n \n \n
\n \n );\n}\n\nexport function mount(el, props = {}) {\n const root = createRoot(el);\n root.render();\n}\n"],"names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","reactDom_production_min","checkDCE","err","reactDomModule","createRoot","toInitialCount","value","parsed","Counter","initialCount","label","count","setCount","useState","jsxs","jsx","mount","props"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8]} \ No newline at end of file diff --git a/app/static/islands/SvelteCounter-CJ05U_--.js b/app/static/islands/SvelteCounter-CJ05U_--.js new file mode 100644 index 00000000..7e2c20ad --- /dev/null +++ b/app/static/islands/SvelteCounter-CJ05U_--.js @@ -0,0 +1,2 @@ +import{S as N,i as q,s as A,n as h,d as B,B as F,A as g,f as j,k as e,l as k,h as m,o as y,y as x,e as n}from"./chunks/index-B2lUnYab.js";function w(a){let t,l,s=(a[0]||"Svelte Counter")+"",u,c,o,C,i,r,b,S,f,v,_;return{c(){t=m("section"),l=m("h3"),u=y(s),c=x(),o=m("p"),C=y(a[1]),i=x(),r=m("div"),b=m("button"),b.textContent="-1",S=x(),f=m("button"),f.textContent="+1",n(l,"class","text-lg font-semibold"),n(o,"data-slot","count"),n(o,"class","text-3xl font-bold"),n(b,"type","button"),n(b,"class","btn btn-sm"),n(f,"type","button"),n(f,"class","btn btn-sm"),n(r,"class","flex gap-2"),n(t,"data-component","counter-svelte"),n(t,"class","rounded-xl border border-base-300 bg-base-100 p-4 space-y-3")},m(d,p){j(d,t,p),e(t,l),e(l,u),e(t,c),e(t,o),e(o,C),e(t,i),e(t,r),e(r,b),e(r,S),e(r,f),v||(_=[k(b,"click",a[2]),k(f,"click",a[3])],v=!0)},p(d,[p]){p&1&&s!==(s=(d[0]||"Svelte Counter")+"")&&g(u,s),p&2&&g(C,d[1])},i:h,o:h,d(d){d&&B(t),v=!1,F(_)}}}function z(a,t,l){let{initialCount:s=0}=t,{label:u="Svelte Counter"}=t,c=Number.isFinite(Number(s))?Number(s):0;const o=()=>{l(1,c-=1)},C=()=>{l(1,c+=1)};return a.$$set=i=>{"initialCount"in i&&l(4,s=i.initialCount),"label"in i&&l(0,u=i.label)},[u,c,o,C,s]}class E extends N{constructor(t){super(),q(this,t,z,w,A,{initialCount:4,label:0})}}export{E as default}; +//# sourceMappingURL=SvelteCounter-CJ05U_--.js.map diff --git a/app/static/islands/SvelteCounter-CJ05U_--.js.map b/app/static/islands/SvelteCounter-CJ05U_--.js.map new file mode 100644 index 00000000..268fd1f5 --- /dev/null +++ b/app/static/islands/SvelteCounter-CJ05U_--.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SvelteCounter-CJ05U_--.js","sources":["../../../frontend/islands/SvelteCounter.svelte"],"sourcesContent":["\n\n\n

{label || \"Svelte Counter\"}

\n

{count}

\n
\n \n \n
\n\n"],"names":["t0_value","ctx","insert","target","section","anchor","append","h3","p","div","button0","button1","dirty","set_data","t0","initialCount","$$props","label","count","decrement","$$invalidate","increment"],"mappings":"gKAmBqCA,GAAAC,MAAS,kBAAgB,uFACXA,EAAK,CAAA,CAAA,6aALxDC,EAUSC,EAAAC,EAAAC,CAAA,EANPC,EAAiEF,EAAAG,CAAA,gBACjED,EAA0DF,EAAAI,CAAA,gBAC1DF,EAGKF,EAAAK,CAAA,EAFHH,EAAwEG,EAAAC,CAAA,SACxEJ,EAAwEG,EAAAE,CAAA,qBADrBV,EAAS,CAAA,CAAA,cACTA,EAAS,CAAA,CAAA,mBAJ3BW,EAAA,GAAAZ,KAAAA,GAAAC,MAAS,kBAAgB,KAAAY,EAAAC,EAAAd,CAAA,WACXC,EAAK,CAAA,CAAA,sDAnB3C,GAAA,CAAA,aAAAc,EAAe,CAAC,EAAAC,EAChB,CAAA,MAAAC,EAAQ,gBAAgB,EAAAD,EAE/BE,EAAQ,OAAO,SAAS,OAAOH,CAAY,CAAA,EAAK,OAAOA,CAAY,EAAI,QAErEI,EAAS,IAAA,CACbC,EAAA,EAAAF,GAAS,CAAC,GAGNG,EAAS,IAAA,CACbD,EAAA,EAAAF,GAAS,CAAC"} \ No newline at end of file diff --git a/app/static/islands/SvelteCounter-D1sMMFcS.js b/app/static/islands/SvelteCounter-D1sMMFcS.js new file mode 100644 index 00000000..d2d8cbae --- /dev/null +++ b/app/static/islands/SvelteCounter-D1sMMFcS.js @@ -0,0 +1,2 @@ +import{S as w,i as A,s as B,n as k,d as F,B as j,A as y,f as z,k as e,l as N,h as u,o as q,y as v,e as n}from"./chunks/index-B2lUnYab.js";function D(a){let t,l,s=(a[0]||"Svelte Counter")+"",c,r,o,p,i,C,g,b,d,_,m,S,h;return{c(){t=u("section"),l=u("h3"),c=q(s),r=v(),o=u("p"),p=q(a[1]),i=v(),C=u("p"),C.textContent="Svelte",g=v(),b=u("div"),d=u("button"),d.textContent="-1",_=v(),m=u("button"),m.textContent="+1",n(l,"class","text-lg font-semibold"),n(o,"data-slot","count"),n(o,"class","text-3xl font-bold leading-none"),n(C,"class","mt-2 text-xs font-medium uppercase tracking-wide opacity-70"),n(d,"type","button"),n(d,"class","btn btn-sm"),n(m,"type","button"),n(m,"class","btn btn-sm"),n(b,"class","flex gap-2"),n(t,"data-component","counter-svelte"),n(t,"class","rounded-xl border border-base-300 bg-base-100 p-4 space-y-3")},m(f,x){z(f,t,x),e(t,l),e(l,c),e(t,r),e(t,o),e(o,p),e(t,i),e(t,C),e(t,g),e(t,b),e(b,d),e(b,_),e(b,m),S||(h=[N(d,"click",a[2]),N(m,"click",a[3])],S=!0)},p(f,[x]){x&1&&s!==(s=(f[0]||"Svelte Counter")+"")&&y(c,s),x&2&&y(p,f[1])},i:k,o:k,d(f){f&&F(t),S=!1,j(h)}}}function E(a,t,l){let{initialCount:s=0}=t,{label:c="Svelte Counter"}=t,r=Number.isFinite(Number(s))?Number(s):0;const o=()=>{l(1,r-=1)},p=()=>{l(1,r+=1)};return a.$$set=i=>{"initialCount"in i&&l(4,s=i.initialCount),"label"in i&&l(0,c=i.label)},[c,r,o,p,s]}class H extends w{constructor(t){super(),A(this,t,E,D,B,{initialCount:4,label:0})}}export{H as default}; +//# sourceMappingURL=SvelteCounter-D1sMMFcS.js.map diff --git a/app/static/islands/SvelteCounter-D1sMMFcS.js.map b/app/static/islands/SvelteCounter-D1sMMFcS.js.map new file mode 100644 index 00000000..bdaaeece --- /dev/null +++ b/app/static/islands/SvelteCounter-D1sMMFcS.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SvelteCounter-D1sMMFcS.js","sources":["../../../frontend/islands/SvelteCounter.svelte"],"sourcesContent":["\n\n\n

{label || \"Svelte Counter\"}

\n

{count}

\n

Svelte

\n
\n \n \n
\n\n"],"names":["t0_value","ctx","insert","target","section","anchor","append","h3","p0","p1","div","button0","button1","dirty","set_data","t0","initialCount","$$props","label","count","decrement","$$invalidate","increment"],"mappings":"gKAmBqCA,GAAAC,MAAS,kBAAgB,2FACEA,EAAK,CAAA,CAAA,2iBALrEC,EAWSC,EAAAC,EAAAC,CAAA,EAPPC,EAAiEF,EAAAG,CAAA,gBACjED,EAAuEF,EAAAI,CAAA,gBACvEF,EAAgFF,EAAAK,CAAA,SAChFH,EAGKF,EAAAM,CAAA,EAFHJ,EAAwEI,EAAAC,CAAA,SACxEL,EAAwEI,EAAAE,CAAA,qBADrBX,EAAS,CAAA,CAAA,cACTA,EAAS,CAAA,CAAA,mBAL3BY,EAAA,GAAAb,KAAAA,GAAAC,MAAS,kBAAgB,KAAAa,EAAAC,EAAAf,CAAA,WACEC,EAAK,CAAA,CAAA,sDAnBxD,GAAA,CAAA,aAAAe,EAAe,CAAC,EAAAC,EAChB,CAAA,MAAAC,EAAQ,gBAAgB,EAAAD,EAE/BE,EAAQ,OAAO,SAAS,OAAOH,CAAY,CAAA,EAAK,OAAOA,CAAY,EAAI,QAErEI,EAAS,IAAA,CACbC,EAAA,EAAAF,GAAS,CAAC,GAGNG,EAAS,IAAA,CACbD,EAAA,EAAAF,GAAS,CAAC"} \ No newline at end of file diff --git a/app/static/islands/ThemeToggle-CMHvDE-q.js b/app/static/islands/ThemeToggle-CMHvDE-q.js new file mode 100644 index 00000000..99bfe9cd --- /dev/null +++ b/app/static/islands/ThemeToggle-CMHvDE-q.js @@ -0,0 +1,2 @@ +import{S as g,i as h,s as k,n as f,d as m,f as i,l as p,h as u,e as c,z as b,P as x}from"./chunks/index-B2lUnYab.js";function _(a){let e;return{c(){e=u("div"),e.textContent="🌚",c(e,"class","theme-toggle-light-icon text-xl sm:text-2xl")},m(o,t){i(o,e,t)},d(o){o&&m(e)}}}function y(a){let e;return{c(){e=u("div"),e.textContent="🌞",c(e,"class","theme-toggle-dark-icon text-xl sm:text-2xl")},m(o,t){i(o,e,t)},d(o){o&&m(e)}}}function v(a){let e,o,t;function s(l,d){return l[0]==="darkmode"?y:_}let r=s(a),n=r(a);return{c(){e=u("button"),n.c(),c(e,"type","button"),c(e,"class","theme-toggle text-primary-content w-9 h-9 md:w-10 md:h-10 bg-slate-200 hover:bg-slate-300 dark:hover:bg-slate-600 dark:bg-slate-500 rounded-full flex items-center justify-center")},m(l,d){i(l,e,d),n.m(e,null),o||(t=p(e,"click",a[1]),o=!0)},p(l,[d]){r!==(r=s(l))&&(n.d(1),n=r(l),n&&(n.c(),n.m(e,null)))},i:f,o:f,d(l){l&&m(e),n.d(),o=!1,t()}}}function w(a,e,o){let t=localStorage.getItem("color-theme")||(window.matchMedia("(prefers-color-scheme: dark)").matches?"darkmode":"lightmode");b(async()=>{await x(),document.documentElement.setAttribute("data-theme",t),document.documentElement.classList.toggle("dark",t==="darkmode"),r()});function s(){o(0,t=t==="darkmode"?"lightmode":"darkmode"),localStorage.setItem("color-theme",t),document.documentElement.setAttribute("data-theme",t),document.documentElement.classList.toggle("dark",t==="darkmode"),r()}function r(){o(0,t)}return[t,s]}class S extends g{constructor(e){super(),h(this,e,w,v,k,{})}}export{S as default}; +//# sourceMappingURL=ThemeToggle-CMHvDE-q.js.map diff --git a/app/static/islands/ThemeToggle-CMHvDE-q.js.map b/app/static/islands/ThemeToggle-CMHvDE-q.js.map new file mode 100644 index 00000000..b2facf4e --- /dev/null +++ b/app/static/islands/ThemeToggle-CMHvDE-q.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ThemeToggle-CMHvDE-q.js","sources":["../../../frontend/islands/ThemeToggle.svelte"],"sourcesContent":["\n\n\n {#if theme === \"darkmode\"}\n
🌞
\n {:else}\n
🌚
\n {/if}\n\n"],"names":["insert","target","div","anchor","ctx","create_if_block","button","theme","onMount","tick","updateIcons","toggleTheme","$$invalidate"],"mappings":"qPAsCIA,EAAgEC,EAAAC,EAAAC,CAAA,iJAFhEH,EAA+DC,EAAAC,EAAAC,CAAA,0DAD5D,OAAAC,OAAU,WAAUC,mRAN3BL,EAWQC,EAAAK,EAAAH,CAAA,gCAVIC,EAAW,CAAA,CAAA,gIA3BjB,IAAAG,EACF,aAAa,QAAQ,aAAa,IACjC,OAAO,WAAW,8BAA8B,EAAE,QAC/C,WACA,aAENC,EAAO,SAAA,OACCC,EAAI,EACV,SAAS,gBAAgB,aAAa,aAAcF,CAAK,EACzD,SAAS,gBAAgB,UAAU,OAAO,OAAQA,IAAU,UAAU,EACtEG,EAAW,aAGJC,GAAW,CAClBC,EAAA,EAAAL,EAAQA,IAAU,WAAa,YAAc,UAAU,EACvD,aAAa,QAAQ,cAAeA,CAAK,EACzC,SAAS,gBAAgB,aAAa,aAAcA,CAAK,EACzD,SAAS,gBAAgB,UAAU,OAAO,OAAQA,IAAU,UAAU,EACtEG,EAAW,WAGJA,GAAW"} \ No newline at end of file diff --git a/app/static/islands/ThemeToggle-IHki7fMi.js b/app/static/islands/ThemeToggle-IHki7fMi.js new file mode 100644 index 00000000..f8d7b908 --- /dev/null +++ b/app/static/islands/ThemeToggle-IHki7fMi.js @@ -0,0 +1,2 @@ +const e="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(e); +//# sourceMappingURL=ThemeToggle-IHki7fMi.js.map diff --git a/app/static/islands/ThemeToggle-IHki7fMi.js.map b/app/static/islands/ThemeToggle-IHki7fMi.js.map new file mode 100644 index 00000000..1fa3991e --- /dev/null +++ b/app/static/islands/ThemeToggle-IHki7fMi.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ThemeToggle-IHki7fMi.js","sources":["../../../frontend/node_modules/svelte/src/shared/version.js","../../../frontend/node_modules/svelte/src/runtime/internal/disclose-version/index.js"],"sourcesContent":["// generated during release, do not modify\n\n/**\n * The current version, as set in package.json.\n *\n * https://svelte.dev/docs/svelte-compiler#svelte-version\n * @type {string}\n */\nexport const VERSION = '4.2.11';\nexport const PUBLIC_VERSION = '4';\n","import { PUBLIC_VERSION } from '../../../shared/version.js';\n\nif (typeof window !== 'undefined')\n\t// @ts-ignore\n\t(window.__svelte || (window.__svelte = { v: new Set() })).v.add(PUBLIC_VERSION);\n"],"names":["PUBLIC_VERSION"],"mappings":"AASO,MAAMA,EAAiB,ICP1B,OAAO,OAAW,MAEpB,OAAO,WAAa,OAAO,SAAW,CAAE,EAAG,IAAI,GAAK,IAAK,EAAE,IAAIA,CAAc","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/app/static/islands/VanillaCounter-CXQcFsmc.js b/app/static/islands/VanillaCounter-CXQcFsmc.js new file mode 100644 index 00000000..88596a43 --- /dev/null +++ b/app/static/islands/VanillaCounter-CXQcFsmc.js @@ -0,0 +1,2 @@ +function m(s){const t=Number(s);return Number.isFinite(t)?t:0}function u(s,t={}){const o={count:m(t.initialCount),label:typeof t.label=="string"&&t.label.length>0?t.label:"Vanilla Counter"},e=document.createElement("section");e.dataset.component="counter-vanilla",e.className="rounded-xl border border-base-300 bg-base-100 p-4 space-y-3";const d=document.createElement("h3");d.className="text-lg font-semibold",d.textContent=o.label;const c=document.createElement("p");c.className="text-3xl font-bold leading-none",c.setAttribute("data-slot","count");const i=document.createElement("p");i.className="mt-2 text-xs font-medium uppercase tracking-wide opacity-70",i.textContent="Vanilla JS";const l=document.createElement("div");l.className="flex gap-2";const n=document.createElement("button");n.type="button",n.className="btn btn-sm",n.textContent="-1";const a=document.createElement("button");a.type="button",a.className="btn btn-sm",a.textContent="+1";const r=()=>{c.textContent=String(o.count)};n.addEventListener("click",()=>{o.count-=1,r()}),a.addEventListener("click",()=>{o.count+=1,r()}),l.appendChild(n),l.appendChild(a),e.appendChild(d),e.appendChild(c),e.appendChild(i),e.appendChild(l),s.replaceChildren(e),r()}export{u as mount}; +//# sourceMappingURL=VanillaCounter-CXQcFsmc.js.map diff --git a/app/static/islands/VanillaCounter-CXQcFsmc.js.map b/app/static/islands/VanillaCounter-CXQcFsmc.js.map new file mode 100644 index 00000000..de6ebb13 --- /dev/null +++ b/app/static/islands/VanillaCounter-CXQcFsmc.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VanillaCounter-CXQcFsmc.js","sources":["../../../frontend/islands/VanillaCounter.js"],"sourcesContent":["function toInitialCount(value) {\n const parsed = Number(value);\n if (Number.isFinite(parsed)) {\n return parsed;\n }\n return 0;\n}\n\nexport function mount(el, props = {}) {\n const state = {\n count: toInitialCount(props.initialCount),\n label: typeof props.label === \"string\" && props.label.length > 0\n ? props.label\n : \"Vanilla Counter\",\n };\n\n const container = document.createElement(\"section\");\n container.dataset.component = \"counter-vanilla\";\n container.className = \"rounded-xl border border-base-300 bg-base-100 p-4 space-y-3\";\n\n const title = document.createElement(\"h3\");\n title.className = \"text-lg font-semibold\";\n title.textContent = state.label;\n\n const value = document.createElement(\"p\");\n value.className = \"text-3xl font-bold leading-none\";\n value.setAttribute(\"data-slot\", \"count\");\n\n const framework = document.createElement(\"p\");\n framework.className = \"mt-2 text-xs font-medium uppercase tracking-wide opacity-70\";\n framework.textContent = \"Vanilla JS\";\n\n const controls = document.createElement(\"div\");\n controls.className = \"flex gap-2\";\n\n const decrement = document.createElement(\"button\");\n decrement.type = \"button\";\n decrement.className = \"btn btn-sm\";\n decrement.textContent = \"-1\";\n\n const increment = document.createElement(\"button\");\n increment.type = \"button\";\n increment.className = \"btn btn-sm\";\n increment.textContent = \"+1\";\n\n const render = () => {\n value.textContent = String(state.count);\n };\n\n decrement.addEventListener(\"click\", () => {\n state.count -= 1;\n render();\n });\n increment.addEventListener(\"click\", () => {\n state.count += 1;\n render();\n });\n\n controls.appendChild(decrement);\n controls.appendChild(increment);\n container.appendChild(title);\n container.appendChild(value);\n container.appendChild(framework);\n container.appendChild(controls);\n\n el.replaceChildren(container);\n render();\n}\n"],"names":["toInitialCount","value","parsed","mount","el","props","state","container","title","framework","controls","decrement","increment","render"],"mappings":"AAAA,SAASA,EAAeC,EAAO,CAC7B,MAAMC,EAAS,OAAOD,CAAK,EAC3B,OAAI,OAAO,SAASC,CAAM,EACjBA,EAEF,CACT,CAEO,SAASC,EAAMC,EAAIC,EAAQ,GAAI,CACpC,MAAMC,EAAQ,CACZ,MAAON,EAAeK,EAAM,YAAY,EACxC,MAAO,OAAOA,EAAM,OAAU,UAAYA,EAAM,MAAM,OAAS,EAC3DA,EAAM,MACN,iBACR,EAEQE,EAAY,SAAS,cAAc,SAAS,EAClDA,EAAU,QAAQ,UAAY,kBAC9BA,EAAU,UAAY,8DAEtB,MAAMC,EAAQ,SAAS,cAAc,IAAI,EACzCA,EAAM,UAAY,wBAClBA,EAAM,YAAcF,EAAM,MAE1B,MAAML,EAAQ,SAAS,cAAc,GAAG,EACxCA,EAAM,UAAY,kCAClBA,EAAM,aAAa,YAAa,OAAO,EAEvC,MAAMQ,EAAY,SAAS,cAAc,GAAG,EAC5CA,EAAU,UAAY,8DACtBA,EAAU,YAAc,aAExB,MAAMC,EAAW,SAAS,cAAc,KAAK,EAC7CA,EAAS,UAAY,aAErB,MAAMC,EAAY,SAAS,cAAc,QAAQ,EACjDA,EAAU,KAAO,SACjBA,EAAU,UAAY,aACtBA,EAAU,YAAc,KAExB,MAAMC,EAAY,SAAS,cAAc,QAAQ,EACjDA,EAAU,KAAO,SACjBA,EAAU,UAAY,aACtBA,EAAU,YAAc,KAExB,MAAMC,EAAS,IAAM,CACnBZ,EAAM,YAAc,OAAOK,EAAM,KAAK,CACxC,EAEAK,EAAU,iBAAiB,QAAS,IAAM,CACxCL,EAAM,OAAS,EACfO,EAAM,CACR,CAAC,EACDD,EAAU,iBAAiB,QAAS,IAAM,CACxCN,EAAM,OAAS,EACfO,EAAM,CACR,CAAC,EAEDH,EAAS,YAAYC,CAAS,EAC9BD,EAAS,YAAYE,CAAS,EAC9BL,EAAU,YAAYC,CAAK,EAC3BD,EAAU,YAAYN,CAAK,EAC3BM,EAAU,YAAYE,CAAS,EAC/BF,EAAU,YAAYG,CAAQ,EAE9BN,EAAG,gBAAgBG,CAAS,EAC5BM,EAAM,CACR"} \ No newline at end of file diff --git a/app/static/islands/VanillaCounter-uqumvGv5.js b/app/static/islands/VanillaCounter-uqumvGv5.js new file mode 100644 index 00000000..9e2fb029 --- /dev/null +++ b/app/static/islands/VanillaCounter-uqumvGv5.js @@ -0,0 +1,2 @@ +function r(s){const t=Number(s);return Number.isFinite(t)?t:0}function u(s,t={}){const o={count:r(t.initialCount),label:typeof t.label=="string"&&t.label.length>0?t.label:"Vanilla Counter"},e=document.createElement("section");e.dataset.component="counter-vanilla",e.className="rounded-xl border border-base-300 bg-base-100 p-4 space-y-3";const d=document.createElement("h3");d.className="text-lg font-semibold",d.textContent=o.label;const l=document.createElement("p");l.className="text-3xl font-bold",l.setAttribute("data-slot","count");const c=document.createElement("div");c.className="flex gap-2";const n=document.createElement("button");n.type="button",n.className="btn btn-sm",n.textContent="-1";const a=document.createElement("button");a.type="button",a.className="btn btn-sm",a.textContent="+1";const i=()=>{l.textContent=String(o.count)};n.addEventListener("click",()=>{o.count-=1,i()}),a.addEventListener("click",()=>{o.count+=1,i()}),c.appendChild(n),c.appendChild(a),e.appendChild(d),e.appendChild(l),e.appendChild(c),s.replaceChildren(e),i()}export{u as mount}; +//# sourceMappingURL=VanillaCounter-uqumvGv5.js.map diff --git a/app/static/islands/VanillaCounter-uqumvGv5.js.map b/app/static/islands/VanillaCounter-uqumvGv5.js.map new file mode 100644 index 00000000..8d34d339 --- /dev/null +++ b/app/static/islands/VanillaCounter-uqumvGv5.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VanillaCounter-uqumvGv5.js","sources":["../../../frontend/islands/VanillaCounter.js"],"sourcesContent":["function toInitialCount(value) {\n const parsed = Number(value);\n if (Number.isFinite(parsed)) {\n return parsed;\n }\n return 0;\n}\n\nexport function mount(el, props = {}) {\n const state = {\n count: toInitialCount(props.initialCount),\n label: typeof props.label === \"string\" && props.label.length > 0\n ? props.label\n : \"Vanilla Counter\",\n };\n\n const container = document.createElement(\"section\");\n container.dataset.component = \"counter-vanilla\";\n container.className = \"rounded-xl border border-base-300 bg-base-100 p-4 space-y-3\";\n\n const title = document.createElement(\"h3\");\n title.className = \"text-lg font-semibold\";\n title.textContent = state.label;\n\n const value = document.createElement(\"p\");\n value.className = \"text-3xl font-bold\";\n value.setAttribute(\"data-slot\", \"count\");\n\n const controls = document.createElement(\"div\");\n controls.className = \"flex gap-2\";\n\n const decrement = document.createElement(\"button\");\n decrement.type = \"button\";\n decrement.className = \"btn btn-sm\";\n decrement.textContent = \"-1\";\n\n const increment = document.createElement(\"button\");\n increment.type = \"button\";\n increment.className = \"btn btn-sm\";\n increment.textContent = \"+1\";\n\n const render = () => {\n value.textContent = String(state.count);\n };\n\n decrement.addEventListener(\"click\", () => {\n state.count -= 1;\n render();\n });\n increment.addEventListener(\"click\", () => {\n state.count += 1;\n render();\n });\n\n controls.appendChild(decrement);\n controls.appendChild(increment);\n container.appendChild(title);\n container.appendChild(value);\n container.appendChild(controls);\n\n el.replaceChildren(container);\n render();\n}\n"],"names":["toInitialCount","value","parsed","mount","el","props","state","container","title","controls","decrement","increment","render"],"mappings":"AAAA,SAASA,EAAeC,EAAO,CAC7B,MAAMC,EAAS,OAAOD,CAAK,EAC3B,OAAI,OAAO,SAASC,CAAM,EACjBA,EAEF,CACT,CAEO,SAASC,EAAMC,EAAIC,EAAQ,GAAI,CACpC,MAAMC,EAAQ,CACZ,MAAON,EAAeK,EAAM,YAAY,EACxC,MAAO,OAAOA,EAAM,OAAU,UAAYA,EAAM,MAAM,OAAS,EAC3DA,EAAM,MACN,iBACR,EAEQE,EAAY,SAAS,cAAc,SAAS,EAClDA,EAAU,QAAQ,UAAY,kBAC9BA,EAAU,UAAY,8DAEtB,MAAMC,EAAQ,SAAS,cAAc,IAAI,EACzCA,EAAM,UAAY,wBAClBA,EAAM,YAAcF,EAAM,MAE1B,MAAML,EAAQ,SAAS,cAAc,GAAG,EACxCA,EAAM,UAAY,qBAClBA,EAAM,aAAa,YAAa,OAAO,EAEvC,MAAMQ,EAAW,SAAS,cAAc,KAAK,EAC7CA,EAAS,UAAY,aAErB,MAAMC,EAAY,SAAS,cAAc,QAAQ,EACjDA,EAAU,KAAO,SACjBA,EAAU,UAAY,aACtBA,EAAU,YAAc,KAExB,MAAMC,EAAY,SAAS,cAAc,QAAQ,EACjDA,EAAU,KAAO,SACjBA,EAAU,UAAY,aACtBA,EAAU,YAAc,KAExB,MAAMC,EAAS,IAAM,CACnBX,EAAM,YAAc,OAAOK,EAAM,KAAK,CACxC,EAEAI,EAAU,iBAAiB,QAAS,IAAM,CACxCJ,EAAM,OAAS,EACfM,EAAM,CACR,CAAC,EACDD,EAAU,iBAAiB,QAAS,IAAM,CACxCL,EAAM,OAAS,EACfM,EAAM,CACR,CAAC,EAEDH,EAAS,YAAYC,CAAS,EAC9BD,EAAS,YAAYE,CAAS,EAC9BJ,EAAU,YAAYC,CAAK,EAC3BD,EAAU,YAAYN,CAAK,EAC3BM,EAAU,YAAYE,CAAQ,EAE9BL,EAAG,gBAAgBG,CAAS,EAC5BK,EAAM,CACR"} \ No newline at end of file diff --git a/app/static/islands/VueCounter-By62B6YM.js b/app/static/islands/VueCounter-By62B6YM.js new file mode 100644 index 00000000..4acf7660 --- /dev/null +++ b/app/static/islands/VueCounter-By62B6YM.js @@ -0,0 +1,18 @@ +/** +* @vue/shared v3.5.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Cs(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const U={},Ze=[],Se=()=>{},An=()=>!1,Bt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ts=e=>e.startsWith("onUpdate:"),Z=Object.assign,ws=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Hr=Object.prototype.hasOwnProperty,H=(e,t)=>Hr.call(e,t),M=Array.isArray,Qe=e=>Tt(e)==="[object Map]",Pn=e=>Tt(e)==="[object Set]",Zs=e=>Tt(e)==="[object Date]",I=e=>typeof e=="function",Y=e=>typeof e=="string",Ce=e=>typeof e=="symbol",$=e=>e!==null&&typeof e=="object",Mn=e=>($(e)||I(e))&&I(e.then)&&I(e.catch),In=Object.prototype.toString,Tt=e=>In.call(e),jr=e=>Tt(e).slice(8,-1),Rn=e=>Tt(e)==="[object Object]",Es=e=>Y(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,at=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qt=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},Nr=/-\w/g,ce=qt(e=>e.replace(Nr,t=>t.slice(1).toUpperCase())),$r=/\B([A-Z])/g,Ye=qt(e=>e.replace($r,"-$1").toLowerCase()),Fn=qt(e=>e.charAt(0).toUpperCase()+e.slice(1)),kt=qt(e=>e?`on${Fn(e)}`:""),ye=(e,t)=>!Object.is(e,t),es=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Lr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Qs;const Gt=()=>Qs||(Qs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Os(e){if(M(e)){const t={};for(let s=0;s{if(s){const n=s.split(Vr);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function As(e){let t="";if(Y(e))t=e;else if(M(e))for(let s=0;s!!(e&&e.__v_isRef===!0),as=e=>Y(e)?e:e==null?"":M(e)||$(e)&&(e.toString===In||!I(e.toString))?jn(e)?as(e.value):JSON.stringify(e,Nn,2):String(e),Nn=(e,t)=>jn(t)?Nn(e,t.value):Qe(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],i)=>(s[ts(n,i)+" =>"]=r,s),{})}:Pn(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>ts(s))}:Ce(t)?ts(t):$(t)&&!M(t)&&!Rn(t)?String(t):t,ts=(e,t="")=>{var s;return Ce(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** +* @vue/reactivity v3.5.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ie;class Jr{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=ie,!t&&ie&&(this.index=(ie.scopes||(ie.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(ie=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(ht){let t=ht;for(ht=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;dt;){let t=dt;for(dt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Vn(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Un(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),Rs(n),zr(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function ds(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Wn(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Wn(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bt)||(e.globalVersion=bt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ds(e))))return;e.flags|=2;const t=e.dep,s=V,n=fe;V=e,fe=!0;try{Vn(e);const r=e.fn(e._value);(t.version===0||ye(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{V=s,fe=n,Un(e),e.flags&=-3}}function Rs(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)Rs(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function zr(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let fe=!0;const Bn=[];function Me(){Bn.push(fe),fe=!1}function Ie(){const e=Bn.pop();fe=e===void 0?!0:e}function ks(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=V;V=void 0;try{t()}finally{V=s}}}let bt=0;class Xr{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Fs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!V||!fe||V===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==V)s=this.activeLink=new Xr(V,this),V.deps?(s.prevDep=V.depsTail,V.depsTail.nextDep=s,V.depsTail=s):V.deps=V.depsTail=s,qn(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=V.depsTail,s.nextDep=void 0,V.depsTail.nextDep=s,V.depsTail=s,V.deps===s&&(V.deps=n)}return s}trigger(t){this.version++,bt++,this.notify(t)}notify(t){Ms();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Is()}}}function qn(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)qn(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const hs=new WeakMap,Ge=Symbol(""),ps=Symbol(""),xt=Symbol("");function z(e,t,s){if(fe&&V){let n=hs.get(e);n||hs.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new Fs),r.map=n,r.key=s),r.track()}}function Pe(e,t,s,n,r,i){const o=hs.get(e);if(!o){bt++;return}const c=f=>{f&&f.trigger()};if(Ms(),t==="clear")o.forEach(c);else{const f=M(e),h=f&&Es(s);if(f&&s==="length"){const a=Number(n);o.forEach((p,C)=>{(C==="length"||C===xt||!Ce(C)&&C>=a)&&c(p)})}else switch((s!==void 0||o.has(void 0))&&c(o.get(s)),h&&c(o.get(xt)),t){case"add":f?h&&c(o.get("length")):(c(o.get(Ge)),Qe(e)&&c(o.get(ps)));break;case"delete":f||(c(o.get(Ge)),Qe(e)&&c(o.get(ps)));break;case"set":Qe(e)&&c(o.get(Ge));break}}Is()}function ze(e){const t=D(e);return t===e?t:(z(t,"iterate",xt),ue(e)?t:t.map(Re))}function Ds(e){return z(e=D(e),"iterate",xt),e}function be(e,t){return $e(e)?yt(ke(e)?Re(t):t):Re(t)}const Zr={__proto__:null,[Symbol.iterator](){return ns(this,Symbol.iterator,e=>be(this,e))},concat(...e){return ze(this).concat(...e.map(t=>M(t)?ze(t):t))},entries(){return ns(this,"entries",e=>(e[1]=be(this,e[1]),e))},every(e,t){return we(this,"every",e,t,void 0,arguments)},filter(e,t){return we(this,"filter",e,t,s=>s.map(n=>be(this,n)),arguments)},find(e,t){return we(this,"find",e,t,s=>be(this,s),arguments)},findIndex(e,t){return we(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return we(this,"findLast",e,t,s=>be(this,s),arguments)},findLastIndex(e,t){return we(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return we(this,"forEach",e,t,void 0,arguments)},includes(...e){return rs(this,"includes",e)},indexOf(...e){return rs(this,"indexOf",e)},join(e){return ze(this).join(e)},lastIndexOf(...e){return rs(this,"lastIndexOf",e)},map(e,t){return we(this,"map",e,t,void 0,arguments)},pop(){return ct(this,"pop")},push(...e){return ct(this,"push",e)},reduce(e,...t){return en(this,"reduce",e,t)},reduceRight(e,...t){return en(this,"reduceRight",e,t)},shift(){return ct(this,"shift")},some(e,t){return we(this,"some",e,t,void 0,arguments)},splice(...e){return ct(this,"splice",e)},toReversed(){return ze(this).toReversed()},toSorted(e){return ze(this).toSorted(e)},toSpliced(...e){return ze(this).toSpliced(...e)},unshift(...e){return ct(this,"unshift",e)},values(){return ns(this,"values",e=>be(this,e))}};function ns(e,t,s){const n=Ds(e),r=n[t]();return n!==e&&!ue(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=s(i.value)),i}),r}const Qr=Array.prototype;function we(e,t,s,n,r,i){const o=Ds(e),c=o!==e&&!ue(e),f=o[t];if(f!==Qr[t]){const p=f.apply(e,i);return c?Re(p):p}let h=s;o!==e&&(c?h=function(p,C){return s.call(this,be(e,p),C,e)}:s.length>2&&(h=function(p,C){return s.call(this,p,C,e)}));const a=f.call(o,h,n);return c&&r?r(a):a}function en(e,t,s,n){const r=Ds(e),i=r!==e&&!ue(e);let o=s,c=!1;r!==e&&(i?(c=n.length===0,o=function(h,a,p){return c&&(c=!1,h=be(e,h)),s.call(this,h,be(e,a),p,e)}):s.length>3&&(o=function(h,a,p){return s.call(this,h,a,p,e)}));const f=r[t](o,...n);return c?be(e,f):f}function rs(e,t,s){const n=D(e);z(n,"iterate",xt);const r=n[t](...s);return(r===-1||r===!1)&&$s(s[0])?(s[0]=D(s[0]),n[t](...s)):r}function ct(e,t,s=[]){Me(),Ms();const n=D(e)[t].apply(e,s);return Is(),Ie(),n}const kr=Cs("__proto__,__v_isRef,__isVue"),Gn=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ce));function ei(e){Ce(e)||(e=String(e));const t=D(this);return z(t,"has",e),t.hasOwnProperty(e)}class Jn{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(r?i?ui:Zn:i?Xn:zn).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=M(t);if(!r){let f;if(o&&(f=Zr[s]))return f;if(s==="hasOwnProperty")return ei}const c=Reflect.get(t,s,X(t)?t:n);if((Ce(s)?Gn.has(s):kr(s))||(r||z(t,"get",s),i))return c;if(X(c)){const f=o&&Es(s)?c:c.value;return r&&$(f)?_s(f):f}return $(c)?r?_s(c):js(c):c}}class Yn extends Jn{constructor(t=!1){super(!1,t)}set(t,s,n,r){let i=t[s];const o=M(t)&&Es(s);if(!this._isShallow){const h=$e(i);if(!ue(n)&&!$e(n)&&(i=D(i),n=D(n)),!o&&X(i)&&!X(n))return h||(i.value=n),!0}const c=o?Number(s)e,Rt=e=>Reflect.getPrototypeOf(e);function ii(e,t,s){return function(...n){const r=this.__v_raw,i=D(r),o=Qe(i),c=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,h=r[e](...n),a=s?gs:t?yt:Re;return!t&&z(i,"iterate",f?ps:Ge),Z(Object.create(h),{next(){const{value:p,done:C}=h.next();return C?{value:p,done:C}:{value:c?[a(p[0]),a(p[1])]:a(p),done:C}}})}}function Ft(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function oi(e,t){const s={get(r){const i=this.__v_raw,o=D(i),c=D(r);e||(ye(r,c)&&z(o,"get",r),z(o,"get",c));const{has:f}=Rt(o),h=t?gs:e?yt:Re;if(f.call(o,r))return h(i.get(r));if(f.call(o,c))return h(i.get(c));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&z(D(r),"iterate",Ge),r.size},has(r){const i=this.__v_raw,o=D(i),c=D(r);return e||(ye(r,c)&&z(o,"has",r),z(o,"has",c)),r===c?i.has(r):i.has(r)||i.has(c)},forEach(r,i){const o=this,c=o.__v_raw,f=D(c),h=t?gs:e?yt:Re;return!e&&z(f,"iterate",Ge),c.forEach((a,p)=>r.call(i,h(a),h(p),o))}};return Z(s,e?{add:Ft("add"),set:Ft("set"),delete:Ft("delete"),clear:Ft("clear")}:{add(r){const i=D(this),o=Rt(i),c=D(r),f=!t&&!ue(r)&&!$e(r)?c:r;return o.has.call(i,f)||ye(r,f)&&o.has.call(i,r)||ye(c,f)&&o.has.call(i,c)||(i.add(f),Pe(i,"add",f,f)),this},set(r,i){!t&&!ue(i)&&!$e(i)&&(i=D(i));const o=D(this),{has:c,get:f}=Rt(o);let h=c.call(o,r);h||(r=D(r),h=c.call(o,r));const a=f.call(o,r);return o.set(r,i),h?ye(i,a)&&Pe(o,"set",r,i):Pe(o,"add",r,i),this},delete(r){const i=D(this),{has:o,get:c}=Rt(i);let f=o.call(i,r);f||(r=D(r),f=o.call(i,r)),c&&c.call(i,r);const h=i.delete(r);return f&&Pe(i,"delete",r,void 0),h},clear(){const r=D(this),i=r.size!==0,o=r.clear();return i&&Pe(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=ii(r,e,t)}),s}function Hs(e,t){const s=oi(e,t);return(n,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(H(s,r)&&r in n?s:n,r,i)}const li={get:Hs(!1,!1)},ci={get:Hs(!1,!0)},fi={get:Hs(!0,!1)};const zn=new WeakMap,Xn=new WeakMap,Zn=new WeakMap,ui=new WeakMap;function ai(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function di(e){return e.__v_skip||!Object.isExtensible(e)?0:ai(jr(e))}function js(e){return $e(e)?e:Ns(e,!1,si,li,zn)}function hi(e){return Ns(e,!1,ri,ci,Xn)}function _s(e){return Ns(e,!0,ni,fi,Zn)}function Ns(e,t,s,n,r){if(!$(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=di(e);if(i===0)return e;const o=r.get(e);if(o)return o;const c=new Proxy(e,i===2?n:s);return r.set(e,c),c}function ke(e){return $e(e)?ke(e.__v_raw):!!(e&&e.__v_isReactive)}function $e(e){return!!(e&&e.__v_isReadonly)}function ue(e){return!!(e&&e.__v_isShallow)}function $s(e){return e?!!e.__v_raw:!1}function D(e){const t=e&&e.__v_raw;return t?D(t):e}function pi(e){return!H(e,"__v_skip")&&Object.isExtensible(e)&&Dn(e,"__v_skip",!0),e}const Re=e=>$(e)?js(e):e,yt=e=>$(e)?_s(e):e;function X(e){return e?e.__v_isRef===!0:!1}function gi(e){return _i(e,!1)}function _i(e,t){return X(e)?e:new mi(e,t)}class mi{constructor(t,s){this.dep=new Fs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:D(t),this._value=s?t:Re(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||ue(t)||$e(t);t=n?t:D(t),ye(t,s)&&(this._rawValue=t,this._value=n?t:Re(t),this.dep.trigger())}}function bi(e){return X(e)?e.value:e}const xi={get:(e,t,s)=>t==="__v_raw"?e:bi(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return X(r)&&!X(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function Qn(e){return ke(e)?e:new Proxy(e,xi)}class yi{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Fs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&V!==this)return Kn(this,!0),!0}get value(){const t=this.dep.track();return Wn(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function vi(e,t,s=!1){let n,r;return I(e)?n=e:(n=e.get,r=e.set),new yi(n,r,s)}const Dt={},$t=new WeakMap;let Be;function Si(e,t=!1,s=Be){if(s){let n=$t.get(s);n||$t.set(s,n=[]),n.push(e)}}function Ci(e,t,s=U){const{immediate:n,deep:r,once:i,scheduler:o,augmentJob:c,call:f}=s,h=O=>r?O:ue(O)||r===!1||r===0?Ne(O,1):Ne(O);let a,p,C,T,N=!1,P=!1;if(X(e)?(p=()=>e.value,N=ue(e)):ke(e)?(p=()=>h(e),N=!0):M(e)?(P=!0,N=e.some(O=>ke(O)||ue(O)),p=()=>e.map(O=>{if(X(O))return O.value;if(ke(O))return h(O);if(I(O))return f?f(O,2):O()})):I(e)?t?p=f?()=>f(e,2):e:p=()=>{if(C){Me();try{C()}finally{Ie()}}const O=Be;Be=a;try{return f?f(e,3,[T]):e(T)}finally{Be=O}}:p=Se,t&&r){const O=p,J=r===!0?1/0:r;p=()=>Ne(O(),J)}const G=Yr(),B=()=>{a.stop(),G&&G.active&&ws(G.effects,a)};if(i&&t){const O=t;t=(...J)=>{O(...J),B()}}let F=P?new Array(e.length).fill(Dt):Dt;const W=O=>{if(!(!(a.flags&1)||!a.dirty&&!O))if(t){const J=a.run();if(r||N||(P?J.some((De,ae)=>ye(De,F[ae])):ye(J,F))){C&&C();const De=Be;Be=a;try{const ae=[J,F===Dt?void 0:P&&F[0]===Dt?[]:F,T];F=J,f?f(t,3,ae):t(...ae)}finally{Be=De}}}else a.run()};return c&&c(W),a=new $n(p),a.scheduler=o?()=>o(W,!1):W,T=O=>Si(O,!1,a),C=a.onStop=()=>{const O=$t.get(a);if(O){if(f)f(O,4);else for(const J of O)J();$t.delete(a)}},t?n?W(!0):F=a.run():o?o(W.bind(null,!0),!0):a.run(),B.pause=a.pause.bind(a),B.resume=a.resume.bind(a),B.stop=B,B}function Ne(e,t=1/0,s){if(t<=0||!$(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,X(e))Ne(e.value,t,s);else if(M(e))for(let n=0;n{Ne(n,t,s)});else if(Rn(e)){for(const n in e)Ne(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Ne(e[n],t,s)}return e}/** +* @vue/runtime-core v3.5.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function wt(e,t,s,n){try{return n?e(...n):e()}catch(r){Jt(r,t,s)}}function Te(e,t,s,n){if(I(e)){const r=wt(e,t,s,n);return r&&Mn(r)&&r.catch(i=>{Jt(i,t,s)}),r}if(M(e)){const r=[];for(let i=0;i>>1,r=ee[n],i=vt(r);i=vt(s)?ee.push(e):ee.splice(Ei(t),0,e),e.flags|=1,er()}}function er(){Lt||(Lt=kn.then(sr))}function Oi(e){M(e)?et.push(...e):je&&e.id===-1?je.splice(Xe+1,0,e):e.flags&1||(et.push(e),e.flags|=1),er()}function tn(e,t,s=me+1){for(;svt(s)-vt(n));if(et.length=0,je){je.push(...t);return}for(je=t,Xe=0;Xee.id==null?e.flags&2?-1:1/0:e.id;function sr(e){try{for(me=0;me{n._d&&hn(-1);const i=Kt(t);let o;try{o=e(...r)}finally{Kt(i),n._d&&hn(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function Ue(e,t,s,n){const r=e.dirs,i=t&&t.dirs;for(let o=0;o1)return s&&I(t)?t.call(n&&n.proxy):t}}const Mi=Symbol.for("v-scx"),Ii=()=>Ht(Mi);function is(e,t,s){return rr(e,t,s)}function rr(e,t,s=U){const{immediate:n,deep:r,flush:i,once:o}=s,c=Z({},s),f=t&&n||!t&&i!=="post";let h;if(Ct){if(i==="sync"){const T=Ii();h=T.__watcherHandles||(T.__watcherHandles=[])}else if(!f){const T=()=>{};return T.stop=Se,T.resume=Se,T.pause=Se,T}}const a=te;c.call=(T,N,P)=>Te(T,a,N,P);let p=!1;i==="post"?c.scheduler=T=>{re(T,a&&a.suspense)}:i!=="sync"&&(p=!0,c.scheduler=(T,N)=>{N?T():Ls(T)}),c.augmentJob=T=>{t&&(T.flags|=4),p&&(T.flags|=2,a&&(T.id=a.uid,T.i=a))};const C=Ci(e,t,c);return Ct&&(h?h.push(C):f&&C()),C}function Ri(e,t,s){const n=this.proxy,r=Y(e)?e.includes(".")?ir(n,e):()=>n[e]:e.bind(n,n);let i;I(t)?i=t:(i=t.handler,s=t);const o=Et(this),c=rr(r,i.bind(n),s);return o(),c}function ir(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Hi=Symbol("_leaveCb");function Ks(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ks(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function or(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function sn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const Vt=new WeakMap;function pt(e,t,s,n,r=!1){if(M(e)){e.forEach((P,G)=>pt(P,t&&(M(t)?t[G]:t),s,n,r));return}if(gt(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&pt(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?Bs(n.component):n.el,o=r?null:i,{i:c,r:f}=e,h=t&&t.r,a=c.refs===U?c.refs={}:c.refs,p=c.setupState,C=D(p),T=p===U?An:P=>sn(a,P)?!1:H(C,P),N=(P,G)=>!(G&&sn(a,G));if(h!=null&&h!==f){if(nn(t),Y(h))a[h]=null,T(h)&&(p[h]=null);else if(X(h)){const P=t;N(h,P.k)&&(h.value=null),P.k&&(a[P.k]=null)}}if(I(f))wt(f,c,12,[o,a]);else{const P=Y(f),G=X(f);if(P||G){const B=()=>{if(e.f){const F=P?T(f)?p[f]:a[f]:N()||!e.k?f.value:a[e.k];if(r)M(F)&&ws(F,i);else if(M(F))F.includes(i)||F.push(i);else if(P)a[f]=[i],T(f)&&(p[f]=a[f]);else{const W=[i];N(f,e.k)&&(f.value=W),e.k&&(a[e.k]=W)}}else P?(a[f]=o,T(f)&&(p[f]=o)):G&&(N(f,e.k)&&(f.value=o),e.k&&(a[e.k]=o))};if(o){const F=()=>{B(),Vt.delete(e)};F.id=-1,Vt.set(e,F),re(F,s)}else nn(e),B()}}}function nn(e){const t=Vt.get(e);t&&(t.flags|=8,Vt.delete(e))}Gt().requestIdleCallback;Gt().cancelIdleCallback;const gt=e=>!!e.type.__asyncLoader,lr=e=>e.type.__isKeepAlive;function ji(e,t){cr(e,"a",t)}function Ni(e,t){cr(e,"da",t)}function cr(e,t,s=te){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Yt(t,n,s),s){let r=s.parent;for(;r&&r.parent;)lr(r.parent.vnode)&&$i(n,t,s,r),r=r.parent}}function $i(e,t,s,n){const r=Yt(t,e,n,!0);fr(()=>{ws(n[t],r)},s)}function Yt(e,t,s=te,n=!1){if(s){const r=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Me();const c=Et(s),f=Te(t,s,e,o);return c(),Ie(),f});return n?r.unshift(i):r.push(i),i}}const Fe=e=>(t,s=te)=>{(!Ct||e==="sp")&&Yt(e,(...n)=>t(...n),s)},Li=Fe("bm"),Ki=Fe("m"),Vi=Fe("bu"),Ui=Fe("u"),Wi=Fe("bum"),fr=Fe("um"),Bi=Fe("sp"),qi=Fe("rtg"),Gi=Fe("rtc");function Ji(e,t=te){Yt("ec",e,t)}const Yi=Symbol.for("v-ndc"),ms=e=>e?Pr(e)?Bs(e):ms(e.parent):null,_t=Z(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ms(e.parent),$root:e=>ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ar(e),$forceUpdate:e=>e.f||(e.f=()=>{Ls(e.update)}),$nextTick:e=>e.n||(e.n=wi.bind(e.proxy)),$watch:e=>Ri.bind(e)}),os=(e,t)=>e!==U&&!e.__isScriptSetup&&H(e,t),zi={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:i,accessCache:o,type:c,appContext:f}=e;if(t[0]!=="$"){const C=o[t];if(C!==void 0)switch(C){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return i[t]}else{if(os(n,t))return o[t]=1,n[t];if(r!==U&&H(r,t))return o[t]=2,r[t];if(H(i,t))return o[t]=3,i[t];if(s!==U&&H(s,t))return o[t]=4,s[t];bs&&(o[t]=0)}}const h=_t[t];let a,p;if(h)return t==="$attrs"&&z(e.attrs,"get",""),h(e);if((a=c.__cssModules)&&(a=a[t]))return a;if(s!==U&&H(s,t))return o[t]=4,s[t];if(p=f.config.globalProperties,H(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:i}=e;return os(r,t)?(r[t]=s,!0):n!==U&&H(n,t)?(n[t]=s,!0):H(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:i,type:o}},c){let f;return!!(s[c]||e!==U&&c[0]!=="$"&&H(e,c)||os(t,c)||H(i,c)||H(n,c)||H(_t,c)||H(r.config.globalProperties,c)||(f=o.__cssModules)&&f[c])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:H(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function rn(e){return M(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let bs=!0;function Xi(e){const t=ar(e),s=e.proxy,n=e.ctx;bs=!1,t.beforeCreate&&on(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:c,provide:f,inject:h,created:a,beforeMount:p,mounted:C,beforeUpdate:T,updated:N,activated:P,deactivated:G,beforeDestroy:B,beforeUnmount:F,destroyed:W,unmounted:O,render:J,renderTracked:De,renderTriggered:ae,errorCaptured:He,serverPrefetch:Ot,expose:Le,inheritAttrs:rt,components:At,directives:Pt,filters:Zt}=t;if(h&&Zi(h,n,null),o)for(const q in o){const L=o[q];I(L)&&(n[q]=L.bind(s))}if(r){const q=r.call(s,s);$(q)&&(e.data=js(q))}if(bs=!0,i)for(const q in i){const L=i[q],Ke=I(L)?L.bind(s,s):I(L.get)?L.get.bind(s,s):Se,Mt=!I(L)&&I(L.set)?L.set.bind(s):Se,Ve=Ir({get:Ke,set:Mt});Object.defineProperty(n,q,{enumerable:!0,configurable:!0,get:()=>Ve.value,set:de=>Ve.value=de})}if(c)for(const q in c)ur(c[q],n,s,q);if(f){const q=I(f)?f.call(s):f;Reflect.ownKeys(q).forEach(L=>{Pi(L,q[L])})}a&&on(a,e,"c");function Q(q,L){M(L)?L.forEach(Ke=>q(Ke.bind(s))):L&&q(L.bind(s))}if(Q(Li,p),Q(Ki,C),Q(Vi,T),Q(Ui,N),Q(ji,P),Q(Ni,G),Q(Ji,He),Q(Gi,De),Q(qi,ae),Q(Wi,F),Q(fr,O),Q(Bi,Ot),M(Le))if(Le.length){const q=e.exposed||(e.exposed={});Le.forEach(L=>{Object.defineProperty(q,L,{get:()=>s[L],set:Ke=>s[L]=Ke,enumerable:!0})})}else e.exposed||(e.exposed={});J&&e.render===Se&&(e.render=J),rt!=null&&(e.inheritAttrs=rt),At&&(e.components=At),Pt&&(e.directives=Pt),Ot&&or(e)}function Zi(e,t,s=Se){M(e)&&(e=xs(e));for(const n in e){const r=e[n];let i;$(r)?"default"in r?i=Ht(r.from||n,r.default,!0):i=Ht(r.from||n):i=Ht(r),X(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[n]=i}}function on(e,t,s){Te(M(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function ur(e,t,s,n){let r=n.includes(".")?ir(s,n):()=>s[n];if(Y(e)){const i=t[e];I(i)&&is(r,i)}else if(I(e))is(r,e.bind(s));else if($(e))if(M(e))e.forEach(i=>ur(i,t,s,n));else{const i=I(e.handler)?e.handler.bind(s):t[e.handler];I(i)&&is(r,i,e)}}function ar(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,c=i.get(t);let f;return c?f=c:!r.length&&!s&&!n?f=t:(f={},r.length&&r.forEach(h=>Ut(f,h,o,!0)),Ut(f,t,o)),$(t)&&i.set(t,f),f}function Ut(e,t,s,n=!1){const{mixins:r,extends:i}=t;i&&Ut(e,i,s,!0),r&&r.forEach(o=>Ut(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const c=Qi[o]||s&&s[o];e[o]=c?c(e[o],t[o]):t[o]}return e}const Qi={data:ln,props:cn,emits:cn,methods:ut,computed:ut,beforeCreate:k,created:k,beforeMount:k,mounted:k,beforeUpdate:k,updated:k,beforeDestroy:k,beforeUnmount:k,destroyed:k,unmounted:k,activated:k,deactivated:k,errorCaptured:k,serverPrefetch:k,components:ut,directives:ut,watch:eo,provide:ln,inject:ki};function ln(e,t){return t?e?function(){return Z(I(e)?e.call(this,this):e,I(t)?t.call(this,this):t)}:t:e}function ki(e,t){return ut(xs(e),xs(t))}function xs(e){if(M(e)){const t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ce(t)}Modifiers`]||e[`${Ye(t)}Modifiers`];function ro(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||U;let r=s;const i=t.startsWith("update:"),o=i&&no(n,t.slice(7));o&&(o.trim&&(r=s.map(a=>Y(a)?a.trim():a)),o.number&&(r=s.map(Lr)));let c,f=n[c=kt(t)]||n[c=kt(ce(t))];!f&&i&&(f=n[c=kt(Ye(t))]),f&&Te(f,e,6,r);const h=n[c+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Te(h,e,6,r)}}const io=new WeakMap;function hr(e,t,s=!1){const n=s?io:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const i=e.emits;let o={},c=!1;if(!I(e)){const f=h=>{const a=hr(h,t,!0);a&&(c=!0,Z(o,a))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!c?($(e)&&n.set(e,null),null):(M(i)?i.forEach(f=>o[f]=null):Z(o,i),$(e)&&n.set(e,o),o)}function zt(e,t){return!e||!Bt(t)?!1:(t=t.slice(2).replace(/Once$/,""),H(e,t[0].toLowerCase()+t.slice(1))||H(e,Ye(t))||H(e,t))}function fn(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[i],slots:o,attrs:c,emit:f,render:h,renderCache:a,props:p,data:C,setupState:T,ctx:N,inheritAttrs:P}=e,G=Kt(e);let B,F;try{if(s.shapeFlag&4){const O=r||n,J=O;B=xe(h.call(J,O,a,p,T,C,N)),F=c}else{const O=t;B=xe(O.length>1?O(p,{attrs:c,slots:o,emit:f}):O(p,null)),F=t.props?c:oo(c)}}catch(O){mt.length=0,Jt(O,e,1),B=Je(st)}let W=B;if(F&&P!==!1){const O=Object.keys(F),{shapeFlag:J}=W;O.length&&J&7&&(i&&O.some(Ts)&&(F=lo(F,i)),W=nt(W,F,!1,!0))}return s.dirs&&(W=nt(W,null,!1,!0),W.dirs=W.dirs?W.dirs.concat(s.dirs):s.dirs),s.transition&&Ks(W,s.transition),B=W,Kt(G),B}const oo=e=>{let t;for(const s in e)(s==="class"||s==="style"||Bt(s))&&((t||(t={}))[s]=e[s]);return t},lo=(e,t)=>{const s={};for(const n in e)(!Ts(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function co(e,t,s){const{props:n,children:r,component:i}=e,{props:o,children:c,patchFlag:f}=t,h=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return n?un(n,o,h):!!o;if(f&8){const a=t.dynamicProps;for(let p=0;pObject.create(gr),mr=e=>Object.getPrototypeOf(e)===gr;function uo(e,t,s,n=!1){const r={},i=_r();e.propsDefaults=Object.create(null),br(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);s?e.props=n?r:hi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function ao(e,t,s,n){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,c=D(r),[f]=e.propsOptions;let h=!1;if((n||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let p=0;p{f=!0;const[C,T]=xr(p,t,!0);Z(o,C),T&&c.push(...T)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!f)return $(e)&&n.set(e,Ze),Ze;if(M(i))for(let a=0;ae==="_"||e==="_ctx"||e==="$stable",Us=e=>M(e)?e.map(xe):[xe(e)],po=(e,t,s)=>{if(t._n)return t;const n=Ai((...r)=>Us(t(...r)),s);return n._c=!1,n},yr=(e,t,s)=>{const n=e._ctx;for(const r in e){if(Vs(r))continue;const i=e[r];if(I(i))t[r]=po(r,i,n);else if(i!=null){const o=Us(i);t[r]=()=>o}}},vr=(e,t)=>{const s=Us(t);e.slots.default=()=>s},Sr=(e,t,s)=>{for(const n in t)(s||!Vs(n))&&(e[n]=t[n])},go=(e,t,s)=>{const n=e.slots=_r();if(e.vnode.shapeFlag&32){const r=t._;r?(Sr(n,t,s),s&&Dn(n,"_",r,!0)):yr(t,n)}else t&&vr(e,t)},_o=(e,t,s)=>{const{vnode:n,slots:r}=e;let i=!0,o=U;if(n.shapeFlag&32){const c=t._;c?s&&c===1?i=!1:Sr(r,t,s):(i=!t.$stable,yr(t,r)),o=t}else t&&(vr(e,t),o={default:1});if(i)for(const c in r)!Vs(c)&&o[c]==null&&delete r[c]},re=vo;function mo(e){return bo(e)}function bo(e,t){const s=Gt();s.__VUE__=!0;const{insert:n,remove:r,patchProp:i,createElement:o,createText:c,createComment:f,setText:h,setElementText:a,parentNode:p,nextSibling:C,setScopeId:T=Se,insertStaticContent:N}=e,P=(l,u,d,b=null,g=null,_=null,v=void 0,y=null,x=!!u.dynamicChildren)=>{if(l===u)return;l&&!ft(l,u)&&(b=It(l),de(l,g,_,!0),l=null),u.patchFlag===-2&&(x=!1,u.dynamicChildren=null);const{type:m,ref:E,shapeFlag:S}=u;switch(m){case Xt:G(l,u,d,b);break;case st:B(l,u,d,b);break;case cs:l==null&&F(u,d,b,v);break;case Oe:At(l,u,d,b,g,_,v,y,x);break;default:S&1?J(l,u,d,b,g,_,v,y,x):S&6?Pt(l,u,d,b,g,_,v,y,x):(S&64||S&128)&&m.process(l,u,d,b,g,_,v,y,x,ot)}E!=null&&g?pt(E,l&&l.ref,_,u||l,!u):E==null&&l&&l.ref!=null&&pt(l.ref,null,_,l,!0)},G=(l,u,d,b)=>{if(l==null)n(u.el=c(u.children),d,b);else{const g=u.el=l.el;u.children!==l.children&&h(g,u.children)}},B=(l,u,d,b)=>{l==null?n(u.el=f(u.children||""),d,b):u.el=l.el},F=(l,u,d,b)=>{[l.el,l.anchor]=N(l.children,u,d,b,l.el,l.anchor)},W=({el:l,anchor:u},d,b)=>{let g;for(;l&&l!==u;)g=C(l),n(l,d,b),l=g;n(u,d,b)},O=({el:l,anchor:u})=>{let d;for(;l&&l!==u;)d=C(l),r(l),l=d;r(u)},J=(l,u,d,b,g,_,v,y,x)=>{if(u.type==="svg"?v="svg":u.type==="math"&&(v="mathml"),l==null)De(u,d,b,g,_,v,y,x);else{const m=l.el&&l.el._isVueCE?l.el:null;try{m&&m._beginPatch(),Ot(l,u,g,_,v,y,x)}finally{m&&m._endPatch()}}},De=(l,u,d,b,g,_,v,y)=>{let x,m;const{props:E,shapeFlag:S,transition:w,dirs:A}=l;if(x=l.el=o(l.type,_,E&&E.is,E),S&8?a(x,l.children):S&16&&He(l.children,x,null,b,g,ls(l,_),v,y),A&&Ue(l,null,b,"created"),ae(x,l,l.scopeId,v,b),E){for(const K in E)K!=="value"&&!at(K)&&i(x,K,null,E[K],_,b);"value"in E&&i(x,"value",null,E.value,_),(m=E.onVnodeBeforeMount)&&_e(m,b,l)}A&&Ue(l,null,b,"beforeMount");const R=xo(g,w);R&&w.beforeEnter(x),n(x,u,d),((m=E&&E.onVnodeMounted)||R||A)&&re(()=>{m&&_e(m,b,l),R&&w.enter(x),A&&Ue(l,null,b,"mounted")},g)},ae=(l,u,d,b,g)=>{if(d&&T(l,d),b)for(let _=0;_{for(let m=x;m{const y=u.el=l.el;let{patchFlag:x,dynamicChildren:m,dirs:E}=u;x|=l.patchFlag&16;const S=l.props||U,w=u.props||U;let A;if(d&&We(d,!1),(A=w.onVnodeBeforeUpdate)&&_e(A,d,u,l),E&&Ue(u,l,d,"beforeUpdate"),d&&We(d,!0),(S.innerHTML&&w.innerHTML==null||S.textContent&&w.textContent==null)&&a(y,""),m?Le(l.dynamicChildren,m,y,d,b,ls(u,g),_):v||L(l,u,y,null,d,b,ls(u,g),_,!1),x>0){if(x&16)rt(y,S,w,d,g);else if(x&2&&S.class!==w.class&&i(y,"class",null,w.class,g),x&4&&i(y,"style",S.style,w.style,g),x&8){const R=u.dynamicProps;for(let K=0;K{A&&_e(A,d,u,l),E&&Ue(u,l,d,"updated")},b)},Le=(l,u,d,b,g,_,v)=>{for(let y=0;y{if(u!==d){if(u!==U)for(const _ in u)!at(_)&&!(_ in d)&&i(l,_,u[_],null,g,b);for(const _ in d){if(at(_))continue;const v=d[_],y=u[_];v!==y&&_!=="value"&&i(l,_,y,v,g,b)}"value"in d&&i(l,"value",u.value,d.value,g)}},At=(l,u,d,b,g,_,v,y,x)=>{const m=u.el=l?l.el:c(""),E=u.anchor=l?l.anchor:c("");let{patchFlag:S,dynamicChildren:w,slotScopeIds:A}=u;A&&(y=y?y.concat(A):A),l==null?(n(m,d,b),n(E,d,b),He(u.children||[],d,E,g,_,v,y,x)):S>0&&S&64&&w&&l.dynamicChildren&&l.dynamicChildren.length===w.length?(Le(l.dynamicChildren,w,d,g,_,v,y),(u.key!=null||g&&u===g.subTree)&&Cr(l,u,!0)):L(l,u,d,E,g,_,v,y,x)},Pt=(l,u,d,b,g,_,v,y,x)=>{u.slotScopeIds=y,l==null?u.shapeFlag&512?g.ctx.activate(u,d,b,v,x):Zt(u,d,b,g,_,v,x):qs(l,u,x)},Zt=(l,u,d,b,g,_,v)=>{const y=l.component=Ro(l,b,g);if(lr(l)&&(y.ctx.renderer=ot),Do(y,!1,v),y.asyncDep){if(g&&g.registerDep(y,Q,v),!l.el){const x=y.subTree=Je(st);B(null,x,u,d),l.placeholder=x.el}}else Q(y,l,u,d,g,_,v)},qs=(l,u,d)=>{const b=u.component=l.component;if(co(l,u,d))if(b.asyncDep&&!b.asyncResolved){q(b,u,d);return}else b.next=u,b.update();else u.el=l.el,b.vnode=u},Q=(l,u,d,b,g,_,v)=>{const y=()=>{if(l.isMounted){let{next:S,bu:w,u:A,parent:R,vnode:K}=l;{const pe=Tr(l);if(pe){S&&(S.el=K.el,q(l,S,v)),pe.asyncDep.then(()=>{re(()=>{l.isUnmounted||m()},g)});return}}let j=S,se;We(l,!1),S?(S.el=K.el,q(l,S,v)):S=K,w&&es(w),(se=S.props&&S.props.onVnodeBeforeUpdate)&&_e(se,R,S,K),We(l,!0);const ne=fn(l),he=l.subTree;l.subTree=ne,P(he,ne,p(he.el),It(he),l,g,_),S.el=ne.el,j===null&&fo(l,ne.el),A&&re(A,g),(se=S.props&&S.props.onVnodeUpdated)&&re(()=>_e(se,R,S,K),g)}else{let S;const{el:w,props:A}=u,{bm:R,m:K,parent:j,root:se,type:ne}=l,he=gt(u);We(l,!1),R&&es(R),!he&&(S=A&&A.onVnodeBeforeMount)&&_e(S,j,u),We(l,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ne,l.parent?l.parent.type:void 0);const pe=l.subTree=fn(l);P(null,pe,d,b,l,g,_),u.el=pe.el}if(K&&re(K,g),!he&&(S=A&&A.onVnodeMounted)){const pe=u;re(()=>_e(S,j,pe),g)}(u.shapeFlag&256||j&>(j.vnode)&&j.vnode.shapeFlag&256)&&l.a&&re(l.a,g),l.isMounted=!0,u=d=b=null}};l.scope.on();const x=l.effect=new $n(y);l.scope.off();const m=l.update=x.run.bind(x),E=l.job=x.runIfDirty.bind(x);E.i=l,E.id=l.uid,x.scheduler=()=>Ls(E),We(l,!0),m()},q=(l,u,d)=>{u.component=l;const b=l.vnode.props;l.vnode=u,l.next=null,ao(l,u.props,b,d),_o(l,u.children,d),Me(),tn(l),Ie()},L=(l,u,d,b,g,_,v,y,x=!1)=>{const m=l&&l.children,E=l?l.shapeFlag:0,S=u.children,{patchFlag:w,shapeFlag:A}=u;if(w>0){if(w&128){Mt(m,S,d,b,g,_,v,y,x);return}else if(w&256){Ke(m,S,d,b,g,_,v,y,x);return}}A&8?(E&16&&it(m,g,_),S!==m&&a(d,S)):E&16?A&16?Mt(m,S,d,b,g,_,v,y,x):it(m,g,_,!0):(E&8&&a(d,""),A&16&&He(S,d,b,g,_,v,y,x))},Ke=(l,u,d,b,g,_,v,y,x)=>{l=l||Ze,u=u||Ze;const m=l.length,E=u.length,S=Math.min(m,E);let w;for(w=0;wE?it(l,g,_,!0,!1,S):He(u,d,b,g,_,v,y,x,S)},Mt=(l,u,d,b,g,_,v,y,x)=>{let m=0;const E=u.length;let S=l.length-1,w=E-1;for(;m<=S&&m<=w;){const A=l[m],R=u[m]=x?Ae(u[m]):xe(u[m]);if(ft(A,R))P(A,R,d,null,g,_,v,y,x);else break;m++}for(;m<=S&&m<=w;){const A=l[S],R=u[w]=x?Ae(u[w]):xe(u[w]);if(ft(A,R))P(A,R,d,null,g,_,v,y,x);else break;S--,w--}if(m>S){if(m<=w){const A=w+1,R=Aw)for(;m<=S;)de(l[m],g,_,!0),m++;else{const A=m,R=m,K=new Map;for(m=R;m<=w;m++){const oe=u[m]=x?Ae(u[m]):xe(u[m]);oe.key!=null&&K.set(oe.key,m)}let j,se=0;const ne=w-R+1;let he=!1,pe=0;const lt=new Array(ne);for(m=0;m=ne){de(oe,g,_,!0);continue}let ge;if(oe.key!=null)ge=K.get(oe.key);else for(j=R;j<=w;j++)if(lt[j-R]===0&&ft(oe,u[j])){ge=j;break}ge===void 0?de(oe,g,_,!0):(lt[ge-R]=m+1,ge>=pe?pe=ge:he=!0,P(oe,u[ge],d,null,g,_,v,y,x),se++)}const Ys=he?yo(lt):Ze;for(j=Ys.length-1,m=ne-1;m>=0;m--){const oe=R+m,ge=u[oe],zs=u[oe+1],Xs=oe+1{const{el:_,type:v,transition:y,children:x,shapeFlag:m}=l;if(m&6){Ve(l.component.subTree,u,d,b);return}if(m&128){l.suspense.move(u,d,b);return}if(m&64){v.move(l,u,d,ot);return}if(v===Oe){n(_,u,d);for(let S=0;Sy.enter(_),g);else{const{leave:S,delayLeave:w,afterLeave:A}=y,R=()=>{l.ctx.isUnmounted?r(_):n(_,u,d)},K=()=>{_._isLeaving&&_[Hi](!0),S(_,()=>{R(),A&&A()})};w?w(_,R,K):K()}else n(_,u,d)},de=(l,u,d,b=!1,g=!1)=>{const{type:_,props:v,ref:y,children:x,dynamicChildren:m,shapeFlag:E,patchFlag:S,dirs:w,cacheIndex:A}=l;if(S===-2&&(g=!1),y!=null&&(Me(),pt(y,null,d,l,!0),Ie()),A!=null&&(u.renderCache[A]=void 0),E&256){u.ctx.deactivate(l);return}const R=E&1&&w,K=!gt(l);let j;if(K&&(j=v&&v.onVnodeBeforeUnmount)&&_e(j,u,l),E&6)Dr(l.component,d,b);else{if(E&128){l.suspense.unmount(d,b);return}R&&Ue(l,null,u,"beforeUnmount"),E&64?l.type.remove(l,u,d,ot,b):m&&!m.hasOnce&&(_!==Oe||S>0&&S&64)?it(m,u,d,!1,!0):(_===Oe&&S&384||!g&&E&16)&&it(x,u,d),b&&Gs(l)}(K&&(j=v&&v.onVnodeUnmounted)||R)&&re(()=>{j&&_e(j,u,l),R&&Ue(l,null,u,"unmounted")},d)},Gs=l=>{const{type:u,el:d,anchor:b,transition:g}=l;if(u===Oe){Fr(d,b);return}if(u===cs){O(l);return}const _=()=>{r(d),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(l.shapeFlag&1&&g&&!g.persisted){const{leave:v,delayLeave:y}=g,x=()=>v(d,_);y?y(l.el,_,x):x()}else _()},Fr=(l,u)=>{let d;for(;l!==u;)d=C(l),r(l),l=d;r(u)},Dr=(l,u,d)=>{const{bum:b,scope:g,job:_,subTree:v,um:y,m:x,a:m}=l;dn(x),dn(m),b&&es(b),g.stop(),_&&(_.flags|=8,de(v,l,u,d)),y&&re(y,u),re(()=>{l.isUnmounted=!0},u)},it=(l,u,d,b=!1,g=!1,_=0)=>{for(let v=_;v{if(l.shapeFlag&6)return It(l.component.subTree);if(l.shapeFlag&128)return l.suspense.next();const u=C(l.anchor||l.el),d=u&&u[Fi];return d?C(d):u};let Qt=!1;const Js=(l,u,d)=>{let b;l==null?u._vnode&&(de(u._vnode,null,null,!0),b=u._vnode.component):P(u._vnode||null,l,u,null,null,null,d),u._vnode=l,Qt||(Qt=!0,tn(b),tr(),Qt=!1)},ot={p:P,um:de,m:Ve,r:Gs,mt:Zt,mc:He,pc:L,pbc:Le,n:It,o:e};return{render:Js,hydrate:void 0,createApp:so(Js)}}function ls({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function We({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function xo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Cr(e,t,s=!1){const n=e.children,r=t.children;if(M(n)&&M(r))for(let i=0;i>1,e[s[c]]0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,o=s[i-1];i-- >0;)s[i]=o,o=t[o];return s}function Tr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Tr(t)}function dn(e){if(e)for(let t=0;te.__isSuspense;function vo(e,t){t&&t.pendingBranch?M(e)?t.effects.push(...e):t.effects.push(e):Oi(e)}const Oe=Symbol.for("v-fgt"),Xt=Symbol.for("v-txt"),st=Symbol.for("v-cmt"),cs=Symbol.for("v-stc"),mt=[];let le=null;function So(e=!1){mt.push(le=e?null:[])}function Co(){mt.pop(),le=mt[mt.length-1]||null}let St=1;function hn(e,t=!1){St+=e,e<0&&le&&t&&(le.hasOnce=!0)}function To(e){return e.dynamicChildren=St>0?le||Ze:null,Co(),St>0&&le&&le.push(e),e}function wo(e,t,s,n,r,i){return To(qe(e,t,s,n,r,i,!0))}function Or(e){return e?e.__v_isVNode===!0:!1}function ft(e,t){return e.type===t.type&&e.key===t.key}const Ar=({key:e})=>e??null,jt=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Y(e)||X(e)||I(e)?{i:ve,r:e,k:t,f:!!s}:e:null);function qe(e,t=null,s=null,n=0,r=null,i=e===Oe?0:1,o=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ar(t),ref:t&&jt(t),scopeId:nr,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ve};return c?(Ws(f,s),i&128&&e.normalize(f)):s&&(f.shapeFlag|=Y(s)?8:16),St>0&&!o&&le&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&le.push(f),f}const Je=Eo;function Eo(e,t=null,s=null,n=0,r=null,i=!1){if((!e||e===Yi)&&(e=st),Or(e)){const c=nt(e,t,!0);return s&&Ws(c,s),St>0&&!i&&le&&(c.shapeFlag&6?le[le.indexOf(e)]=c:le.push(c)),c.patchFlag=-2,c}if($o(e)&&(e=e.__vccOpts),t){t=Oo(t);let{class:c,style:f}=t;c&&!Y(c)&&(t.class=As(c)),$(f)&&($s(f)&&!M(f)&&(f=Z({},f)),t.style=Os(f))}const o=Y(e)?1:Er(e)?128:Di(e)?64:$(e)?4:I(e)?2:0;return qe(e,t,s,n,r,o,i,!0)}function Oo(e){return e?$s(e)||mr(e)?Z({},e):e:null}function nt(e,t,s=!1,n=!1){const{props:r,ref:i,patchFlag:o,children:c,transition:f}=e,h=t?Po(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:h,key:h&&Ar(h),ref:t&&t.ref?s&&i?M(i)?i.concat(jt(t)):[i,jt(t)]:jt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Oe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nt(e.ssContent),ssFallback:e.ssFallback&&nt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&n&&Ks(a,f.clone(a)),a}function Ao(e=" ",t=0){return Je(Xt,null,e,t)}function xe(e){return e==null||typeof e=="boolean"?Je(st):M(e)?Je(Oe,null,e.slice()):Or(e)?Ae(e):Je(Xt,null,String(e))}function Ae(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:nt(e)}function Ws(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(M(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Ws(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!mr(t)?t._ctx=ve:r===3&&ve&&(ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else I(t)?(t={default:t,_ctx:ve},s=32):(t=String(t),n&64?(s=16,t=[Ao(t)]):s=8);e.children=t,e.shapeFlag|=s}function Po(...e){const t={};for(let s=0;ste||ve;let Wt,vs;{const e=Gt(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Wt=t("__VUE_INSTANCE_SETTERS__",s=>te=s),vs=t("__VUE_SSR_SETTERS__",s=>Ct=s)}const Et=e=>{const t=te;return Wt(e),e.scope.on(),()=>{e.scope.off(),Wt(t)}},pn=()=>{te&&te.scope.off(),Wt(null)};function Pr(e){return e.vnode.shapeFlag&4}let Ct=!1;function Do(e,t=!1,s=!1){t&&vs(t);const{props:n,children:r}=e.vnode,i=Pr(e);uo(e,n,i,t),go(e,r,s||t);const o=i?Ho(e,t):void 0;return t&&vs(!1),o}function Ho(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,zi);const{setup:n}=s;if(n){Me();const r=e.setupContext=n.length>1?No(e):null,i=Et(e),o=wt(n,e,0,[e.props,r]),c=Mn(o);if(Ie(),i(),(c||e.sp)&&!gt(e)&&or(e),c){if(o.then(pn,pn),t)return o.then(f=>{gn(e,f)}).catch(f=>{Jt(f,e,0)});e.asyncDep=o}else gn(e,o)}else Mr(e)}function gn(e,t,s){I(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$(t)&&(e.setupState=Qn(t)),Mr(e)}function Mr(e,t,s){const n=e.type;e.render||(e.render=n.render||Se);{const r=Et(e);Me();try{Xi(e)}finally{Ie(),r()}}}const jo={get(e,t){return z(e,"get",""),e[t]}};function No(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,jo),slots:e.slots,emit:e.emit,expose:t}}function Bs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qn(pi(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in _t)return _t[s](e)},has(t,s){return s in t||s in _t}})):e.proxy}function $o(e){return I(e)&&"__vccOpts"in e}const Ir=(e,t)=>vi(e,t,Ct),Lo="3.5.30";/** +* @vue/runtime-dom v3.5.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ss;const _n=typeof window<"u"&&window.trustedTypes;if(_n)try{Ss=_n.createPolicy("vue",{createHTML:e=>e})}catch{}const Rr=Ss?e=>Ss.createHTML(e):e=>e,Ko="http://www.w3.org/2000/svg",Vo="http://www.w3.org/1998/Math/MathML",Ee=typeof document<"u"?document:null,mn=Ee&&Ee.createElement("template"),Uo={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?Ee.createElementNS(Ko,e):t==="mathml"?Ee.createElementNS(Vo,e):s?Ee.createElement(e,{is:s}):Ee.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>Ee.createTextNode(e),createComment:e=>Ee.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ee.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,i){const o=s?s.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===i||!(r=r.nextSibling)););else{mn.innerHTML=Rr(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const c=mn.content;if(n==="svg"||n==="mathml"){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Wo=Symbol("_vtc");function Bo(e,t,s){const n=e[Wo];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const bn=Symbol("_vod"),qo=Symbol("_vsh"),Go=Symbol(""),Jo=/(?:^|;)\s*display\s*:/;function Yo(e,t,s){const n=e.style,r=Y(s);let i=!1;if(s&&!r){if(t)if(Y(t))for(const o of t.split(";")){const c=o.slice(0,o.indexOf(":")).trim();s[c]==null&&Nt(n,c,"")}else for(const o in t)s[o]==null&&Nt(n,o,"");for(const o in s)o==="display"&&(i=!0),Nt(n,o,s[o])}else if(r){if(t!==s){const o=n[Go];o&&(s+=";"+o),n.cssText=s,i=Jo.test(s)}}else t&&e.removeAttribute("style");bn in e&&(e[bn]=i?n.display:"",e[qo]&&(n.display="none"))}const xn=/\s*!important$/;function Nt(e,t,s){if(M(s))s.forEach(n=>Nt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=zo(e,t);xn.test(s)?e.setProperty(Ye(n),s.replace(xn,""),"important"):e[n]=s}}const yn=["Webkit","Moz","ms"],fs={};function zo(e,t){const s=fs[t];if(s)return s;let n=ce(t);if(n!=="filter"&&n in e)return fs[t]=n;n=Fn(n);for(let r=0;rus||(el.then(()=>us=0),us=Date.now());function sl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Te(nl(n,s.value),t,5,[n])};return s.value=e,s.attached=tl(),s}function nl(e,t){if(M(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const En=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,rl=(e,t,s,n,r,i)=>{const o=r==="svg";t==="class"?Bo(e,n,o):t==="style"?Yo(e,s,n):Bt(t)?Ts(t)||Qo(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):il(e,t,n,o))?(Cn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Sn(e,t,n,o,i,t!=="value")):e._isVueCE&&(ol(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Y(n)))?Cn(e,ce(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Sn(e,t,n,o))};function il(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&En(t)&&I(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return En(t)&&Y(s)?!1:t in e}function ol(e,t){const s=e._def.props;if(!s)return!1;const n=ce(t);return Array.isArray(s)?s.some(r=>ce(r)===n):Object.keys(s).some(r=>ce(r)===n)}const ll=Z({patchProp:rl},Uo);let On;function cl(){return On||(On=mo(ll))}const fl=(...e)=>{const t=cl().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=al(n);if(!r)return;const i=t._component;!I(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=s(r,!1,ul(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function ul(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function al(e){return Y(e)?document.querySelector(e):e}const dl={"data-component":"counter-vue",class:"rounded-xl border border-base-300 bg-base-100 p-4 space-y-3"},hl={class:"text-lg font-semibold"},pl={"data-slot":"count",class:"text-3xl font-bold"},gl={__name:"Counter",props:{initialCount:{type:Number,default:0},label:{type:String,default:""}},setup(e){const t=e,s=gi(Number.isFinite(t.initialCount)?t.initialCount:0),n=Ir(()=>t.label||"Vue Counter"),r=()=>{s.value-=1},i=()=>{s.value+=1};return(o,c)=>(So(),wo("section",dl,[qe("h3",hl,as(n.value),1),qe("p",pl,as(s.value),1),qe("div",{class:"flex gap-2"},[qe("button",{type:"button",class:"btn btn-sm",onClick:r},"-1"),qe("button",{type:"button",class:"btn btn-sm",onClick:i},"+1")])]))}};function _l(e={}){const t=Number(e.initialCount);return{initialCount:Number.isFinite(t)?t:0,label:typeof e.label=="string"?e.label:"Vue Counter"}}function bl(e,t={}){fl(gl,_l(t)).mount(e)}export{bl as mount}; +//# sourceMappingURL=VueCounter-By62B6YM.js.map diff --git a/app/static/islands/VueCounter-By62B6YM.js.map b/app/static/islands/VueCounter-By62B6YM.js.map new file mode 100644 index 00000000..dd0120fc --- /dev/null +++ b/app/static/islands/VueCounter-By62B6YM.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VueCounter-By62B6YM.js","sources":["../../../frontend/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../frontend/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../../frontend/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../../frontend/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../frontend/javascript/vue/components/Counter.vue","../../../frontend/islands/VueCounter.js"],"sourcesContent":["/**\n* @vue/shared v3.5.30\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return ((str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n });\n};\nconst camelizeRE = /-\\w/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase());\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `CACHED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nfunction normalizeCssVarValue(value) {\n if (value == null) {\n return \"initial\";\n }\n if (typeof value === \"string\") {\n return value === \"\" ? \" \" : value;\n }\n if (typeof value !== \"number\" || !Number.isFinite(value)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(\n \"[Vue warn] Invalid value used for CSS binding. Expected a string or a finite number but received:\",\n value\n );\n }\n }\n return String(value);\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeCssVarValue, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.5.30\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { extend, hasChanged, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, capitalize, toRawType, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, remove, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n // TODO isolatedDeclarations \"__v_skip\"\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal track `on` calls, allow `on` call multiple times\n */\n this._on = 0;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.__v_skip = true;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n if (++this._on === 1) {\n this.prevScope = activeEffectScope;\n activeEffectScope = this;\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n if (this._on > 0 && --this._on === 0) {\n activeEffectScope = this.prevScope;\n this.prevScope = void 0;\n }\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\",\n \"EVALUATED\": 128,\n \"128\": \"EVALUATED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= -65;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= -3;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= -2;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= -17;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {\n return;\n }\n computed.flags |= 2;\n const dep = computed.dep;\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed.flags |= 128;\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= -3;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= -5;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n // TODO isolatedDeclarations \"__v_skip\"\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n /**\n * @internal\n */\n this.__v_skip = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nfunction toWrapped(target, item) {\n if (isReadonly(target)) {\n return isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item);\n }\n return toReactive(item);\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, (item) => toWrapped(this, item));\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toWrapped(this, value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(\n this,\n \"filter\",\n fn,\n thisArg,\n (v) => v.map((item) => toWrapped(this, item)),\n arguments\n );\n },\n find(fn, thisArg) {\n return apply(\n this,\n \"find\",\n fn,\n thisArg,\n (item) => toWrapped(this, item),\n arguments\n );\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(\n this,\n \"findLast\",\n fn,\n thisArg,\n (item) => toWrapped(this, item),\n arguments\n );\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimization required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", (item) => toWrapped(this, item));\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (!result.done) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toWrapped(self, item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n let wrappedFn = fn;\n let wrapInitialAccumulator = false;\n if (arr !== self) {\n if (needsWrap) {\n wrapInitialAccumulator = args.length === 0;\n wrappedFn = function(acc, item, index) {\n if (wrapInitialAccumulator) {\n wrapInitialAccumulator = false;\n acc = toWrapped(self, acc);\n }\n return fn.call(this, acc, toWrapped(self, item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n const result = arr[method](wrappedFn, ...args);\n return wrapInitialAccumulator ? toWrapped(self, result) : result;\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n const value = targetIsArray && isIntegerKey(key) ? res : res.value;\n return isReadonly2 && isObject(value) ? readonly(value) : value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n const isArrayWithIntegerKey = isArray(target) && isIntegerKey(key);\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArrayWithIntegerKey && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target[key]\n );\n }\n return true;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return extend(\n // inheriting all iterator properties\n Object.create(innerIterator),\n {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n }\n }\n );\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return target.size;\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n const target = toRaw(this);\n const proto = getProto(target);\n const rawValue = toRaw(value);\n const valueToAdd = !shallow && !isShallow(value) && !isReadonly(value) ? rawValue : value;\n const hadKey = proto.has.call(target, valueToAdd) || hasChanged(value, valueToAdd) && proto.has.call(target, value) || hasChanged(rawValue, valueToAdd) && proto.has.call(target, rawValue);\n if (!hadKey) {\n target.add(valueToAdd);\n trigger(target, \"add\", valueToAdd, valueToAdd);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\n// @__NO_SIDE_EFFECTS__\nfunction reactive(target) {\n if (/* @__PURE__ */ isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\n// @__NO_SIDE_EFFECTS__\nfunction isReactive(value) {\n if (/* @__PURE__ */ isReadonly(value)) {\n return /* @__PURE__ */ isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? /* @__PURE__ */ toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;\n\n// @__NO_SIDE_EFFECTS__\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\n// @__NO_SIDE_EFFECTS__\nfunction ref(value) {\n return createRef(value, false);\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (/* @__PURE__ */ isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n this._raw = toRaw(_object);\n let shallow = true;\n let obj = _object;\n if (!isArray(_object) || !isIntegerKey(String(_key))) {\n do {\n shallow = !isProxy(obj) || isShallow(obj);\n } while (shallow && (obj = obj[\"__v_raw\"]));\n }\n this._shallow = shallow;\n }\n get value() {\n let val = this._object[this._key];\n if (this._shallow) {\n val = unref(val);\n }\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) {\n const nestedRef = this._object[this._key];\n if (/* @__PURE__ */ isRef(nestedRef)) {\n nestedRef.value = newVal;\n return;\n }\n }\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(this._raw, this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRef(source, key, defaultValue) {\n if (/* @__PURE__ */ isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return /* @__PURE__ */ ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n return new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n oldValue = newValue;\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Map();\n if ((seen.get(value) || 0) >= depth) {\n return value;\n }\n seen.set(value, depth);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.30\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, watch as watch$1, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, customRef, shallowReactive, trigger, ReactiveEffect, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, NO, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, normalizeCssVarValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, hyphenate, hasChanged, looseToNumber, isModelListener, looseEqual, EMPTY_ARR, toRawType, makeMap, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= -2;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= -2;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= -2;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n if (!(instance.job.flags & 8)) {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n }\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nfunction provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!currentInstance || currentInstance.isMounted) {\n warn$1(`provide() can only be used inside setup().`);\n }\n }\n if (currentInstance) {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = getCurrentInstance();\n if (instance || currentApp) {\n let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(getCurrentInstance() || currentApp);\n}\n\nconst ssrContextKey = /* @__PURE__ */ Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, flush, once } = options;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const baseWatchOptions = extend({}, options);\n if (!!(process.env.NODE_ENV !== \"production\")) baseWatchOptions.onWarn = warn$1;\n const runsImmediately = cb && immediate || !cb && flush !== \"post\";\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else if (!runsImmediately) {\n const watchStopHandle = () => {\n };\n watchStopHandle.stop = NOOP;\n watchStopHandle.resume = NOOP;\n watchStopHandle.pause = NOOP;\n return watchStopHandle;\n }\n }\n const instance = currentInstance;\n baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);\n let isPre = false;\n if (flush === \"post\") {\n baseWatchOptions.scheduler = (job) => {\n queuePostRenderEffect(job, instance && instance.suspense);\n };\n } else if (flush !== \"sync\") {\n isPre = true;\n baseWatchOptions.scheduler = (job, isFirstRun) => {\n if (isFirstRun) {\n job();\n } else {\n queueJob(job);\n }\n };\n }\n baseWatchOptions.augmentJob = (job) => {\n if (cb) {\n job.flags |= 4;\n }\n if (isPre) {\n job.flags |= 2;\n if (instance) {\n job.id = instance.uid;\n job.i = instance;\n }\n }\n };\n const watchHandle = watch$1(source, cb, baseWatchOptions);\n if (isInSSRComponentSetup) {\n if (ssrCleanup) {\n ssrCleanup.push(watchHandle);\n } else if (runsImmediately) {\n watchHandle();\n }\n }\n return watchHandle;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\n\nconst TeleportEndKey = /* @__PURE__ */ Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (parentComponent && parentComponent.isCE) {\n (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n n2.el.__isMounted = false;\n queuePostRenderEffect(() => {\n mountToTarget();\n delete n2.el.__isMounted;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, !!!(process.env.NODE_ENV !== \"production\"));\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n function hydrateAnchor(target2, targetNode) {\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n }\n function hydrateDisabledTeleport(node2, vnode2) {\n vnode2.anchor = hydrateChildren(\n nextSibling(node2),\n vnode2,\n parentNode(node2),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n const disabled = isTeleportDisabled(vnode.props);\n if (target) {\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n hydrateDisabledTeleport(node, vnode);\n hydrateAnchor(target, targetNode);\n if (!vnode.targetAnchor) {\n prepareAnchor(\n target,\n vnode,\n createText,\n insert,\n // if target is the same as the main view, insert anchors before current node\n // to avoid hydrating mismatch\n parentNode(node) === target ? node : null\n );\n }\n } else {\n vnode.anchor = nextSibling(node);\n hydrateAnchor(target, targetNode);\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n } else if (disabled) {\n if (vnode.shapeFlag & 16) {\n hydrateDisabledTeleport(node, vnode);\n vnode.targetStart = node;\n vnode.targetAnchor = nextSibling(node);\n }\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert, anchor = null) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target, anchor);\n insert(targetAnchor, target, anchor);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = /* @__PURE__ */ Symbol(\"_leaveCb\");\nconst enterCbKey = /* @__PURE__ */ Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n if (leavingVNodesCache[key] === vnode) return;\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n const done = el[enterCbKey].bind(null, false);\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n const done = el[leaveCbKey].bind(null, false);\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n if (!!(process.env.NODE_ENV !== \"production\") && isTemplateRefKey(refs, key)) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\nfunction isTemplateRefKey(refs, key) {\n let desc;\n return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);\n}\n\nconst pendingSetRefMap = /* @__PURE__ */ new WeakMap();\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n if (isTemplateRefKey(refs, key)) {\n return false;\n }\n return hasOwn(rawSetupState, key);\n };\n const canSetRef = (ref2, key) => {\n if (!!(process.env.NODE_ENV !== \"production\") && knownTemplateRefs.has(ref2)) {\n return false;\n }\n if (key && isTemplateRefKey(refs, key)) {\n return false;\n }\n return true;\n };\n if (oldRef != null && oldRef !== ref) {\n invalidatePendingSetRef(oldRawRef);\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n const oldRawRefAtom = oldRawRef;\n if (canSetRef(oldRef, oldRawRefAtom.k)) {\n oldRef.value = null;\n }\n if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n const newVal = [refValue];\n if (canSetRef(ref, rawRef.k)) {\n ref.value = newVal;\n }\n if (rawRef.k) refs[rawRef.k] = newVal;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n if (canSetRef(ref, rawRef.k)) {\n ref.value = value;\n }\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n const job = () => {\n doSet();\n pendingSetRefMap.delete(rawRef);\n };\n job.id = -1;\n pendingSetRefMap.set(rawRef, job);\n queuePostRenderEffect(job, parentSuspense);\n } else {\n invalidatePendingSetRef(rawRef);\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\nfunction invalidatePendingSetRef(rawRef) {\n const pendingSetRef = pendingSetRefMap.get(rawRef);\n if (pendingSetRef) {\n pendingSetRef.flags |= 8;\n pendingSetRefMap.delete(rawRef);\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n const cls = content.getAttribute(\"class\");\n if (cls) content.$cls = cls;\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n const { textContent } = el;\n if (textContent !== clientText && // innerHTML normalize \\r\\n or \\r into a single \\n in the DOM\n textContent !== clientText.replace(/\\r\\n|\\r/g, \"\\n\")) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${textContent}\n - expected on client: ${clientText}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement && !isReservedProp(key)) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n if (el.$cls) {\n actual = el.$cls;\n delete el.$cls;\n } else {\n actual = el.getAttribute(\"class\");\n }\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n const value = normalizeCssVarValue(cssVars[key]);\n expectedMap.set(`--${getEscapedCssVarName(key, false)}`, value);\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return list.includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n let patched = false;\n (instance.bu || (instance.bu = [])).push(() => patched = true);\n const performHydrate = () => {\n if (patched) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`\n );\n }\n return;\n }\n hydrate();\n };\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n performHydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : performHydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createInnerComp(\n loadingComponent,\n instance\n );\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n instance2.__keepAliveStorageContainer = storageContainer;\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type\n );\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= -257;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= -257;\n vnode.shapeFlag &= -513;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n let isReadonlySource = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n isReadonlySource = isReadonly(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && (!Number.isInteger(source) || source < 0)) {\n warn$1(\n `The v-for range expects a positive integer value but got ${source}.`\n );\n ret = [];\n } else {\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n const hasProps = Object.keys(props).length > 0;\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n hasProps ? -2 : 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (hasOwn(props, key)) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n","import { createApp } from \"vue\";\nimport Counter from \"../javascript/vue/components/Counter.vue\";\n\nfunction normalizeProps(props = {}) {\n const initialCount = Number(props.initialCount);\n return {\n initialCount: Number.isFinite(initialCount) ? initialCount : 0,\n label: typeof props.label === \"string\" ? props.label : \"Vue Counter\",\n };\n}\n\nexport function mount(el, props = {}) {\n createApp(Counter, normalizeProps(props)).mount(el);\n}\n"],"names":["makeMap","str","map","key","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","writable","looseToNumber","n","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","isRef","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","l","currentEffectScope","fromParent","last","getCurrentScope","activeSub","pausedQueueEffects","ReactiveEffect","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","removeSub","isDirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","e","next","error","err","head","tail","prev","removeDep","refreshComputed","computed","globalVersion","dep","prevSub","soft","nextSub","prevDep","nextDep","trackStack","pauseTracking","resetTracking","cleanup","Link","Dep","debugInfo","addSub","currentTail","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","target","type","depsMap","trigger","newValue","oldTarget","run","targetIsArray","isArrayIndex","newLength","key2","reactiveReadArray","array","raw","toReactive","shallowReadArray","toRaw","toWrapped","isReadonly","toReadonly","isReactive","arrayInstrumentations","iterator","args","x","thisArg","apply","searchProxy","separator","noTracking","reduce","comparer","self","method","wrapValue","iter","isShallow","result","arrayProto","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","index","wrapInitialAccumulator","acc","isNonTrackableKeys","builtInSymbols","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","readonly","MutableReactiveHandler","isArrayWithIntegerKey","isOldValueReadonly","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","done","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","has","callback","observed","proto","rawValue","valueToAdd","get","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","reactive","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","targetType","existingProxy","proxy","isProxy","markRaw","r","ref","createRef","RefImpl","useDirectValue","unref","ref2","shallowUnwrapHandlers","proxyRefs","objectWithRefs","ComputedRefImpl","setter","isSSR","getterOrOptions","debugOptions","getter","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","onWatcherCleanup","cleanupFn","failSilently","owner","cleanups","watch","source","cb","options","immediate","deep","once","scheduler","augmentJob","call","reactiveGetter","source2","traverse","effect","boundCleanup","forceTrigger","isMultiSource","s","currentEffect","baseGetter","depth","scope","watchHandle","_cb","job","immediateFirstRun","currentWatcher","cleanup2","seen","callWithErrorHandling","instance","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","logError","throwInProd","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","flushPostFlushCbs","deduped","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","invokeDirectiveHook","vnode","prevVNode","bindings","oldBindings","binding","hook","provide","currentInstance","provides","parentProvides","inject","defaultValue","treatDefaultAsFactory","getCurrentInstance","currentApp","ssrContextKey","useSSRContext","doWatch","flush","baseWatchOptions","runsImmediately","ssrCleanup","isInSSRComponentSetup","watchStopHandle","isPre","queuePostRenderEffect","isFirstRun","watch$1","instanceWatch","publicThis","createPathGetter","reset","setCurrentInstance","path","segments","TeleportEndKey","isTeleport","leaveCbKey","setTransitionHooks","hooks","markAsyncBoundary","isTemplateRefKey","refs","desc","pendingSetRefMap","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","isAsyncWrapper","refValue","getComponentPublicInstance","oldRef","setupState","rawSetupState","canSetSetupRef","canSetRef","invalidatePendingSetRef","oldRawRefAtom","_isString","_isRef","doSet","existing","newVal","pendingSetRef","isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","current","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","createHook","lifecycle","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","NULL_DYNAMIC_COMPONENT","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","state","PublicInstanceProxyHandlers","data","props","accessCache","appContext","shouldCacheAccess","publicGetter","cssModule","globalProperties","cssModules","descriptor","normalizePropsOrEmits","applyOptions","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","directives","filters","resolveInjections","methodHandler","opt","set","createWatcher","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","h","handler","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","cached","resolved","m","mergeOptions","to","from","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","isMounted","app","version","plugin","mixin","component","directive","rootContainer","isHydrate","namespace","createVNode","lastApp","getModelModifiers","modelName","emit","event","rawArgs","modifiers","handlerName","onceHandler","mixinEmitsCache","normalizeEmitsOptions","comp","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","renderComponentRoot","Component","withProxy","propsOptions","slots","attrs","renderCache","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","Comment","root","keys","shapeFlag","filterModelListeners","cloneVNode","shouldUpdateComponent","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","hasPropValueChanged","emitsOptions","nextKeys","nextProp","prevProp","updateHOCHostEl","parent","internalObjectProto","createInternalObject","isInternalObject","initProps","rawProps","isStateful","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","mixinPropsCache","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","children","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","queueEffectWithSuspense","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","Text","processText","processCommentNode","Static","mountStaticNode","Fragment","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","removeStaticNode","mountElement","customElement","patchElement","vnodeHook","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","isSuspense","parentVNode","child","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","update","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","anchorVNode","resolveAsyncComponentPlaceholder","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","cacheIndex","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","invalidateMount","teleportEnd","isFlushing","currentNamespace","allowed","ch1","ch2","j","len","arrI","subComponent","anchorVnode","suspense","currentBlock","openBlock","disableTracking","closeBlock","isBlockTreeEnabled","inVOnce","setupBlock","createElementBlock","createBaseVNode","isVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","style","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","slot","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","isAsyncSetup","resolvedResult","handleSetupResult","finishComponentSetup","skipOptions","attrsProxyHandlers","computed$1","policy","tt","unsafeToTrustedHTML","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","node","selector","content","before","template","wrapper","vtcKey","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","attrName","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","patchProp","shouldSetAsProp","shouldSetAsPropForVueCE","camelize$1","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","__props","count","labelToShow","decrement","increment","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","_hoisted_3","normalizeProps","initialCount","Counter"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/app/static/islands/VueCounter-CapVNorh.js b/app/static/islands/VueCounter-CapVNorh.js new file mode 100644 index 00000000..45e36504 --- /dev/null +++ b/app/static/islands/VueCounter-CapVNorh.js @@ -0,0 +1,18 @@ +/** +* @vue/shared v3.5.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Cs(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const U={},Ze=[],Se=()=>{},An=()=>!1,Bt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ws=e=>e.startsWith("onUpdate:"),Z=Object.assign,Ts=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Hr=Object.prototype.hasOwnProperty,H=(e,t)=>Hr.call(e,t),M=Array.isArray,Qe=e=>wt(e)==="[object Map]",Pn=e=>wt(e)==="[object Set]",Zs=e=>wt(e)==="[object Date]",I=e=>typeof e=="function",Y=e=>typeof e=="string",Ce=e=>typeof e=="symbol",$=e=>e!==null&&typeof e=="object",Mn=e=>($(e)||I(e))&&I(e.then)&&I(e.catch),In=Object.prototype.toString,wt=e=>In.call(e),jr=e=>wt(e).slice(8,-1),Rn=e=>wt(e)==="[object Object]",Es=e=>Y(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,at=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qt=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},Nr=/-\w/g,ce=qt(e=>e.replace(Nr,t=>t.slice(1).toUpperCase())),$r=/\B([A-Z])/g,Ye=qt(e=>e.replace($r,"-$1").toLowerCase()),Fn=qt(e=>e.charAt(0).toUpperCase()+e.slice(1)),kt=qt(e=>e?`on${Fn(e)}`:""),ye=(e,t)=>!Object.is(e,t),es=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Lr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Qs;const Gt=()=>Qs||(Qs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Os(e){if(M(e)){const t={};for(let s=0;s{if(s){const n=s.split(Vr);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function As(e){let t="";if(Y(e))t=e;else if(M(e))for(let s=0;s!!(e&&e.__v_isRef===!0),as=e=>Y(e)?e:e==null?"":M(e)||$(e)&&(e.toString===In||!I(e.toString))?jn(e)?as(e.value):JSON.stringify(e,Nn,2):String(e),Nn=(e,t)=>jn(t)?Nn(e,t.value):Qe(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],i)=>(s[ts(n,i)+" =>"]=r,s),{})}:Pn(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>ts(s))}:Ce(t)?ts(t):$(t)&&!M(t)&&!Rn(t)?String(t):t,ts=(e,t="")=>{var s;return Ce(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** +* @vue/reactivity v3.5.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let ie;class Jr{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=ie,!t&&ie&&(this.index=(ie.scopes||(ie.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(ie=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(ht){let t=ht;for(ht=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;dt;){let t=dt;for(dt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Vn(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Un(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),Rs(n),zr(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function ds(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Wn(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Wn(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bt)||(e.globalVersion=bt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ds(e))))return;e.flags|=2;const t=e.dep,s=V,n=fe;V=e,fe=!0;try{Vn(e);const r=e.fn(e._value);(t.version===0||ye(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{V=s,fe=n,Un(e),e.flags&=-3}}function Rs(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)Rs(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function zr(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let fe=!0;const Bn=[];function Me(){Bn.push(fe),fe=!1}function Ie(){const e=Bn.pop();fe=e===void 0?!0:e}function ks(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=V;V=void 0;try{t()}finally{V=s}}}let bt=0;class Xr{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Fs{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!V||!fe||V===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==V)s=this.activeLink=new Xr(V,this),V.deps?(s.prevDep=V.depsTail,V.depsTail.nextDep=s,V.depsTail=s):V.deps=V.depsTail=s,qn(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=V.depsTail,s.nextDep=void 0,V.depsTail.nextDep=s,V.depsTail=s,V.deps===s&&(V.deps=n)}return s}trigger(t){this.version++,bt++,this.notify(t)}notify(t){Ms();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Is()}}}function qn(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)qn(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const hs=new WeakMap,Ge=Symbol(""),ps=Symbol(""),xt=Symbol("");function z(e,t,s){if(fe&&V){let n=hs.get(e);n||hs.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new Fs),r.map=n,r.key=s),r.track()}}function Pe(e,t,s,n,r,i){const o=hs.get(e);if(!o){bt++;return}const c=f=>{f&&f.trigger()};if(Ms(),t==="clear")o.forEach(c);else{const f=M(e),h=f&&Es(s);if(f&&s==="length"){const a=Number(n);o.forEach((p,C)=>{(C==="length"||C===xt||!Ce(C)&&C>=a)&&c(p)})}else switch((s!==void 0||o.has(void 0))&&c(o.get(s)),h&&c(o.get(xt)),t){case"add":f?h&&c(o.get("length")):(c(o.get(Ge)),Qe(e)&&c(o.get(ps)));break;case"delete":f||(c(o.get(Ge)),Qe(e)&&c(o.get(ps)));break;case"set":Qe(e)&&c(o.get(Ge));break}}Is()}function ze(e){const t=D(e);return t===e?t:(z(t,"iterate",xt),ue(e)?t:t.map(Re))}function Ds(e){return z(e=D(e),"iterate",xt),e}function be(e,t){return Le(e)?yt(ke(e)?Re(t):t):Re(t)}const Zr={__proto__:null,[Symbol.iterator](){return ns(this,Symbol.iterator,e=>be(this,e))},concat(...e){return ze(this).concat(...e.map(t=>M(t)?ze(t):t))},entries(){return ns(this,"entries",e=>(e[1]=be(this,e[1]),e))},every(e,t){return Te(this,"every",e,t,void 0,arguments)},filter(e,t){return Te(this,"filter",e,t,s=>s.map(n=>be(this,n)),arguments)},find(e,t){return Te(this,"find",e,t,s=>be(this,s),arguments)},findIndex(e,t){return Te(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Te(this,"findLast",e,t,s=>be(this,s),arguments)},findLastIndex(e,t){return Te(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Te(this,"forEach",e,t,void 0,arguments)},includes(...e){return rs(this,"includes",e)},indexOf(...e){return rs(this,"indexOf",e)},join(e){return ze(this).join(e)},lastIndexOf(...e){return rs(this,"lastIndexOf",e)},map(e,t){return Te(this,"map",e,t,void 0,arguments)},pop(){return ct(this,"pop")},push(...e){return ct(this,"push",e)},reduce(e,...t){return en(this,"reduce",e,t)},reduceRight(e,...t){return en(this,"reduceRight",e,t)},shift(){return ct(this,"shift")},some(e,t){return Te(this,"some",e,t,void 0,arguments)},splice(...e){return ct(this,"splice",e)},toReversed(){return ze(this).toReversed()},toSorted(e){return ze(this).toSorted(e)},toSpliced(...e){return ze(this).toSpliced(...e)},unshift(...e){return ct(this,"unshift",e)},values(){return ns(this,"values",e=>be(this,e))}};function ns(e,t,s){const n=Ds(e),r=n[t]();return n!==e&&!ue(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=s(i.value)),i}),r}const Qr=Array.prototype;function Te(e,t,s,n,r,i){const o=Ds(e),c=o!==e&&!ue(e),f=o[t];if(f!==Qr[t]){const p=f.apply(e,i);return c?Re(p):p}let h=s;o!==e&&(c?h=function(p,C){return s.call(this,be(e,p),C,e)}:s.length>2&&(h=function(p,C){return s.call(this,p,C,e)}));const a=f.call(o,h,n);return c&&r?r(a):a}function en(e,t,s,n){const r=Ds(e),i=r!==e&&!ue(e);let o=s,c=!1;r!==e&&(i?(c=n.length===0,o=function(h,a,p){return c&&(c=!1,h=be(e,h)),s.call(this,h,be(e,a),p,e)}):s.length>3&&(o=function(h,a,p){return s.call(this,h,a,p,e)}));const f=r[t](o,...n);return c?be(e,f):f}function rs(e,t,s){const n=D(e);z(n,"iterate",xt);const r=n[t](...s);return(r===-1||r===!1)&&$s(s[0])?(s[0]=D(s[0]),n[t](...s)):r}function ct(e,t,s=[]){Me(),Ms();const n=D(e)[t].apply(e,s);return Is(),Ie(),n}const kr=Cs("__proto__,__v_isRef,__isVue"),Gn=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ce));function ei(e){Ce(e)||(e=String(e));const t=D(this);return z(t,"has",e),t.hasOwnProperty(e)}class Jn{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(r?i?ui:Zn:i?Xn:zn).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=M(t);if(!r){let f;if(o&&(f=Zr[s]))return f;if(s==="hasOwnProperty")return ei}const c=Reflect.get(t,s,X(t)?t:n);if((Ce(s)?Gn.has(s):kr(s))||(r||z(t,"get",s),i))return c;if(X(c)){const f=o&&Es(s)?c:c.value;return r&&$(f)?_s(f):f}return $(c)?r?_s(c):js(c):c}}class Yn extends Jn{constructor(t=!1){super(!1,t)}set(t,s,n,r){let i=t[s];const o=M(t)&&Es(s);if(!this._isShallow){const h=Le(i);if(!ue(n)&&!Le(n)&&(i=D(i),n=D(n)),!o&&X(i)&&!X(n))return h||(i.value=n),!0}const c=o?Number(s)e,Rt=e=>Reflect.getPrototypeOf(e);function ii(e,t,s){return function(...n){const r=this.__v_raw,i=D(r),o=Qe(i),c=e==="entries"||e===Symbol.iterator&&o,f=e==="keys"&&o,h=r[e](...n),a=s?gs:t?yt:Re;return!t&&z(i,"iterate",f?ps:Ge),Z(Object.create(h),{next(){const{value:p,done:C}=h.next();return C?{value:p,done:C}:{value:c?[a(p[0]),a(p[1])]:a(p),done:C}}})}}function Ft(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function oi(e,t){const s={get(r){const i=this.__v_raw,o=D(i),c=D(r);e||(ye(r,c)&&z(o,"get",r),z(o,"get",c));const{has:f}=Rt(o),h=t?gs:e?yt:Re;if(f.call(o,r))return h(i.get(r));if(f.call(o,c))return h(i.get(c));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&z(D(r),"iterate",Ge),r.size},has(r){const i=this.__v_raw,o=D(i),c=D(r);return e||(ye(r,c)&&z(o,"has",r),z(o,"has",c)),r===c?i.has(r):i.has(r)||i.has(c)},forEach(r,i){const o=this,c=o.__v_raw,f=D(c),h=t?gs:e?yt:Re;return!e&&z(f,"iterate",Ge),c.forEach((a,p)=>r.call(i,h(a),h(p),o))}};return Z(s,e?{add:Ft("add"),set:Ft("set"),delete:Ft("delete"),clear:Ft("clear")}:{add(r){const i=D(this),o=Rt(i),c=D(r),f=!t&&!ue(r)&&!Le(r)?c:r;return o.has.call(i,f)||ye(r,f)&&o.has.call(i,r)||ye(c,f)&&o.has.call(i,c)||(i.add(f),Pe(i,"add",f,f)),this},set(r,i){!t&&!ue(i)&&!Le(i)&&(i=D(i));const o=D(this),{has:c,get:f}=Rt(o);let h=c.call(o,r);h||(r=D(r),h=c.call(o,r));const a=f.call(o,r);return o.set(r,i),h?ye(i,a)&&Pe(o,"set",r,i):Pe(o,"add",r,i),this},delete(r){const i=D(this),{has:o,get:c}=Rt(i);let f=o.call(i,r);f||(r=D(r),f=o.call(i,r)),c&&c.call(i,r);const h=i.delete(r);return f&&Pe(i,"delete",r,void 0),h},clear(){const r=D(this),i=r.size!==0,o=r.clear();return i&&Pe(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=ii(r,e,t)}),s}function Hs(e,t){const s=oi(e,t);return(n,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(H(s,r)&&r in n?s:n,r,i)}const li={get:Hs(!1,!1)},ci={get:Hs(!1,!0)},fi={get:Hs(!0,!1)};const zn=new WeakMap,Xn=new WeakMap,Zn=new WeakMap,ui=new WeakMap;function ai(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function di(e){return e.__v_skip||!Object.isExtensible(e)?0:ai(jr(e))}function js(e){return Le(e)?e:Ns(e,!1,si,li,zn)}function hi(e){return Ns(e,!1,ri,ci,Xn)}function _s(e){return Ns(e,!0,ni,fi,Zn)}function Ns(e,t,s,n,r){if(!$(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=di(e);if(i===0)return e;const o=r.get(e);if(o)return o;const c=new Proxy(e,i===2?n:s);return r.set(e,c),c}function ke(e){return Le(e)?ke(e.__v_raw):!!(e&&e.__v_isReactive)}function Le(e){return!!(e&&e.__v_isReadonly)}function ue(e){return!!(e&&e.__v_isShallow)}function $s(e){return e?!!e.__v_raw:!1}function D(e){const t=e&&e.__v_raw;return t?D(t):e}function pi(e){return!H(e,"__v_skip")&&Object.isExtensible(e)&&Dn(e,"__v_skip",!0),e}const Re=e=>$(e)?js(e):e,yt=e=>$(e)?_s(e):e;function X(e){return e?e.__v_isRef===!0:!1}function gi(e){return _i(e,!1)}function _i(e,t){return X(e)?e:new mi(e,t)}class mi{constructor(t,s){this.dep=new Fs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:D(t),this._value=s?t:Re(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||ue(t)||Le(t);t=n?t:D(t),ye(t,s)&&(this._rawValue=t,this._value=n?t:Re(t),this.dep.trigger())}}function bi(e){return X(e)?e.value:e}const xi={get:(e,t,s)=>t==="__v_raw"?e:bi(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return X(r)&&!X(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function Qn(e){return ke(e)?e:new Proxy(e,xi)}class yi{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Fs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&V!==this)return Kn(this,!0),!0}get value(){const t=this.dep.track();return Wn(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function vi(e,t,s=!1){let n,r;return I(e)?n=e:(n=e.get,r=e.set),new yi(n,r,s)}const Dt={},$t=new WeakMap;let qe;function Si(e,t=!1,s=qe){if(s){let n=$t.get(s);n||$t.set(s,n=[]),n.push(e)}}function Ci(e,t,s=U){const{immediate:n,deep:r,once:i,scheduler:o,augmentJob:c,call:f}=s,h=O=>r?O:ue(O)||r===!1||r===0?$e(O,1):$e(O);let a,p,C,w,N=!1,P=!1;if(X(e)?(p=()=>e.value,N=ue(e)):ke(e)?(p=()=>h(e),N=!0):M(e)?(P=!0,N=e.some(O=>ke(O)||ue(O)),p=()=>e.map(O=>{if(X(O))return O.value;if(ke(O))return h(O);if(I(O))return f?f(O,2):O()})):I(e)?t?p=f?()=>f(e,2):e:p=()=>{if(C){Me();try{C()}finally{Ie()}}const O=qe;qe=a;try{return f?f(e,3,[w]):e(w)}finally{qe=O}}:p=Se,t&&r){const O=p,J=r===!0?1/0:r;p=()=>$e(O(),J)}const G=Yr(),B=()=>{a.stop(),G&&G.active&&Ts(G.effects,a)};if(i&&t){const O=t;t=(...J)=>{O(...J),B()}}let F=P?new Array(e.length).fill(Dt):Dt;const W=O=>{if(!(!(a.flags&1)||!a.dirty&&!O))if(t){const J=a.run();if(r||N||(P?J.some((De,ae)=>ye(De,F[ae])):ye(J,F))){C&&C();const De=qe;qe=a;try{const ae=[J,F===Dt?void 0:P&&F[0]===Dt?[]:F,w];F=J,f?f(t,3,ae):t(...ae)}finally{qe=De}}}else a.run()};return c&&c(W),a=new $n(p),a.scheduler=o?()=>o(W,!1):W,w=O=>Si(O,!1,a),C=a.onStop=()=>{const O=$t.get(a);if(O){if(f)f(O,4);else for(const J of O)J();$t.delete(a)}},t?n?W(!0):F=a.run():o?o(W.bind(null,!0),!0):a.run(),B.pause=a.pause.bind(a),B.resume=a.resume.bind(a),B.stop=B,B}function $e(e,t=1/0,s){if(t<=0||!$(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,X(e))$e(e.value,t,s);else if(M(e))for(let n=0;n{$e(n,t,s)});else if(Rn(e)){for(const n in e)$e(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&$e(e[n],t,s)}return e}/** +* @vue/runtime-core v3.5.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Tt(e,t,s,n){try{return n?e(...n):e()}catch(r){Jt(r,t,s)}}function we(e,t,s,n){if(I(e)){const r=Tt(e,t,s,n);return r&&Mn(r)&&r.catch(i=>{Jt(i,t,s)}),r}if(M(e)){const r=[];for(let i=0;i>>1,r=ee[n],i=vt(r);i=vt(s)?ee.push(e):ee.splice(Ei(t),0,e),e.flags|=1,er()}}function er(){Lt||(Lt=kn.then(sr))}function Oi(e){M(e)?et.push(...e):je&&e.id===-1?je.splice(Xe+1,0,e):e.flags&1||(et.push(e),e.flags|=1),er()}function tn(e,t,s=me+1){for(;svt(s)-vt(n));if(et.length=0,je){je.push(...t);return}for(je=t,Xe=0;Xee.id==null?e.flags&2?-1:1/0:e.id;function sr(e){try{for(me=0;me{n._d&&hn(-1);const i=Kt(t);let o;try{o=e(...r)}finally{Kt(i),n._d&&hn(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function We(e,t,s,n){const r=e.dirs,i=t&&t.dirs;for(let o=0;o1)return s&&I(t)?t.call(n&&n.proxy):t}}const Mi=Symbol.for("v-scx"),Ii=()=>Ht(Mi);function is(e,t,s){return rr(e,t,s)}function rr(e,t,s=U){const{immediate:n,deep:r,flush:i,once:o}=s,c=Z({},s),f=t&&n||!t&&i!=="post";let h;if(Ct){if(i==="sync"){const w=Ii();h=w.__watcherHandles||(w.__watcherHandles=[])}else if(!f){const w=()=>{};return w.stop=Se,w.resume=Se,w.pause=Se,w}}const a=te;c.call=(w,N,P)=>we(w,a,N,P);let p=!1;i==="post"?c.scheduler=w=>{re(w,a&&a.suspense)}:i!=="sync"&&(p=!0,c.scheduler=(w,N)=>{N?w():Ls(w)}),c.augmentJob=w=>{t&&(w.flags|=4),p&&(w.flags|=2,a&&(w.id=a.uid,w.i=a))};const C=Ci(e,t,c);return Ct&&(h?h.push(C):f&&C()),C}function Ri(e,t,s){const n=this.proxy,r=Y(e)?e.includes(".")?ir(n,e):()=>n[e]:e.bind(n,n);let i;I(t)?i=t:(i=t.handler,s=t);const o=Et(this),c=rr(r,i.bind(n),s);return o(),c}function ir(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Hi=Symbol("_leaveCb");function Ks(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ks(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function or(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function sn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const Vt=new WeakMap;function pt(e,t,s,n,r=!1){if(M(e)){e.forEach((P,G)=>pt(P,t&&(M(t)?t[G]:t),s,n,r));return}if(gt(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&pt(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?Bs(n.component):n.el,o=r?null:i,{i:c,r:f}=e,h=t&&t.r,a=c.refs===U?c.refs={}:c.refs,p=c.setupState,C=D(p),w=p===U?An:P=>sn(a,P)?!1:H(C,P),N=(P,G)=>!(G&&sn(a,G));if(h!=null&&h!==f){if(nn(t),Y(h))a[h]=null,w(h)&&(p[h]=null);else if(X(h)){const P=t;N(h,P.k)&&(h.value=null),P.k&&(a[P.k]=null)}}if(I(f))Tt(f,c,12,[o,a]);else{const P=Y(f),G=X(f);if(P||G){const B=()=>{if(e.f){const F=P?w(f)?p[f]:a[f]:N()||!e.k?f.value:a[e.k];if(r)M(F)&&Ts(F,i);else if(M(F))F.includes(i)||F.push(i);else if(P)a[f]=[i],w(f)&&(p[f]=a[f]);else{const W=[i];N(f,e.k)&&(f.value=W),e.k&&(a[e.k]=W)}}else P?(a[f]=o,w(f)&&(p[f]=o)):G&&(N(f,e.k)&&(f.value=o),e.k&&(a[e.k]=o))};if(o){const F=()=>{B(),Vt.delete(e)};F.id=-1,Vt.set(e,F),re(F,s)}else nn(e),B()}}}function nn(e){const t=Vt.get(e);t&&(t.flags|=8,Vt.delete(e))}Gt().requestIdleCallback;Gt().cancelIdleCallback;const gt=e=>!!e.type.__asyncLoader,lr=e=>e.type.__isKeepAlive;function ji(e,t){cr(e,"a",t)}function Ni(e,t){cr(e,"da",t)}function cr(e,t,s=te){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Yt(t,n,s),s){let r=s.parent;for(;r&&r.parent;)lr(r.parent.vnode)&&$i(n,t,s,r),r=r.parent}}function $i(e,t,s,n){const r=Yt(t,e,n,!0);fr(()=>{Ts(n[t],r)},s)}function Yt(e,t,s=te,n=!1){if(s){const r=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Me();const c=Et(s),f=we(t,s,e,o);return c(),Ie(),f});return n?r.unshift(i):r.push(i),i}}const Fe=e=>(t,s=te)=>{(!Ct||e==="sp")&&Yt(e,(...n)=>t(...n),s)},Li=Fe("bm"),Ki=Fe("m"),Vi=Fe("bu"),Ui=Fe("u"),Wi=Fe("bum"),fr=Fe("um"),Bi=Fe("sp"),qi=Fe("rtg"),Gi=Fe("rtc");function Ji(e,t=te){Yt("ec",e,t)}const Yi=Symbol.for("v-ndc"),ms=e=>e?Pr(e)?Bs(e):ms(e.parent):null,_t=Z(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ms(e.parent),$root:e=>ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ar(e),$forceUpdate:e=>e.f||(e.f=()=>{Ls(e.update)}),$nextTick:e=>e.n||(e.n=Ti.bind(e.proxy)),$watch:e=>Ri.bind(e)}),os=(e,t)=>e!==U&&!e.__isScriptSetup&&H(e,t),zi={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:i,accessCache:o,type:c,appContext:f}=e;if(t[0]!=="$"){const C=o[t];if(C!==void 0)switch(C){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return i[t]}else{if(os(n,t))return o[t]=1,n[t];if(r!==U&&H(r,t))return o[t]=2,r[t];if(H(i,t))return o[t]=3,i[t];if(s!==U&&H(s,t))return o[t]=4,s[t];bs&&(o[t]=0)}}const h=_t[t];let a,p;if(h)return t==="$attrs"&&z(e.attrs,"get",""),h(e);if((a=c.__cssModules)&&(a=a[t]))return a;if(s!==U&&H(s,t))return o[t]=4,s[t];if(p=f.config.globalProperties,H(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:i}=e;return os(r,t)?(r[t]=s,!0):n!==U&&H(n,t)?(n[t]=s,!0):H(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:i,type:o}},c){let f;return!!(s[c]||e!==U&&c[0]!=="$"&&H(e,c)||os(t,c)||H(i,c)||H(n,c)||H(_t,c)||H(r.config.globalProperties,c)||(f=o.__cssModules)&&f[c])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:H(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function rn(e){return M(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let bs=!0;function Xi(e){const t=ar(e),s=e.proxy,n=e.ctx;bs=!1,t.beforeCreate&&on(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:c,provide:f,inject:h,created:a,beforeMount:p,mounted:C,beforeUpdate:w,updated:N,activated:P,deactivated:G,beforeDestroy:B,beforeUnmount:F,destroyed:W,unmounted:O,render:J,renderTracked:De,renderTriggered:ae,errorCaptured:He,serverPrefetch:Ot,expose:Ke,inheritAttrs:rt,components:At,directives:Pt,filters:Zt}=t;if(h&&Zi(h,n,null),o)for(const q in o){const L=o[q];I(L)&&(n[q]=L.bind(s))}if(r){const q=r.call(s,s);$(q)&&(e.data=js(q))}if(bs=!0,i)for(const q in i){const L=i[q],Ve=I(L)?L.bind(s,s):I(L.get)?L.get.bind(s,s):Se,Mt=!I(L)&&I(L.set)?L.set.bind(s):Se,Ue=Ir({get:Ve,set:Mt});Object.defineProperty(n,q,{enumerable:!0,configurable:!0,get:()=>Ue.value,set:de=>Ue.value=de})}if(c)for(const q in c)ur(c[q],n,s,q);if(f){const q=I(f)?f.call(s):f;Reflect.ownKeys(q).forEach(L=>{Pi(L,q[L])})}a&&on(a,e,"c");function Q(q,L){M(L)?L.forEach(Ve=>q(Ve.bind(s))):L&&q(L.bind(s))}if(Q(Li,p),Q(Ki,C),Q(Vi,w),Q(Ui,N),Q(ji,P),Q(Ni,G),Q(Ji,He),Q(Gi,De),Q(qi,ae),Q(Wi,F),Q(fr,O),Q(Bi,Ot),M(Ke))if(Ke.length){const q=e.exposed||(e.exposed={});Ke.forEach(L=>{Object.defineProperty(q,L,{get:()=>s[L],set:Ve=>s[L]=Ve,enumerable:!0})})}else e.exposed||(e.exposed={});J&&e.render===Se&&(e.render=J),rt!=null&&(e.inheritAttrs=rt),At&&(e.components=At),Pt&&(e.directives=Pt),Ot&&or(e)}function Zi(e,t,s=Se){M(e)&&(e=xs(e));for(const n in e){const r=e[n];let i;$(r)?"default"in r?i=Ht(r.from||n,r.default,!0):i=Ht(r.from||n):i=Ht(r),X(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[n]=i}}function on(e,t,s){we(M(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function ur(e,t,s,n){let r=n.includes(".")?ir(s,n):()=>s[n];if(Y(e)){const i=t[e];I(i)&&is(r,i)}else if(I(e))is(r,e.bind(s));else if($(e))if(M(e))e.forEach(i=>ur(i,t,s,n));else{const i=I(e.handler)?e.handler.bind(s):t[e.handler];I(i)&&is(r,i,e)}}function ar(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,c=i.get(t);let f;return c?f=c:!r.length&&!s&&!n?f=t:(f={},r.length&&r.forEach(h=>Ut(f,h,o,!0)),Ut(f,t,o)),$(t)&&i.set(t,f),f}function Ut(e,t,s,n=!1){const{mixins:r,extends:i}=t;i&&Ut(e,i,s,!0),r&&r.forEach(o=>Ut(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const c=Qi[o]||s&&s[o];e[o]=c?c(e[o],t[o]):t[o]}return e}const Qi={data:ln,props:cn,emits:cn,methods:ut,computed:ut,beforeCreate:k,created:k,beforeMount:k,mounted:k,beforeUpdate:k,updated:k,beforeDestroy:k,beforeUnmount:k,destroyed:k,unmounted:k,activated:k,deactivated:k,errorCaptured:k,serverPrefetch:k,components:ut,directives:ut,watch:eo,provide:ln,inject:ki};function ln(e,t){return t?e?function(){return Z(I(e)?e.call(this,this):e,I(t)?t.call(this,this):t)}:t:e}function ki(e,t){return ut(xs(e),xs(t))}function xs(e){if(M(e)){const t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ce(t)}Modifiers`]||e[`${Ye(t)}Modifiers`];function ro(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||U;let r=s;const i=t.startsWith("update:"),o=i&&no(n,t.slice(7));o&&(o.trim&&(r=s.map(a=>Y(a)?a.trim():a)),o.number&&(r=s.map(Lr)));let c,f=n[c=kt(t)]||n[c=kt(ce(t))];!f&&i&&(f=n[c=kt(Ye(t))]),f&&we(f,e,6,r);const h=n[c+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,we(h,e,6,r)}}const io=new WeakMap;function hr(e,t,s=!1){const n=s?io:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const i=e.emits;let o={},c=!1;if(!I(e)){const f=h=>{const a=hr(h,t,!0);a&&(c=!0,Z(o,a))};!s&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!i&&!c?($(e)&&n.set(e,null),null):(M(i)?i.forEach(f=>o[f]=null):Z(o,i),$(e)&&n.set(e,o),o)}function zt(e,t){return!e||!Bt(t)?!1:(t=t.slice(2).replace(/Once$/,""),H(e,t[0].toLowerCase()+t.slice(1))||H(e,Ye(t))||H(e,t))}function fn(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[i],slots:o,attrs:c,emit:f,render:h,renderCache:a,props:p,data:C,setupState:w,ctx:N,inheritAttrs:P}=e,G=Kt(e);let B,F;try{if(s.shapeFlag&4){const O=r||n,J=O;B=xe(h.call(J,O,a,p,w,C,N)),F=c}else{const O=t;B=xe(O.length>1?O(p,{attrs:c,slots:o,emit:f}):O(p,null)),F=t.props?c:oo(c)}}catch(O){mt.length=0,Jt(O,e,1),B=Je(st)}let W=B;if(F&&P!==!1){const O=Object.keys(F),{shapeFlag:J}=W;O.length&&J&7&&(i&&O.some(ws)&&(F=lo(F,i)),W=nt(W,F,!1,!0))}return s.dirs&&(W=nt(W,null,!1,!0),W.dirs=W.dirs?W.dirs.concat(s.dirs):s.dirs),s.transition&&Ks(W,s.transition),B=W,Kt(G),B}const oo=e=>{let t;for(const s in e)(s==="class"||s==="style"||Bt(s))&&((t||(t={}))[s]=e[s]);return t},lo=(e,t)=>{const s={};for(const n in e)(!ws(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function co(e,t,s){const{props:n,children:r,component:i}=e,{props:o,children:c,patchFlag:f}=t,h=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&f>=0){if(f&1024)return!0;if(f&16)return n?un(n,o,h):!!o;if(f&8){const a=t.dynamicProps;for(let p=0;pObject.create(gr),mr=e=>Object.getPrototypeOf(e)===gr;function uo(e,t,s,n=!1){const r={},i=_r();e.propsDefaults=Object.create(null),br(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);s?e.props=n?r:hi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function ao(e,t,s,n){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,c=D(r),[f]=e.propsOptions;let h=!1;if((n||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let p=0;p{f=!0;const[C,w]=xr(p,t,!0);Z(o,C),w&&c.push(...w)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!f)return $(e)&&n.set(e,Ze),Ze;if(M(i))for(let a=0;ae==="_"||e==="_ctx"||e==="$stable",Us=e=>M(e)?e.map(xe):[xe(e)],po=(e,t,s)=>{if(t._n)return t;const n=Ai((...r)=>Us(t(...r)),s);return n._c=!1,n},yr=(e,t,s)=>{const n=e._ctx;for(const r in e){if(Vs(r))continue;const i=e[r];if(I(i))t[r]=po(r,i,n);else if(i!=null){const o=Us(i);t[r]=()=>o}}},vr=(e,t)=>{const s=Us(t);e.slots.default=()=>s},Sr=(e,t,s)=>{for(const n in t)(s||!Vs(n))&&(e[n]=t[n])},go=(e,t,s)=>{const n=e.slots=_r();if(e.vnode.shapeFlag&32){const r=t._;r?(Sr(n,t,s),s&&Dn(n,"_",r,!0)):yr(t,n)}else t&&vr(e,t)},_o=(e,t,s)=>{const{vnode:n,slots:r}=e;let i=!0,o=U;if(n.shapeFlag&32){const c=t._;c?s&&c===1?i=!1:Sr(r,t,s):(i=!t.$stable,yr(t,r)),o=t}else t&&(vr(e,t),o={default:1});if(i)for(const c in r)!Vs(c)&&o[c]==null&&delete r[c]},re=vo;function mo(e){return bo(e)}function bo(e,t){const s=Gt();s.__VUE__=!0;const{insert:n,remove:r,patchProp:i,createElement:o,createText:c,createComment:f,setText:h,setElementText:a,parentNode:p,nextSibling:C,setScopeId:w=Se,insertStaticContent:N}=e,P=(l,u,d,b=null,g=null,_=null,v=void 0,y=null,x=!!u.dynamicChildren)=>{if(l===u)return;l&&!ft(l,u)&&(b=It(l),de(l,g,_,!0),l=null),u.patchFlag===-2&&(x=!1,u.dynamicChildren=null);const{type:m,ref:E,shapeFlag:S}=u;switch(m){case Xt:G(l,u,d,b);break;case st:B(l,u,d,b);break;case cs:l==null&&F(u,d,b,v);break;case Oe:At(l,u,d,b,g,_,v,y,x);break;default:S&1?J(l,u,d,b,g,_,v,y,x):S&6?Pt(l,u,d,b,g,_,v,y,x):(S&64||S&128)&&m.process(l,u,d,b,g,_,v,y,x,ot)}E!=null&&g?pt(E,l&&l.ref,_,u||l,!u):E==null&&l&&l.ref!=null&&pt(l.ref,null,_,l,!0)},G=(l,u,d,b)=>{if(l==null)n(u.el=c(u.children),d,b);else{const g=u.el=l.el;u.children!==l.children&&h(g,u.children)}},B=(l,u,d,b)=>{l==null?n(u.el=f(u.children||""),d,b):u.el=l.el},F=(l,u,d,b)=>{[l.el,l.anchor]=N(l.children,u,d,b,l.el,l.anchor)},W=({el:l,anchor:u},d,b)=>{let g;for(;l&&l!==u;)g=C(l),n(l,d,b),l=g;n(u,d,b)},O=({el:l,anchor:u})=>{let d;for(;l&&l!==u;)d=C(l),r(l),l=d;r(u)},J=(l,u,d,b,g,_,v,y,x)=>{if(u.type==="svg"?v="svg":u.type==="math"&&(v="mathml"),l==null)De(u,d,b,g,_,v,y,x);else{const m=l.el&&l.el._isVueCE?l.el:null;try{m&&m._beginPatch(),Ot(l,u,g,_,v,y,x)}finally{m&&m._endPatch()}}},De=(l,u,d,b,g,_,v,y)=>{let x,m;const{props:E,shapeFlag:S,transition:T,dirs:A}=l;if(x=l.el=o(l.type,_,E&&E.is,E),S&8?a(x,l.children):S&16&&He(l.children,x,null,b,g,ls(l,_),v,y),A&&We(l,null,b,"created"),ae(x,l,l.scopeId,v,b),E){for(const K in E)K!=="value"&&!at(K)&&i(x,K,null,E[K],_,b);"value"in E&&i(x,"value",null,E.value,_),(m=E.onVnodeBeforeMount)&&_e(m,b,l)}A&&We(l,null,b,"beforeMount");const R=xo(g,T);R&&T.beforeEnter(x),n(x,u,d),((m=E&&E.onVnodeMounted)||R||A)&&re(()=>{m&&_e(m,b,l),R&&T.enter(x),A&&We(l,null,b,"mounted")},g)},ae=(l,u,d,b,g)=>{if(d&&w(l,d),b)for(let _=0;_{for(let m=x;m{const y=u.el=l.el;let{patchFlag:x,dynamicChildren:m,dirs:E}=u;x|=l.patchFlag&16;const S=l.props||U,T=u.props||U;let A;if(d&&Be(d,!1),(A=T.onVnodeBeforeUpdate)&&_e(A,d,u,l),E&&We(u,l,d,"beforeUpdate"),d&&Be(d,!0),(S.innerHTML&&T.innerHTML==null||S.textContent&&T.textContent==null)&&a(y,""),m?Ke(l.dynamicChildren,m,y,d,b,ls(u,g),_):v||L(l,u,y,null,d,b,ls(u,g),_,!1),x>0){if(x&16)rt(y,S,T,d,g);else if(x&2&&S.class!==T.class&&i(y,"class",null,T.class,g),x&4&&i(y,"style",S.style,T.style,g),x&8){const R=u.dynamicProps;for(let K=0;K{A&&_e(A,d,u,l),E&&We(u,l,d,"updated")},b)},Ke=(l,u,d,b,g,_,v)=>{for(let y=0;y{if(u!==d){if(u!==U)for(const _ in u)!at(_)&&!(_ in d)&&i(l,_,u[_],null,g,b);for(const _ in d){if(at(_))continue;const v=d[_],y=u[_];v!==y&&_!=="value"&&i(l,_,y,v,g,b)}"value"in d&&i(l,"value",u.value,d.value,g)}},At=(l,u,d,b,g,_,v,y,x)=>{const m=u.el=l?l.el:c(""),E=u.anchor=l?l.anchor:c("");let{patchFlag:S,dynamicChildren:T,slotScopeIds:A}=u;A&&(y=y?y.concat(A):A),l==null?(n(m,d,b),n(E,d,b),He(u.children||[],d,E,g,_,v,y,x)):S>0&&S&64&&T&&l.dynamicChildren&&l.dynamicChildren.length===T.length?(Ke(l.dynamicChildren,T,d,g,_,v,y),(u.key!=null||g&&u===g.subTree)&&Cr(l,u,!0)):L(l,u,d,E,g,_,v,y,x)},Pt=(l,u,d,b,g,_,v,y,x)=>{u.slotScopeIds=y,l==null?u.shapeFlag&512?g.ctx.activate(u,d,b,v,x):Zt(u,d,b,g,_,v,x):qs(l,u,x)},Zt=(l,u,d,b,g,_,v)=>{const y=l.component=Ro(l,b,g);if(lr(l)&&(y.ctx.renderer=ot),Do(y,!1,v),y.asyncDep){if(g&&g.registerDep(y,Q,v),!l.el){const x=y.subTree=Je(st);B(null,x,u,d),l.placeholder=x.el}}else Q(y,l,u,d,g,_,v)},qs=(l,u,d)=>{const b=u.component=l.component;if(co(l,u,d))if(b.asyncDep&&!b.asyncResolved){q(b,u,d);return}else b.next=u,b.update();else u.el=l.el,b.vnode=u},Q=(l,u,d,b,g,_,v)=>{const y=()=>{if(l.isMounted){let{next:S,bu:T,u:A,parent:R,vnode:K}=l;{const pe=wr(l);if(pe){S&&(S.el=K.el,q(l,S,v)),pe.asyncDep.then(()=>{re(()=>{l.isUnmounted||m()},g)});return}}let j=S,se;Be(l,!1),S?(S.el=K.el,q(l,S,v)):S=K,T&&es(T),(se=S.props&&S.props.onVnodeBeforeUpdate)&&_e(se,R,S,K),Be(l,!0);const ne=fn(l),he=l.subTree;l.subTree=ne,P(he,ne,p(he.el),It(he),l,g,_),S.el=ne.el,j===null&&fo(l,ne.el),A&&re(A,g),(se=S.props&&S.props.onVnodeUpdated)&&re(()=>_e(se,R,S,K),g)}else{let S;const{el:T,props:A}=u,{bm:R,m:K,parent:j,root:se,type:ne}=l,he=gt(u);Be(l,!1),R&&es(R),!he&&(S=A&&A.onVnodeBeforeMount)&&_e(S,j,u),Be(l,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ne,l.parent?l.parent.type:void 0);const pe=l.subTree=fn(l);P(null,pe,d,b,l,g,_),u.el=pe.el}if(K&&re(K,g),!he&&(S=A&&A.onVnodeMounted)){const pe=u;re(()=>_e(S,j,pe),g)}(u.shapeFlag&256||j&>(j.vnode)&&j.vnode.shapeFlag&256)&&l.a&&re(l.a,g),l.isMounted=!0,u=d=b=null}};l.scope.on();const x=l.effect=new $n(y);l.scope.off();const m=l.update=x.run.bind(x),E=l.job=x.runIfDirty.bind(x);E.i=l,E.id=l.uid,x.scheduler=()=>Ls(E),Be(l,!0),m()},q=(l,u,d)=>{u.component=l;const b=l.vnode.props;l.vnode=u,l.next=null,ao(l,u.props,b,d),_o(l,u.children,d),Me(),tn(l),Ie()},L=(l,u,d,b,g,_,v,y,x=!1)=>{const m=l&&l.children,E=l?l.shapeFlag:0,S=u.children,{patchFlag:T,shapeFlag:A}=u;if(T>0){if(T&128){Mt(m,S,d,b,g,_,v,y,x);return}else if(T&256){Ve(m,S,d,b,g,_,v,y,x);return}}A&8?(E&16&&it(m,g,_),S!==m&&a(d,S)):E&16?A&16?Mt(m,S,d,b,g,_,v,y,x):it(m,g,_,!0):(E&8&&a(d,""),A&16&&He(S,d,b,g,_,v,y,x))},Ve=(l,u,d,b,g,_,v,y,x)=>{l=l||Ze,u=u||Ze;const m=l.length,E=u.length,S=Math.min(m,E);let T;for(T=0;TE?it(l,g,_,!0,!1,S):He(u,d,b,g,_,v,y,x,S)},Mt=(l,u,d,b,g,_,v,y,x)=>{let m=0;const E=u.length;let S=l.length-1,T=E-1;for(;m<=S&&m<=T;){const A=l[m],R=u[m]=x?Ae(u[m]):xe(u[m]);if(ft(A,R))P(A,R,d,null,g,_,v,y,x);else break;m++}for(;m<=S&&m<=T;){const A=l[S],R=u[T]=x?Ae(u[T]):xe(u[T]);if(ft(A,R))P(A,R,d,null,g,_,v,y,x);else break;S--,T--}if(m>S){if(m<=T){const A=T+1,R=AT)for(;m<=S;)de(l[m],g,_,!0),m++;else{const A=m,R=m,K=new Map;for(m=R;m<=T;m++){const oe=u[m]=x?Ae(u[m]):xe(u[m]);oe.key!=null&&K.set(oe.key,m)}let j,se=0;const ne=T-R+1;let he=!1,pe=0;const lt=new Array(ne);for(m=0;m=ne){de(oe,g,_,!0);continue}let ge;if(oe.key!=null)ge=K.get(oe.key);else for(j=R;j<=T;j++)if(lt[j-R]===0&&ft(oe,u[j])){ge=j;break}ge===void 0?de(oe,g,_,!0):(lt[ge-R]=m+1,ge>=pe?pe=ge:he=!0,P(oe,u[ge],d,null,g,_,v,y,x),se++)}const Ys=he?yo(lt):Ze;for(j=Ys.length-1,m=ne-1;m>=0;m--){const oe=R+m,ge=u[oe],zs=u[oe+1],Xs=oe+1{const{el:_,type:v,transition:y,children:x,shapeFlag:m}=l;if(m&6){Ue(l.component.subTree,u,d,b);return}if(m&128){l.suspense.move(u,d,b);return}if(m&64){v.move(l,u,d,ot);return}if(v===Oe){n(_,u,d);for(let S=0;Sy.enter(_),g);else{const{leave:S,delayLeave:T,afterLeave:A}=y,R=()=>{l.ctx.isUnmounted?r(_):n(_,u,d)},K=()=>{_._isLeaving&&_[Hi](!0),S(_,()=>{R(),A&&A()})};T?T(_,R,K):K()}else n(_,u,d)},de=(l,u,d,b=!1,g=!1)=>{const{type:_,props:v,ref:y,children:x,dynamicChildren:m,shapeFlag:E,patchFlag:S,dirs:T,cacheIndex:A}=l;if(S===-2&&(g=!1),y!=null&&(Me(),pt(y,null,d,l,!0),Ie()),A!=null&&(u.renderCache[A]=void 0),E&256){u.ctx.deactivate(l);return}const R=E&1&&T,K=!gt(l);let j;if(K&&(j=v&&v.onVnodeBeforeUnmount)&&_e(j,u,l),E&6)Dr(l.component,d,b);else{if(E&128){l.suspense.unmount(d,b);return}R&&We(l,null,u,"beforeUnmount"),E&64?l.type.remove(l,u,d,ot,b):m&&!m.hasOnce&&(_!==Oe||S>0&&S&64)?it(m,u,d,!1,!0):(_===Oe&&S&384||!g&&E&16)&&it(x,u,d),b&&Gs(l)}(K&&(j=v&&v.onVnodeUnmounted)||R)&&re(()=>{j&&_e(j,u,l),R&&We(l,null,u,"unmounted")},d)},Gs=l=>{const{type:u,el:d,anchor:b,transition:g}=l;if(u===Oe){Fr(d,b);return}if(u===cs){O(l);return}const _=()=>{r(d),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(l.shapeFlag&1&&g&&!g.persisted){const{leave:v,delayLeave:y}=g,x=()=>v(d,_);y?y(l.el,_,x):x()}else _()},Fr=(l,u)=>{let d;for(;l!==u;)d=C(l),r(l),l=d;r(u)},Dr=(l,u,d)=>{const{bum:b,scope:g,job:_,subTree:v,um:y,m:x,a:m}=l;dn(x),dn(m),b&&es(b),g.stop(),_&&(_.flags|=8,de(v,l,u,d)),y&&re(y,u),re(()=>{l.isUnmounted=!0},u)},it=(l,u,d,b=!1,g=!1,_=0)=>{for(let v=_;v{if(l.shapeFlag&6)return It(l.component.subTree);if(l.shapeFlag&128)return l.suspense.next();const u=C(l.anchor||l.el),d=u&&u[Fi];return d?C(d):u};let Qt=!1;const Js=(l,u,d)=>{let b;l==null?u._vnode&&(de(u._vnode,null,null,!0),b=u._vnode.component):P(u._vnode||null,l,u,null,null,null,d),u._vnode=l,Qt||(Qt=!0,tn(b),tr(),Qt=!1)},ot={p:P,um:de,m:Ue,r:Gs,mt:Zt,mc:He,pc:L,pbc:Ke,n:It,o:e};return{render:Js,hydrate:void 0,createApp:so(Js)}}function ls({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Be({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function xo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Cr(e,t,s=!1){const n=e.children,r=t.children;if(M(n)&&M(r))for(let i=0;i>1,e[s[c]]0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,o=s[i-1];i-- >0;)s[i]=o,o=t[o];return s}function wr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:wr(t)}function dn(e){if(e)for(let t=0;te.__isSuspense;function vo(e,t){t&&t.pendingBranch?M(e)?t.effects.push(...e):t.effects.push(e):Oi(e)}const Oe=Symbol.for("v-fgt"),Xt=Symbol.for("v-txt"),st=Symbol.for("v-cmt"),cs=Symbol.for("v-stc"),mt=[];let le=null;function So(e=!1){mt.push(le=e?null:[])}function Co(){mt.pop(),le=mt[mt.length-1]||null}let St=1;function hn(e,t=!1){St+=e,e<0&&le&&t&&(le.hasOnce=!0)}function wo(e){return e.dynamicChildren=St>0?le||Ze:null,Co(),St>0&&le&&le.push(e),e}function To(e,t,s,n,r,i){return wo(Ne(e,t,s,n,r,i,!0))}function Or(e){return e?e.__v_isVNode===!0:!1}function ft(e,t){return e.type===t.type&&e.key===t.key}const Ar=({key:e})=>e??null,jt=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Y(e)||X(e)||I(e)?{i:ve,r:e,k:t,f:!!s}:e:null);function Ne(e,t=null,s=null,n=0,r=null,i=e===Oe?0:1,o=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ar(t),ref:t&&jt(t),scopeId:nr,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ve};return c?(Ws(f,s),i&128&&e.normalize(f)):s&&(f.shapeFlag|=Y(s)?8:16),St>0&&!o&&le&&(f.patchFlag>0||i&6)&&f.patchFlag!==32&&le.push(f),f}const Je=Eo;function Eo(e,t=null,s=null,n=0,r=null,i=!1){if((!e||e===Yi)&&(e=st),Or(e)){const c=nt(e,t,!0);return s&&Ws(c,s),St>0&&!i&&le&&(c.shapeFlag&6?le[le.indexOf(e)]=c:le.push(c)),c.patchFlag=-2,c}if($o(e)&&(e=e.__vccOpts),t){t=Oo(t);let{class:c,style:f}=t;c&&!Y(c)&&(t.class=As(c)),$(f)&&($s(f)&&!M(f)&&(f=Z({},f)),t.style=Os(f))}const o=Y(e)?1:Er(e)?128:Di(e)?64:$(e)?4:I(e)?2:0;return Ne(e,t,s,n,r,o,i,!0)}function Oo(e){return e?$s(e)||mr(e)?Z({},e):e:null}function nt(e,t,s=!1,n=!1){const{props:r,ref:i,patchFlag:o,children:c,transition:f}=e,h=t?Po(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:h,key:h&&Ar(h),ref:t&&t.ref?s&&i?M(i)?i.concat(jt(t)):[i,jt(t)]:jt(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Oe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nt(e.ssContent),ssFallback:e.ssFallback&&nt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&n&&Ks(a,f.clone(a)),a}function Ao(e=" ",t=0){return Je(Xt,null,e,t)}function xe(e){return e==null||typeof e=="boolean"?Je(st):M(e)?Je(Oe,null,e.slice()):Or(e)?Ae(e):Je(Xt,null,String(e))}function Ae(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:nt(e)}function Ws(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(M(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Ws(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!mr(t)?t._ctx=ve:r===3&&ve&&(ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else I(t)?(t={default:t,_ctx:ve},s=32):(t=String(t),n&64?(s=16,t=[Ao(t)]):s=8);e.children=t,e.shapeFlag|=s}function Po(...e){const t={};for(let s=0;ste||ve;let Wt,vs;{const e=Gt(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Wt=t("__VUE_INSTANCE_SETTERS__",s=>te=s),vs=t("__VUE_SSR_SETTERS__",s=>Ct=s)}const Et=e=>{const t=te;return Wt(e),e.scope.on(),()=>{e.scope.off(),Wt(t)}},pn=()=>{te&&te.scope.off(),Wt(null)};function Pr(e){return e.vnode.shapeFlag&4}let Ct=!1;function Do(e,t=!1,s=!1){t&&vs(t);const{props:n,children:r}=e.vnode,i=Pr(e);uo(e,n,i,t),go(e,r,s||t);const o=i?Ho(e,t):void 0;return t&&vs(!1),o}function Ho(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,zi);const{setup:n}=s;if(n){Me();const r=e.setupContext=n.length>1?No(e):null,i=Et(e),o=Tt(n,e,0,[e.props,r]),c=Mn(o);if(Ie(),i(),(c||e.sp)&&!gt(e)&&or(e),c){if(o.then(pn,pn),t)return o.then(f=>{gn(e,f)}).catch(f=>{Jt(f,e,0)});e.asyncDep=o}else gn(e,o)}else Mr(e)}function gn(e,t,s){I(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$(t)&&(e.setupState=Qn(t)),Mr(e)}function Mr(e,t,s){const n=e.type;e.render||(e.render=n.render||Se);{const r=Et(e);Me();try{Xi(e)}finally{Ie(),r()}}}const jo={get(e,t){return z(e,"get",""),e[t]}};function No(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,jo),slots:e.slots,emit:e.emit,expose:t}}function Bs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qn(pi(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in _t)return _t[s](e)},has(t,s){return s in t||s in _t}})):e.proxy}function $o(e){return I(e)&&"__vccOpts"in e}const Ir=(e,t)=>vi(e,t,Ct),Lo="3.5.30";/** +* @vue/runtime-dom v3.5.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ss;const _n=typeof window<"u"&&window.trustedTypes;if(_n)try{Ss=_n.createPolicy("vue",{createHTML:e=>e})}catch{}const Rr=Ss?e=>Ss.createHTML(e):e=>e,Ko="http://www.w3.org/2000/svg",Vo="http://www.w3.org/1998/Math/MathML",Ee=typeof document<"u"?document:null,mn=Ee&&Ee.createElement("template"),Uo={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?Ee.createElementNS(Ko,e):t==="mathml"?Ee.createElementNS(Vo,e):s?Ee.createElement(e,{is:s}):Ee.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>Ee.createTextNode(e),createComment:e=>Ee.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ee.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,i){const o=s?s.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===i||!(r=r.nextSibling)););else{mn.innerHTML=Rr(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const c=mn.content;if(n==="svg"||n==="mathml"){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Wo=Symbol("_vtc");function Bo(e,t,s){const n=e[Wo];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const bn=Symbol("_vod"),qo=Symbol("_vsh"),Go=Symbol(""),Jo=/(?:^|;)\s*display\s*:/;function Yo(e,t,s){const n=e.style,r=Y(s);let i=!1;if(s&&!r){if(t)if(Y(t))for(const o of t.split(";")){const c=o.slice(0,o.indexOf(":")).trim();s[c]==null&&Nt(n,c,"")}else for(const o in t)s[o]==null&&Nt(n,o,"");for(const o in s)o==="display"&&(i=!0),Nt(n,o,s[o])}else if(r){if(t!==s){const o=n[Go];o&&(s+=";"+o),n.cssText=s,i=Jo.test(s)}}else t&&e.removeAttribute("style");bn in e&&(e[bn]=i?n.display:"",e[qo]&&(n.display="none"))}const xn=/\s*!important$/;function Nt(e,t,s){if(M(s))s.forEach(n=>Nt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=zo(e,t);xn.test(s)?e.setProperty(Ye(n),s.replace(xn,""),"important"):e[n]=s}}const yn=["Webkit","Moz","ms"],fs={};function zo(e,t){const s=fs[t];if(s)return s;let n=ce(t);if(n!=="filter"&&n in e)return fs[t]=n;n=Fn(n);for(let r=0;rus||(el.then(()=>us=0),us=Date.now());function sl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;we(nl(n,s.value),t,5,[n])};return s.value=e,s.attached=tl(),s}function nl(e,t){if(M(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const En=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,rl=(e,t,s,n,r,i)=>{const o=r==="svg";t==="class"?Bo(e,n,o):t==="style"?Yo(e,s,n):Bt(t)?ws(t)||Qo(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):il(e,t,n,o))?(Cn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Sn(e,t,n,o,i,t!=="value")):e._isVueCE&&(ol(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Y(n)))?Cn(e,ce(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Sn(e,t,n,o))};function il(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&En(t)&&I(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return En(t)&&Y(s)?!1:t in e}function ol(e,t){const s=e._def.props;if(!s)return!1;const n=ce(t);return Array.isArray(s)?s.some(r=>ce(r)===n):Object.keys(s).some(r=>ce(r)===n)}const ll=Z({patchProp:rl},Uo);let On;function cl(){return On||(On=mo(ll))}const fl=(...e)=>{const t=cl().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=al(n);if(!r)return;const i=t._component;!I(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=s(r,!1,ul(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function ul(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function al(e){return Y(e)?document.querySelector(e):e}const dl={"data-component":"counter-vue",class:"rounded-xl border border-base-300 bg-base-100 p-4 space-y-3"},hl={class:"text-lg font-semibold"},pl={"data-slot":"count",class:"text-3xl font-bold leading-none"},gl={__name:"Counter",props:{initialCount:{type:Number,default:0},label:{type:String,default:""}},setup(e){const t=e,s=gi(Number.isFinite(t.initialCount)?t.initialCount:0),n=Ir(()=>t.label||"Vue Counter"),r=()=>{s.value-=1},i=()=>{s.value+=1};return(o,c)=>(So(),To("section",dl,[Ne("h3",hl,as(n.value),1),Ne("p",pl,as(s.value),1),c[0]||(c[0]=Ne("p",{class:"mt-2 text-xs font-medium uppercase tracking-wide opacity-70"},"Vue",-1)),Ne("div",{class:"flex gap-2"},[Ne("button",{type:"button",class:"btn btn-sm",onClick:r},"-1"),Ne("button",{type:"button",class:"btn btn-sm",onClick:i},"+1")])]))}};function _l(e={}){const t=Number(e.initialCount);return{initialCount:Number.isFinite(t)?t:0,label:typeof e.label=="string"?e.label:"Vue Counter"}}function bl(e,t={}){fl(gl,_l(t)).mount(e)}export{bl as mount}; +//# sourceMappingURL=VueCounter-CapVNorh.js.map diff --git a/app/static/islands/VueCounter-CapVNorh.js.map b/app/static/islands/VueCounter-CapVNorh.js.map new file mode 100644 index 00000000..b5f3aa93 --- /dev/null +++ b/app/static/islands/VueCounter-CapVNorh.js.map @@ -0,0 +1 @@ +{"version":3,"file":"VueCounter-CapVNorh.js","sources":["../../../frontend/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../../frontend/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../../frontend/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../../frontend/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../../frontend/javascript/vue/components/Counter.vue","../../../frontend/islands/VueCounter.js"],"sourcesContent":["/**\n* @vue/shared v3.5.30\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return ((str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n });\n};\nconst camelizeRE = /-\\w/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase());\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `CACHED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nfunction normalizeCssVarValue(value) {\n if (value == null) {\n return \"initial\";\n }\n if (typeof value === \"string\") {\n return value === \"\" ? \" \" : value;\n }\n if (typeof value !== \"number\" || !Number.isFinite(value)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(\n \"[Vue warn] Invalid value used for CSS binding. Expected a string or a finite number but received:\",\n value\n );\n }\n }\n return String(value);\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeCssVarValue, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.5.30\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { extend, hasChanged, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, capitalize, toRawType, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, remove, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n // TODO isolatedDeclarations \"__v_skip\"\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal track `on` calls, allow `on` call multiple times\n */\n this._on = 0;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.__v_skip = true;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n if (++this._on === 1) {\n this.prevScope = activeEffectScope;\n activeEffectScope = this;\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n if (this._on > 0 && --this._on === 0) {\n activeEffectScope = this.prevScope;\n this.prevScope = void 0;\n }\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\",\n \"EVALUATED\": 128,\n \"128\": \"EVALUATED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= -65;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= -3;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= -2;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= -17;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {\n return;\n }\n computed.flags |= 2;\n const dep = computed.dep;\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed.flags |= 128;\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= -3;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= -5;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n // TODO isolatedDeclarations \"__v_skip\"\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n /**\n * @internal\n */\n this.__v_skip = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = /* @__PURE__ */ Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nfunction toWrapped(target, item) {\n if (isReadonly(target)) {\n return isReactive(target) ? toReadonly(toReactive(item)) : toReadonly(item);\n }\n return toReactive(item);\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, (item) => toWrapped(this, item));\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toWrapped(this, value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(\n this,\n \"filter\",\n fn,\n thisArg,\n (v) => v.map((item) => toWrapped(this, item)),\n arguments\n );\n },\n find(fn, thisArg) {\n return apply(\n this,\n \"find\",\n fn,\n thisArg,\n (item) => toWrapped(this, item),\n arguments\n );\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(\n this,\n \"findLast\",\n fn,\n thisArg,\n (item) => toWrapped(this, item),\n arguments\n );\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimization required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", (item) => toWrapped(this, item));\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (!result.done) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toWrapped(self, item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n let wrappedFn = fn;\n let wrapInitialAccumulator = false;\n if (arr !== self) {\n if (needsWrap) {\n wrapInitialAccumulator = args.length === 0;\n wrappedFn = function(acc, item, index) {\n if (wrapInitialAccumulator) {\n wrapInitialAccumulator = false;\n acc = toWrapped(self, acc);\n }\n return fn.call(this, acc, toWrapped(self, item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n const result = arr[method](wrappedFn, ...args);\n return wrapInitialAccumulator ? toWrapped(self, result) : result;\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n const value = targetIsArray && isIntegerKey(key) ? res : res.value;\n return isReadonly2 && isObject(value) ? readonly(value) : value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n const isArrayWithIntegerKey = isArray(target) && isIntegerKey(key);\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArrayWithIntegerKey && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target[key]\n );\n }\n return true;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArrayWithIntegerKey ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return extend(\n // inheriting all iterator properties\n Object.create(innerIterator),\n {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n }\n }\n );\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return target.size;\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n const target = toRaw(this);\n const proto = getProto(target);\n const rawValue = toRaw(value);\n const valueToAdd = !shallow && !isShallow(value) && !isReadonly(value) ? rawValue : value;\n const hadKey = proto.has.call(target, valueToAdd) || hasChanged(value, valueToAdd) && proto.has.call(target, value) || hasChanged(rawValue, valueToAdd) && proto.has.call(target, rawValue);\n if (!hadKey) {\n target.add(valueToAdd);\n trigger(target, \"add\", valueToAdd, valueToAdd);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\n// @__NO_SIDE_EFFECTS__\nfunction reactive(target) {\n if (/* @__PURE__ */ isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\n// @__NO_SIDE_EFFECTS__\nfunction isReactive(value) {\n if (/* @__PURE__ */ isReadonly(value)) {\n return /* @__PURE__ */ isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\n// @__NO_SIDE_EFFECTS__\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? /* @__PURE__ */ toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? /* @__PURE__ */ reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? /* @__PURE__ */ readonly(value) : value;\n\n// @__NO_SIDE_EFFECTS__\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\n// @__NO_SIDE_EFFECTS__\nfunction ref(value) {\n return createRef(value, false);\n}\n// @__NO_SIDE_EFFECTS__\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (/* @__PURE__ */ isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return /* @__PURE__ */ isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (/* @__PURE__ */ isRef(oldValue) && !/* @__PURE__ */ isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n this._raw = toRaw(_object);\n let shallow = true;\n let obj = _object;\n if (!isArray(_object) || !isIntegerKey(String(_key))) {\n do {\n shallow = !isProxy(obj) || isShallow(obj);\n } while (shallow && (obj = obj[\"__v_raw\"]));\n }\n this._shallow = shallow;\n }\n get value() {\n let val = this._object[this._key];\n if (this._shallow) {\n val = unref(val);\n }\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n if (this._shallow && /* @__PURE__ */ isRef(this._raw[this._key])) {\n const nestedRef = this._object[this._key];\n if (/* @__PURE__ */ isRef(nestedRef)) {\n nestedRef.value = newVal;\n return;\n }\n }\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(this._raw, this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction toRef(source, key, defaultValue) {\n if (/* @__PURE__ */ isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return /* @__PURE__ */ ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n return new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\n// @__NO_SIDE_EFFECTS__\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n oldValue = newValue;\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Map();\n if ((seen.get(value) || 0) >= depth) {\n return value;\n }\n seen.set(value, depth);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.30\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, watch as watch$1, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, customRef, shallowReactive, trigger, ReactiveEffect, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, NO, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, normalizeCssVarValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, hyphenate, hasChanged, looseToNumber, isModelListener, looseEqual, EMPTY_ARR, toRawType, makeMap, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= -2;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= -2;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= -2;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n if (!(instance.job.flags & 8)) {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n }\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nfunction provide(key, value) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!currentInstance || currentInstance.isMounted) {\n warn$1(`provide() can only be used inside setup().`);\n }\n }\n if (currentInstance) {\n let provides = currentInstance.provides;\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n const instance = getCurrentInstance();\n if (instance || currentApp) {\n let provides = currentApp ? currentApp._context.provides : instance ? instance.parent == null || instance.ce ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : void 0;\n if (provides && key in provides) {\n return provides[key];\n } else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`injection \"${String(key)}\" not found.`);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`inject() can only be used inside setup() or functional components.`);\n }\n}\nfunction hasInjectionContext() {\n return !!(getCurrentInstance() || currentApp);\n}\n\nconst ssrContextKey = /* @__PURE__ */ Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, flush, once } = options;\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const baseWatchOptions = extend({}, options);\n if (!!(process.env.NODE_ENV !== \"production\")) baseWatchOptions.onWarn = warn$1;\n const runsImmediately = cb && immediate || !cb && flush !== \"post\";\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else if (!runsImmediately) {\n const watchStopHandle = () => {\n };\n watchStopHandle.stop = NOOP;\n watchStopHandle.resume = NOOP;\n watchStopHandle.pause = NOOP;\n return watchStopHandle;\n }\n }\n const instance = currentInstance;\n baseWatchOptions.call = (fn, type, args) => callWithAsyncErrorHandling(fn, instance, type, args);\n let isPre = false;\n if (flush === \"post\") {\n baseWatchOptions.scheduler = (job) => {\n queuePostRenderEffect(job, instance && instance.suspense);\n };\n } else if (flush !== \"sync\") {\n isPre = true;\n baseWatchOptions.scheduler = (job, isFirstRun) => {\n if (isFirstRun) {\n job();\n } else {\n queueJob(job);\n }\n };\n }\n baseWatchOptions.augmentJob = (job) => {\n if (cb) {\n job.flags |= 4;\n }\n if (isPre) {\n job.flags |= 2;\n if (instance) {\n job.id = instance.uid;\n job.i = instance;\n }\n }\n };\n const watchHandle = watch$1(source, cb, baseWatchOptions);\n if (isInSSRComponentSetup) {\n if (ssrCleanup) {\n ssrCleanup.push(watchHandle);\n } else if (runsImmediately) {\n watchHandle();\n }\n }\n return watchHandle;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\n\nconst TeleportEndKey = /* @__PURE__ */ Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (parentComponent && parentComponent.isCE) {\n (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n n2.el.__isMounted = false;\n queuePostRenderEffect(() => {\n mountToTarget();\n delete n2.el.__isMounted;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, !!!(process.env.NODE_ENV !== \"production\"));\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n function hydrateAnchor(target2, targetNode) {\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target2._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n }\n function hydrateDisabledTeleport(node2, vnode2) {\n vnode2.anchor = hydrateChildren(\n nextSibling(node2),\n vnode2,\n parentNode(node2),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n const disabled = isTeleportDisabled(vnode.props);\n if (target) {\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n hydrateDisabledTeleport(node, vnode);\n hydrateAnchor(target, targetNode);\n if (!vnode.targetAnchor) {\n prepareAnchor(\n target,\n vnode,\n createText,\n insert,\n // if target is the same as the main view, insert anchors before current node\n // to avoid hydrating mismatch\n parentNode(node) === target ? node : null\n );\n }\n } else {\n vnode.anchor = nextSibling(node);\n hydrateAnchor(target, targetNode);\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n } else if (disabled) {\n if (vnode.shapeFlag & 16) {\n hydrateDisabledTeleport(node, vnode);\n vnode.targetStart = node;\n vnode.targetAnchor = nextSibling(node);\n }\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert, anchor = null) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target, anchor);\n insert(targetAnchor, target, anchor);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = /* @__PURE__ */ Symbol(\"_leaveCb\");\nconst enterCbKey = /* @__PURE__ */ Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n if (leavingVNodesCache[key] === vnode) return;\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n const done = el[enterCbKey].bind(null, false);\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n const done = el[leaveCbKey].bind(null, false);\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n if (!!(process.env.NODE_ENV !== \"production\") && isTemplateRefKey(refs, key)) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\nfunction isTemplateRefKey(refs, key) {\n let desc;\n return !!((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable);\n}\n\nconst pendingSetRefMap = /* @__PURE__ */ new WeakMap();\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n if (isTemplateRefKey(refs, key)) {\n return false;\n }\n return hasOwn(rawSetupState, key);\n };\n const canSetRef = (ref2, key) => {\n if (!!(process.env.NODE_ENV !== \"production\") && knownTemplateRefs.has(ref2)) {\n return false;\n }\n if (key && isTemplateRefKey(refs, key)) {\n return false;\n }\n return true;\n };\n if (oldRef != null && oldRef !== ref) {\n invalidatePendingSetRef(oldRawRef);\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n const oldRawRefAtom = oldRawRef;\n if (canSetRef(oldRef, oldRawRefAtom.k)) {\n oldRef.value = null;\n }\n if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n const newVal = [refValue];\n if (canSetRef(ref, rawRef.k)) {\n ref.value = newVal;\n }\n if (rawRef.k) refs[rawRef.k] = newVal;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n if (canSetRef(ref, rawRef.k)) {\n ref.value = value;\n }\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n const job = () => {\n doSet();\n pendingSetRefMap.delete(rawRef);\n };\n job.id = -1;\n pendingSetRefMap.set(rawRef, job);\n queuePostRenderEffect(job, parentSuspense);\n } else {\n invalidatePendingSetRef(rawRef);\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\nfunction invalidatePendingSetRef(rawRef) {\n const pendingSetRef = pendingSetRefMap.get(rawRef);\n if (pendingSetRef) {\n pendingSetRef.flags |= 8;\n pendingSetRefMap.delete(rawRef);\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n const cls = content.getAttribute(\"class\");\n if (cls) content.$cls = cls;\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n const { textContent } = el;\n if (textContent !== clientText && // innerHTML normalize \\r\\n or \\r into a single \\n in the DOM\n textContent !== clientText.replace(/\\r\\n|\\r/g, \"\\n\")) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${textContent}\n - expected on client: ${clientText}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement && !isReservedProp(key)) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n if (el.$cls) {\n actual = el.$cls;\n delete el.$cls;\n } else {\n actual = el.getAttribute(\"class\");\n }\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n const value = normalizeCssVarValue(cssVars[key]);\n expectedMap.set(`--${getEscapedCssVarName(key, false)}`, value);\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return list.includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n let patched = false;\n (instance.bu || (instance.bu = [])).push(() => patched = true);\n const performHydrate = () => {\n if (patched) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`\n );\n }\n return;\n }\n hydrate();\n };\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n performHydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : performHydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createInnerComp(\n loadingComponent,\n instance\n );\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n instance2.__keepAliveStorageContainer = storageContainer;\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : vnode.type\n );\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= -257;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= -257;\n vnode.shapeFlag &= -513;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n let isReadonlySource = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n isReadonlySource = isReadonly(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && (!Number.isInteger(source) || source < 0)) {\n warn$1(\n `The v-for range expects a positive integer value but got ${source}.`\n );\n ret = [];\n } else {\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n const hasProps = Object.keys(props).length > 0;\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n hasProps ? -2 : 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (hasOwn(props, key)) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n","import { createApp } from \"vue\";\nimport Counter from \"../javascript/vue/components/Counter.vue\";\n\nfunction normalizeProps(props = {}) {\n const initialCount = Number(props.initialCount);\n return {\n initialCount: Number.isFinite(initialCount) ? initialCount : 0,\n label: typeof props.label === \"string\" ? props.label : \"Vue Counter\",\n };\n}\n\nexport function mount(el, props = {}) {\n createApp(Counter, normalizeProps(props)).mount(el);\n}\n"],"names":["makeMap","str","map","key","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","writable","looseToNumber","n","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","isRef","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","l","currentEffectScope","fromParent","last","getCurrentScope","activeSub","pausedQueueEffects","ReactiveEffect","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","removeSub","isDirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","e","next","error","err","head","tail","prev","removeDep","refreshComputed","computed","globalVersion","dep","prevSub","soft","nextSub","prevDep","nextDep","trackStack","pauseTracking","resetTracking","cleanup","Link","Dep","debugInfo","addSub","currentTail","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","target","type","depsMap","trigger","newValue","oldTarget","run","targetIsArray","isArrayIndex","newLength","key2","reactiveReadArray","array","raw","toReactive","shallowReadArray","toRaw","toWrapped","isReadonly","toReadonly","isReactive","arrayInstrumentations","iterator","args","x","thisArg","apply","searchProxy","separator","noTracking","reduce","comparer","self","method","wrapValue","iter","isShallow","result","arrayProto","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","index","wrapInitialAccumulator","acc","isNonTrackableKeys","builtInSymbols","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","readonly","MutableReactiveHandler","isArrayWithIntegerKey","isOldValueReadonly","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","done","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","has","callback","observed","proto","rawValue","valueToAdd","get","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","reactive","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","targetType","existingProxy","proxy","isProxy","markRaw","r","ref","createRef","RefImpl","useDirectValue","unref","ref2","shallowUnwrapHandlers","proxyRefs","objectWithRefs","ComputedRefImpl","setter","isSSR","getterOrOptions","debugOptions","getter","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","onWatcherCleanup","cleanupFn","failSilently","owner","cleanups","watch","source","cb","options","immediate","deep","once","scheduler","augmentJob","call","reactiveGetter","source2","traverse","effect","boundCleanup","forceTrigger","isMultiSource","s","currentEffect","baseGetter","depth","scope","watchHandle","_cb","job","immediateFirstRun","currentWatcher","cleanup2","seen","callWithErrorHandling","instance","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","logError","throwInProd","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","flushPostFlushCbs","deduped","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","invokeDirectiveHook","vnode","prevVNode","bindings","oldBindings","binding","hook","provide","currentInstance","provides","parentProvides","inject","defaultValue","treatDefaultAsFactory","getCurrentInstance","currentApp","ssrContextKey","useSSRContext","doWatch","flush","baseWatchOptions","runsImmediately","ssrCleanup","isInSSRComponentSetup","watchStopHandle","isPre","queuePostRenderEffect","isFirstRun","watch$1","instanceWatch","publicThis","createPathGetter","reset","setCurrentInstance","path","segments","TeleportEndKey","isTeleport","leaveCbKey","setTransitionHooks","hooks","markAsyncBoundary","isTemplateRefKey","refs","desc","pendingSetRefMap","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","isAsyncWrapper","refValue","getComponentPublicInstance","oldRef","setupState","rawSetupState","canSetSetupRef","canSetRef","invalidatePendingSetRef","oldRawRefAtom","_isString","_isRef","doSet","existing","newVal","pendingSetRef","isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","current","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","createHook","lifecycle","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","NULL_DYNAMIC_COMPONENT","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","state","PublicInstanceProxyHandlers","data","props","accessCache","appContext","shouldCacheAccess","publicGetter","cssModule","globalProperties","cssModules","descriptor","normalizePropsOrEmits","applyOptions","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","directives","filters","resolveInjections","methodHandler","opt","set","createWatcher","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","h","handler","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","cached","resolved","m","mergeOptions","to","from","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","isMounted","app","version","plugin","mixin","component","directive","rootContainer","isHydrate","namespace","createVNode","lastApp","getModelModifiers","modelName","emit","event","rawArgs","modifiers","handlerName","onceHandler","mixinEmitsCache","normalizeEmitsOptions","comp","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","renderComponentRoot","Component","withProxy","propsOptions","slots","attrs","renderCache","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","Comment","root","keys","shapeFlag","filterModelListeners","cloneVNode","shouldUpdateComponent","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","hasPropValueChanged","emitsOptions","nextKeys","nextProp","prevProp","updateHOCHostEl","parent","internalObjectProto","createInternalObject","isInternalObject","initProps","rawProps","isStateful","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","mixinPropsCache","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","children","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","queueEffectWithSuspense","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","Text","processText","processCommentNode","Static","mountStaticNode","Fragment","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","removeStaticNode","mountElement","customElement","patchElement","vnodeHook","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","isSuspense","parentVNode","child","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","update","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","anchorVNode","resolveAsyncComponentPlaceholder","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","cacheIndex","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","invalidateMount","teleportEnd","isFlushing","currentNamespace","allowed","ch1","ch2","j","len","arrI","subComponent","anchorVnode","suspense","currentBlock","openBlock","disableTracking","closeBlock","isBlockTreeEnabled","inVOnce","setupBlock","createElementBlock","createBaseVNode","isVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","style","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","slot","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","isAsyncSetup","resolvedResult","handleSetupResult","finishComponentSetup","skipOptions","attrsProxyHandlers","computed$1","policy","tt","unsafeToTrustedHTML","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","node","selector","content","before","template","wrapper","vtcKey","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","attrName","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","patchProp","shouldSetAsProp","shouldSetAsPropForVueCE","camelize$1","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","__props","count","labelToShow","decrement","increment","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","_hoisted_3","_cache","normalizeProps","initialCount","Counter"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/app/static/islands/assets/PhotoUploader-BSBNDcQ5.css b/app/static/islands/assets/PhotoUploader-BSBNDcQ5.css new file mode 100644 index 00000000..72e0608c --- /dev/null +++ b/app/static/islands/assets/PhotoUploader-BSBNDcQ5.css @@ -0,0 +1 @@ +@charset "UTF-8";.uppload-modal{background-color:#fff;color:#1b0000;box-shadow:0 5rem 10rem #0000004d}.uppload-modal .uppload-help{background-color:#fff;color:#1b0000}.uppload-modal .need-help-link,.uppload-modal .uppload-help button{background-color:#dfe6e9;color:inherit}.uppload-modal aside{background-color:#dfe6e9;color:inherit}.uppload-modal aside nav .uppload-service-name input[type=radio]:checked+label{background-color:#fff;color:inherit}.uppload-modal aside nav .uppload-service-name input[type=radio]:checked+label:hover,.uppload-modal aside nav .uppload-service-name input[type=radio]:checked+label:focus{background-color:#fff}.uppload-modal aside nav .uppload-service-name input[type=radio]+label:hover,.uppload-modal aside nav .uppload-service-name input[type=radio]+label:focus{background-color:#d0dadf}.uppload-modal .uppload-error{background-color:#c33;color:#fff}.uppload-modal form input{border-color:#0000001a}.uppload-modal .effects-continue button{background-color:#f5f5f5;color:inherit}.uppload-modal .effects-continue button:hover,.uppload-modal .effects-continue button:focus{background-color:#fff}.uppload-modal footer.effects-nav{background-color:#dfe6e9;color:inherit}.uppload-modal footer.effects-nav label svg g,.uppload-modal footer.effects-nav label svg path{fill:inherit}.uppload-modal footer.effects-nav label:hover,.uppload-modal footer.effects-nav label:focus{background-color:#d0dadf}.uppload-modal footer.effects-nav input[type=radio]:checked+label{background-color:#fff;color:inherit}.uppload-modal .uppload-service--default .uppload-services button{background-color:#f5f5f5;color:inherit}.uppload-modal .uppload-service--default .uppload-services button:hover,.uppload-modal .uppload-service--default .uppload-services button:focus{background-color:#dfe6e9;color:inherit}.uppload-modal .uppload-service--local .drop-area{border:3px dashed rgba(0,0,0,.1);background-color:transparent;color:inherit}.uppload-modal .uppload-service--local .drop-area.drop-area-active{border:3px dashed rgba(0,0,0,.25);background-color:#f5f5f5;color:inherit}.uppload-modal .uppload-actions label,.uppload-modal .settings button{background-color:#dfe6e9;color:inherit}.uppload-modal-bg{position:fixed;left:0;right:0;top:0;bottom:0;z-index:10000;text-align:right}.uppload-modal-bg .uppload-close{font:inherit;border:none;padding:0;line-height:1;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;margin:1rem 1.5rem;font-size:200%}.uppload-modal{border-radius:.2rem;width:800px;height:500px;display:flex;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);overflow:hidden;z-index:12000}.uppload-modal .uppload-help{display:none;position:absolute;left:0;right:0;text-align:right;top:0;bottom:0}.uppload-modal .uppload-help.visible{display:block}.uppload-modal .uppload-help iframe{border:none;width:100%;height:100%;background-color:#fff}.uppload-modal .uppload-help button{position:absolute;right:1rem;top:1rem;z-index:1;font:inherit;border-radius:2rem;line-height:1;padding:.75rem 1.25rem .75rem 1rem;border:none}.uppload-modal .uppload-help button span:last-child{margin-left:.75rem;transform:scale(1.5) translateY(-1px);display:inline-block}.uppload-modal aside{width:25%;overflow-x:auto}.uppload-modal aside.uppload-services--single{display:none}.uppload-modal aside nav .uppload-service-name{position:relative;width:100%;flex:1 0 0;display:flex}.uppload-modal aside nav .uppload-service-name input[type=radio]{position:absolute;opacity:0}.uppload-modal aside nav .uppload-service-name input[type=radio]:checked+label{font-weight:700}.uppload-modal aside nav .uppload-service-name label{transition:.2s;display:block;width:100%;display:flex;padding:1rem;align-items:center;line-height:1}.uppload-modal aside nav .uppload-service-name label svg{margin-right:.75rem;height:1.25rem;display:inline-block;margin-top:-.1rem;vertical-align:middle}.uppload-modal section{flex:1 0 0;display:flex;flex-direction:column}.uppload-modal section .uppload-active-container{display:flex;flex:1 0 0;padding:1rem;overflow-y:auto;box-sizing:border-box}.uppload-modal section .uppload-active-container .uppload-service{width:100%;flex:1 0 0}.uppload-modal section .uppload-active-container footer{text-align:center;font-size:90%}.uppload-modal section .uppload-active-container footer a{color:inherit;text-decoration:none;opacity:.75}.uppload-modal section .uppload-active-container footer a:hover,.uppload-modal section .uppload-active-container footer a:focus{text-decoration:underline}.uppload-inline .uppload-modal-bg{position:relative}.uppload-inline .uppload-modal-bg .uppload-close{display:none}.uppload-inline .uppload-modal{position:static;box-shadow:none;border:.1rem solid rgba(0,0,0,.1);transform:none;width:100%}.uppload-container .uppload-help-loading{display:none;width:100%;justify-content:center;align-items:center;text-align:center}.uppload-container .uppload-help-loading .uppload-loader{display:flex}.uppload-container .uppload-help-loading p{width:100%}.uppload-container .uppload-help-loading.visible{display:flex}.uppload-modal p{margin:0;margin-bottom:1rem}.uppload-modal p:last-child{margin-bottom:0}.uppload-modal .uppload-error{position:absolute;top:0;left:0;right:0;padding:1rem;text-align:center}.uppload-modal form{text-align:center;margin:2rem 0}.uppload-modal form input{width:75%;border:.1rem solid}.uppload-modal form input,.uppload-modal form button,.uppload-modal button.uppload-button,.uppload-modal .effects-continue button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;padding:.75rem 1rem;border-radius:.2rem;font-size:135%;display:block;margin:1rem auto;transition:.2s}.uppload-modal form button,.uppload-modal button.uppload-button,.uppload-modal .effects-continue button{border:none}.uppload-modal .effects-continue button{margin:0 1rem}.uppload-modal form button[type=submit]:after,.uppload-modal .uppload-button--cta:after,.uppload-modal .effects-continue--upload:after{content:"→";margin-left:.5rem}.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.cropper-container img{display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-wrap-box,.cropper-canvas,.cropper-drag-box,.cropper-crop-box,.cropper-modal{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-wrap-box,.cropper-canvas{overflow:hidden}.cropper-drag-box{background-color:#00000080}.cropper-view-box{display:block;height:100%;outline:1px dashed #fff;overflow:hidden;width:100%}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:calc(100% / 3);left:0;top:calc(100% / 3);width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:calc(100% / 3);top:0;width:calc(100% / 3)}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#fff;border:1px solid #000;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width: 768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width: 992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width: 1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}.service-icon{margin-bottom:2rem}.service-icon svg{width:4rem;height:4rem}.uppload-service--uploading .uppload-loader{display:flex}.uppload-service--default{text-align:center}.uppload-service--default p{padding:0;margin:1rem 0 2rem;font-size:150%}.uppload-service--default .uppload-services{display:flex;flex-wrap:wrap}.uppload-service--default .uppload-services .uppload-service-name{box-sizing:border-box;width:22.5%;margin:0 1.25% 2.5%}.uppload-service--default .uppload-services .uppload-service-name button{border:none;font:inherit;display:block;width:100%;padding:1.15rem 0;border-radius:.2rem;text-align:center;transition:.2s}.uppload-service--default .uppload-services .uppload-service-name svg{display:block;margin:0 auto .75rem;height:2.5rem}.uppload-service--unsplash .unsplash-images,.uppload-service--unsplash .pixabay-images,.uppload-service--unsplash .giphy-images,.uppload-service--unsplash .pexels-images,.uppload-service--unsplash .search-images,.uppload-service--pixabay .unsplash-images,.uppload-service--pixabay .pixabay-images,.uppload-service--pixabay .giphy-images,.uppload-service--pixabay .pexels-images,.uppload-service--pixabay .search-images,.uppload-service--giphy .unsplash-images,.uppload-service--giphy .pixabay-images,.uppload-service--giphy .giphy-images,.uppload-service--giphy .pexels-images,.uppload-service--giphy .search-images,.uppload-service--pexels .unsplash-images,.uppload-service--pexels .pixabay-images,.uppload-service--pexels .giphy-images,.uppload-service--pexels .pexels-images,.uppload-service--pexels .search-images{display:flex;flex-wrap:wrap;justify-content:space-between}.uppload-service--unsplash .unsplash-images .result,.uppload-service--unsplash .pixabay-images .result,.uppload-service--unsplash .giphy-images .result,.uppload-service--unsplash .pexels-images .result,.uppload-service--unsplash .search-images .result,.uppload-service--pixabay .unsplash-images .result,.uppload-service--pixabay .pixabay-images .result,.uppload-service--pixabay .giphy-images .result,.uppload-service--pixabay .pexels-images .result,.uppload-service--pixabay .search-images .result,.uppload-service--giphy .unsplash-images .result,.uppload-service--giphy .pixabay-images .result,.uppload-service--giphy .giphy-images .result,.uppload-service--giphy .pexels-images .result,.uppload-service--giphy .search-images .result,.uppload-service--pexels .unsplash-images .result,.uppload-service--pexels .pixabay-images .result,.uppload-service--pexels .giphy-images .result,.uppload-service--pexels .pexels-images .result,.uppload-service--pexels .search-images .result{width:32%;margin-bottom:2%}.uppload-service--unsplash .unsplash-images .result button,.uppload-service--unsplash .pixabay-images .result button,.uppload-service--unsplash .giphy-images .result button,.uppload-service--unsplash .pexels-images .result button,.uppload-service--unsplash .search-images .result button,.uppload-service--pixabay .unsplash-images .result button,.uppload-service--pixabay .pixabay-images .result button,.uppload-service--pixabay .giphy-images .result button,.uppload-service--pixabay .pexels-images .result button,.uppload-service--pixabay .search-images .result button,.uppload-service--giphy .unsplash-images .result button,.uppload-service--giphy .pixabay-images .result button,.uppload-service--giphy .giphy-images .result button,.uppload-service--giphy .pexels-images .result button,.uppload-service--giphy .search-images .result button,.uppload-service--pexels .unsplash-images .result button,.uppload-service--pexels .pixabay-images .result button,.uppload-service--pexels .giphy-images .result button,.uppload-service--pexels .pexels-images .result button,.uppload-service--pexels .search-images .result button{display:block;width:100%;cursor:pointer;border:none;height:7rem;background-size:cover;background-position:center center;background-repeat:no-repeat}.uppload-service--unsplash .unsplash-images .author,.uppload-service--unsplash .pixabay-images .author,.uppload-service--unsplash .giphy-images .author,.uppload-service--unsplash .pexels-images .author,.uppload-service--unsplash .search-images .author,.uppload-service--pixabay .unsplash-images .author,.uppload-service--pixabay .pixabay-images .author,.uppload-service--pixabay .giphy-images .author,.uppload-service--pixabay .pexels-images .author,.uppload-service--pixabay .search-images .author,.uppload-service--giphy .unsplash-images .author,.uppload-service--giphy .pixabay-images .author,.uppload-service--giphy .giphy-images .author,.uppload-service--giphy .pexels-images .author,.uppload-service--giphy .search-images .author,.uppload-service--pexels .unsplash-images .author,.uppload-service--pexels .pixabay-images .author,.uppload-service--pexels .giphy-images .author,.uppload-service--pexels .pexels-images .author,.uppload-service--pexels .search-images .author{font-size:85%;overflow-x:hidden;white-space:nowrap;display:block;line-height:1;text-overflow:ellipsis;margin-top:.25rem;margin-bottom:.5rem}.uppload-service--unsplash .unsplash-images .author img,.uppload-service--unsplash .pixabay-images .author img,.uppload-service--unsplash .giphy-images .author img,.uppload-service--unsplash .pexels-images .author img,.uppload-service--unsplash .search-images .author img,.uppload-service--pixabay .unsplash-images .author img,.uppload-service--pixabay .pixabay-images .author img,.uppload-service--pixabay .giphy-images .author img,.uppload-service--pixabay .pexels-images .author img,.uppload-service--pixabay .search-images .author img,.uppload-service--giphy .unsplash-images .author img,.uppload-service--giphy .pixabay-images .author img,.uppload-service--giphy .giphy-images .author img,.uppload-service--giphy .pexels-images .author img,.uppload-service--giphy .search-images .author img,.uppload-service--pexels .unsplash-images .author img,.uppload-service--pexels .pixabay-images .author img,.uppload-service--pexels .giphy-images .author img,.uppload-service--pexels .pexels-images .author img,.uppload-service--pexels .search-images .author img{vertical-align:middle;margin-right:.25rem;height:1.25rem;width:1.25rem;border-radius:100%}.uppload-service--unsplash .unsplash-footer,.uppload-service--unsplash .pixabay-footer,.uppload-service--unsplash .giphy-footer,.uppload-service--unsplash .pexels-footer,.uppload-service--unsplash .search-footer,.uppload-service--pixabay .unsplash-footer,.uppload-service--pixabay .pixabay-footer,.uppload-service--pixabay .giphy-footer,.uppload-service--pixabay .pexels-footer,.uppload-service--pixabay .search-footer,.uppload-service--giphy .unsplash-footer,.uppload-service--giphy .pixabay-footer,.uppload-service--giphy .giphy-footer,.uppload-service--giphy .pexels-footer,.uppload-service--giphy .search-footer,.uppload-service--pexels .unsplash-footer,.uppload-service--pexels .pixabay-footer,.uppload-service--pexels .giphy-footer,.uppload-service--pexels .pexels-footer,.uppload-service--pexels .search-footer{text-align:center;padding-bottom:1.5rem;font-size:90%;opacity:.75}.filter-previews{overflow-x:auto;padding-bottom:1rem}.filter-previews img{max-width:100%}.filter-previews .filter-previews-scroll{white-space:nowrap}.filter-previews .filter-previews-scroll>div{display:inline-block;margin-right:.5rem}.filter-previews .filter-previews-scroll>div :last-child{margin-right:0}.filter-previews .filter-previews-scroll img{height:220px}.filter-previews .filter-pic{line-height:1}.filter-previews [class*=filter]{position:relative}.filter-previews [class*=filter]:before{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.filter-previews .filter-1977{filter:sepia(.5) hue-rotate(-30deg) saturate(1.4)}.filter-previews .filter-aden{filter:sepia(.2) brightness(1.15) saturate(1.4)}.filter-previews .filter-brooklyn{filter:sepia(.25) contrast(1.25) brightness(1.25) hue-rotate(5deg)}.filter-previews .filter-brooklyn:before{background:#7fbbe333;content:"";mix-blend-mode:overlay}.filter-previews .filter-inkwell{filter:brightness(1.25) contrast(.85) grayscale(1)}.filter-previews .filter-poprocket{filter:sepia(.15) brightness(1.2)}.filter-previews .filter-poprocket:before{background:radial-gradient(circle closest-corner,#ce2746bf 40%,#000 80%);background:-o-radial-gradient(circle closest-corner,rgba(206,39,70,.75) 40%,black 80%);background:-moz-radial-gradient(circle closest-corner,rgba(206,39,70,.75) 40%,black 80%);content:"";mix-blend-mode:screen}.filter-previews .filter-xpro-ii{filter:sepia(.45) contrast(1.25) brightness(1.75) saturate(1.3) hue-rotate(-5deg)}.filter-previews .filter-xpro-ii:before{background:radial-gradient(circle closest-corner,#005b9a59 0,#000000a6);background:-o-radial-gradient(circle closest-corner,rgba(0,91,154,.35) 0,rgba(0,0,0,.65) 100%);background:-moz-radial-gradient(circle closest-corner,rgba(0,91,154,.35) 0,rgba(0,0,0,.65) 100%);content:"";mix-blend-mode:multiply}.uppload-loader{height:100%;display:none;flex-direction:column;justify-content:center;align-items:center}.uppload-loader>div{width:7.5rem;height:7.5rem;margin-top:-2rem;margin-bottom:2rem;border-radius:100%;animation:sk-scaleout 1.5s infinite ease-in-out}@keyframes sk-scaleout{0%{transform:scale(0)}to{transform:scale(1);opacity:0}}.microlink-container{height:100%;display:flex;justify-content:center;align-items:center;width:100%}.microlink-container form{width:100%}.uppload-service--local{height:100%;display:flex;justify-content:center;flex-direction:column}.uppload-service--local .drop-area{flex:1 0 0;display:flex;align-items:center;flex-direction:column;justify-content:space-around;text-align:center;border:1px dashed;padding:3rem;margin:2rem;border-radius:.2rem;transition:.2s}.uppload-service--local .drop-area.drop-area-active{transform:scale(1.05)}.uppload-service--local .drop-area>div{font-size:150%}.uppload-service--local .alternate-input{text-align:center;padding:2rem 0;zoom:1.5;opacity:.1;position:fixed;left:-100%}.uppload-cropping-element{text-align:center}.uppload-modal .service-footer button.uppload-button{margin:0 .5rem;display:inline-block}.uppload-service--camera{display:flex;flex-direction:column}.uppload-service--camera video{width:100px}.uppload-service--camera .service-main{flex:1 0 0;display:flex;flex-direction:column}.uppload-service--camera .camera-waiting,.uppload-service--camera .camera-error,.uppload-service--camera .camera-success,.uppload-service--camera .service-footer{opacity:0;transition:opacity .2s}.uppload-service--camera .camera-waiting,.uppload-service--camera .camera-error,.uppload-service--camera .camera-success{flex:1 0 0;justify-content:center;display:flex;opacity:0;transition:.2s}.uppload-service--camera .camera-waiting,.uppload-service--camera .camera-error{max-width:75%;margin:auto;text-align:center;flex-direction:column}.need-help-link{position:absolute;right:1rem;bottom:1rem;z-index:1;font:inherit;border-radius:2rem;line-height:1;padding:.75rem 1rem;border:none;opacity:.75}.need-help-link span:first-child{display:none}.need-help-link span:last-child{transform:scale(1.35);display:inline-block}.need-help-link:hover,.need-help-link:focus{opacity:1}.need-help-link:hover span:first-child,.need-help-link:focus span:first-child{display:inline-block}.need-help-link:hover span:last-child,.need-help-link:focus span:last-child{display:none}.uppload-modal .uppload-effect [type=range]{-webkit-appearance:none;background:transparent;margin:.5rem 0;width:100%}.uppload-modal .uppload-effect [type=range]::-moz-focus-outer{border:0}.uppload-modal .uppload-effect [type=range]:focus{outline:0}.uppload-modal .uppload-effect [type=range]:focus::-webkit-slider-runnable-track{background:#b7b7b7}.uppload-modal .uppload-effect [type=range]:focus::-ms-fill-lower{background:#aaa}.uppload-modal .uppload-effect [type=range]:focus::-ms-fill-upper{background:#b7b7b7}.uppload-modal .uppload-effect [type=range]::-webkit-slider-runnable-track{cursor:default;height:.25rem;transition:all .2s ease;width:100%;background:#aaa;border-radius:1rem}.uppload-modal .uppload-effect [type=range]::-webkit-slider-thumb{background:#fff;box-shadow:0 .1rem .25rem #00000080;border-radius:1rem;box-sizing:border-box;cursor:default;height:1rem;width:1rem;-webkit-appearance:none;margin-top:-.375rem}.uppload-modal .uppload-effect [type=range]::-moz-range-track{cursor:default;height:.25rem;transition:all .2s ease;width:100%;background:#aaa;border-radius:1rem;height:.125rem}.uppload-modal .uppload-effect [type=range]::-moz-range-thumb{background:#fff;box-shadow:0 .1rem .25rem #00000080;border-radius:1rem;box-sizing:border-box;cursor:default;height:1rem;width:1rem}.uppload-modal .uppload-effect [type=range]::-ms-track{cursor:default;height:.25rem;transition:all .2s ease;width:100%;background:transparent;border-color:transparent;border-width:.5rem 0;color:transparent}.uppload-modal .uppload-effect [type=range]::-ms-fill-lower{background:#9d9d9d;border-radius:2rem}.uppload-modal .uppload-effect [type=range]::-ms-fill-upper{background:#aaa;border-radius:2rem}.uppload-modal .uppload-effect [type=range]::-ms-thumb{background:#fff;box-shadow:0 .1rem .25rem #00000080;border-radius:1rem;box-sizing:border-box;cursor:default;height:1rem;width:1rem;margin-top:.0625rem}.uppload-modal .uppload-effect [type=range]:disabled::-webkit-slider-thumb,.uppload-modal .uppload-effect [type=range]:disabled::-moz-range-thumb,.uppload-modal .uppload-effect [type=range]:disabled::-ms-thumb,.uppload-modal .uppload-effect [type=range]:disabled::-webkit-slider-runnable-track,.uppload-modal .uppload-effect [type=range]:disabled::-ms-fill-lower,.uppload-modal .uppload-effect [type=range]:disabled::-ms-fill-upper{cursor:not-allowed}.uppload-container .active-effect-container{flex:1 0 0;text-align:center}.uppload-container .effects-continue button.uppload-button{display:inline-block;margin:0 1rem}.uppload-container footer.effects-nav{display:flex;justify-content:space-between;align-items:center;overflow:hidden}.uppload-container footer.effects-nav .effects-tabs{width:100px;display:flex;overflow-x:auto;flex-wrap:nowrap}.uppload-container footer.effects-nav .effects-tabs-flow{display:flex;flex-wrap:nowrap;white-space:nowrap}.uppload-container footer.effects-nav input[type=radio]{position:absolute;opacity:0}.uppload-container footer.effects-nav label{display:block;padding:.5rem 0;text-align:center;width:4.5rem;font-size:120%;transition:.2s}.uppload-container footer.effects-nav label span{font-size:55%;display:block}.uppload-container footer.effects-nav label svg{display:block;margin:.2rem auto;height:1.25rem}.uppload-container .uppload-effect{flex:1 0 0;display:flex;flex-direction:column;justify-content:space-between;opacity:0;transition:opacity .2s}.uppload-container .uppload-effect .active-effect-container{flex:1 0 0;display:flex;flex-direction:column;justify-content:space-between}.uppload-container .uppload-effect .active-effect-container>div:first-child{flex:1 0 0}.uppload-container .uppload-effect .active-effect-container .settings{text-align:center;padding:1rem 0}.uppload-container .uppload-effect .active-effect-container .settings button.flip-btn-horizontal,.uppload-container .uppload-effect .active-effect-container .settings button.flip-btn-vertical{font:inherit;border:none;line-height:1;padding:.5rem 1rem;margin:0 .25rem;border-radius:5rem}.uppload-container .uppload-effect .active-effect-container .settings .value{display:inline-block;vertical-align:middle;margin-left:.5rem}.uppload-container .uppload-effect .active-effect-container input[type=range]{margin:0 auto;width:75%}.uppload-container .uppload-preview-element,.uppload-container .uppload-hue-image{text-align:center}.uppload-container .uppload-actions{text-align:center;margin-top:.5rem}.uppload-container .uppload-actions label{position:relative;display:inline-block;padding:.5rem 1rem;margin:0 -.25rem}.uppload-container .uppload-actions label:first-of-type{padding-left:1.5rem;border-radius:2rem 0 0 2rem}.uppload-container .uppload-actions label:last-of-type{padding-right:1.5rem;border-radius:0 2rem 2rem 0}.uppload-container .uppload-actions input[type=radio]{opacity:0;position:absolute}.uppload-container .uppload-actions input[type=radio]:checked+label{font-weight:700}.uppload-container .uppload-actions input[type=radio]:focus+label{z-index:1}.uppload-container .uppload-effect--rotate .cropper-drag-box{background-color:transparent}@media (max-height: 500px){.uppload-modal{height:90%}}@media (max-width: 850px){.uppload-modal{transform:none;left:0;right:0;width:100%;border-radius:0;bottom:0;height:auto;top:10%;flex-direction:column}.uppload-modal .uppload-service--default .uppload-services .uppload-service-name{width:47.5%}.uppload-modal aside{height:auto;width:100%}.uppload-modal aside .uppload-services{display:flex}.uppload-modal aside nav .uppload-service-name label{white-space:nowrap}.uppload-modal footer.effects-nav{flex-direction:column;padding:1rem 0}.uppload-modal footer.effects-nav .effects-tabs{width:100%!important;margin:1rem 0!important}.uppload-modal .effects-continue{width:90%}.uppload-modal .effects-continue button{margin:0!important;width:100%;box-sizing:border-box}.uppload-modal section .uppload-active-container footer button{display:block!important;margin:.5rem 0 0!important;width:100%;box-sizing:border-box}}.uppload-container{display:none}.uppload-container.visible{display:block}.uppload-modal-bg{background-color:#7d7d7d40}.uppload-modal{background-color:#000;color:#fff;box-shadow:0 5rem 10rem #0000004d}.uppload-modal .uppload-help{background-color:#000;color:#fff}.uppload-modal .need-help-link,.uppload-modal .uppload-help button{background-color:#111;color:#fff}.uppload-modal a{color:inherit}.uppload-modal aside{background-color:#111;color:#fff}.uppload-modal aside nav .uppload-service-name input[type=radio]:checked+label{background-color:#000;color:#fff}.uppload-modal aside nav .uppload-service-name input[type=radio]:checked+label:hover,.uppload-modal aside nav .uppload-service-name input[type=radio]:checked+label:focus{background-color:#000}.uppload-modal aside nav .uppload-service-name input[type=radio]:focus+label{box-shadow:0 0 0 .2rem #007bff40}.uppload-modal aside nav .uppload-service-name input[type=radio]+label:hover,.uppload-modal aside nav .uppload-service-name input[type=radio]+label:focus{background-color:#040404}.uppload-modal .uppload-error{background-color:#c33;color:#000}.uppload-modal form input{border-color:#0000004d}.uppload-modal form button,.uppload-modal .uppload-button{background-color:#333;color:#fff}.uppload-modal .effects-continue button{background-color:#222;color:#fff}.uppload-modal .effects-continue button:hover,.uppload-modal .effects-continue button:focus{background-color:#2f2f2f}.uppload-modal .effects-continue button.effects-continue--upload{background-color:#3498db;color:#fff}.uppload-modal .effects-continue button.effects-continue--upload:hover,.uppload-modal .effects-continue button.effects-continue--upload:focus{background-color:#217dbb}.uppload-modal footer.effects-nav{background-color:#111;color:#fff}.uppload-modal footer.effects-nav label svg g,.uppload-modal footer.effects-nav label svg path{fill:#fff}.uppload-modal footer.effects-nav input[type=radio]:focus+label{box-shadow:0 0 0 .2rem #007bff40}.uppload-modal footer.effects-nav label:hover,.uppload-modal footer.effects-nav label:focus{background-color:#040404}.uppload-modal footer.effects-nav input[type=radio]:checked+label{background-color:#000;color:#fff}.uppload-modal .uppload-service--default .uppload-services button{background-color:#222;color:#fff}.uppload-modal .uppload-service--default .uppload-services button:hover,.uppload-modal .uppload-service--default .uppload-services button:focus{background-color:#111;color:#fff}.uppload-modal .uppload-service--local .drop-area{border:3px dashed rgba(255,255,255,.1);background-color:transparent;color:inherit}.uppload-modal .uppload-service--local .drop-area.drop-area-active{border:3px dashed rgba(0,0,0,.25);background-color:#111;color:inherit}.uppload-modal .uppload-loader>div{background-color:#333}.uppload-modal .uppload-effect--crop .uppload-actions input[type=radio]:focus+label{box-shadow:0 0 0 .2rem #007bff40}.uppload-modal .uppload-actions label,.uppload-modal .settings button{background-color:#111;color:inherit} diff --git a/app/static/islands/chunks/index-B2lUnYab.js b/app/static/islands/chunks/index-B2lUnYab.js new file mode 100644 index 00000000..e7aa8207 --- /dev/null +++ b/app/static/islands/chunks/index-B2lUnYab.js @@ -0,0 +1,2 @@ +var D=Object.defineProperty;var F=(t,e,n)=>e in t?D(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var b=(t,e,n)=>F(t,typeof e!="symbol"?e+"":e,n);function p(){}function U(t,e){for(const n in e)t[n]=e[n];return t}function L(t){return t()}function A(){return Object.create(null)}function m(t){t.forEach(L)}function k(t){return typeof t=="function"}function et(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function G(t){return Object.keys(t).length===0}function H(t,...e){if(t==null){for(const r of e)r(void 0);return p}const n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function nt(t,e,n){t.$$.on_destroy.push(H(e,n))}function rt(t,e,n,r){if(t){const s=M(t,e,n,r);return t[0](s)}}function M(t,e,n,r){return t[1]&&r?U(n.ctx.slice(),t[1](r(e))):n.ctx}function st(t,e,n,r){if(t[2]&&r){const s=t[2](r(n));if(e.dirty===void 0)return s;if(typeof s=="object"){const u=[],c=Math.max(e.dirty.length,s.length);for(let f=0;f32){const e=[],n=t.ctx.length/32;for(let r=0;rt.removeEventListener(e,n,r)}function gt(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function K(t){return Array.from(t.childNodes)}function mt(t,e){e=""+e,t.data!==e&&(t.data=e)}function yt(t,e){t.value=e??""}function $t(t,e,n){for(let r=0;r{const s=t.$$.callbacks[e];if(s){const u=R(e,n,{cancelable:r});return s.slice().forEach(c=>{c.call(t,u)}),!u.defaultPrevented}return!0}}function Et(t,e){const n=t.$$.callbacks[e.type];n&&n.slice().forEach(r=>r.call(this,e))}const d=[],I=[];let _=[];const w=[],B=Promise.resolve();let v=!1;function q(){v||(v=!0,B.then(z))}function kt(){return q(),B}function E(t){_.push(t)}function St(t){w.push(t)}const x=new Set;let l=0;function z(){if(l!==0)return;const t=g;do{try{for(;lt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),_=e}const $=new Set;let a;function Nt(){a={r:0,c:[],p:a}}function jt(){a.r||m(a.c),a=a.p}function Q(t,e){t&&t.i&&($.delete(t),t.i(e))}function Ct(t,e,n,r){if(t&&t.o){if($.has(t))return;$.add(t),a.c.push(()=>{$.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function Ot(t,e,n){const r=t.$$.props[e];r!==void 0&&(t.$$.bound[r]=n,n(t.$$.ctx[r]))}function At(t){t&&t.c()}function W(t,e,n){const{fragment:r,after_update:s}=t.$$;r&&r.m(e,n),E(()=>{const u=t.$$.on_mount.map(L).filter(k);t.$$.on_destroy?t.$$.on_destroy.push(...u):m(u),t.$$.on_mount=[]}),s.forEach(E)}function X(t,e){const n=t.$$;n.fragment!==null&&(V(n.after_update),m(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Y(t,e){t.$$.dirty[0]===-1&&(d.push(t),q(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const O=C.length?C[0]:j;return o.ctx&&s(o.ctx[i],o.ctx[i]=O)&&(!o.skip_bound&&o.bound[i]&&o.bound[i](O),N&&Y(t,i)),j}):[],o.update(),N=!0,m(o.before_update),o.fragment=r?r(o.ctx):!1,e.target){if(e.hydrate){const i=K(e.target);o.fragment&&o.fragment.l(i),i.forEach(J)}else o.fragment&&o.fragment.c();e.intro&&Q(t.$$.fragment),W(t,e.target,e.anchor),z()}h(y)}class Lt{constructor(){b(this,"$$");b(this,"$$set")}$destroy(){X(this,1),this.$destroy=p}$on(e,n){if(!k(n))return p;const r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{const s=r.indexOf(n);s!==-1&&r.splice(s,1)}}$set(e){this.$$set&&!G(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Z="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Z);export{mt as A,m as B,it as C,nt as D,ct as E,Et as F,k as G,I as H,Ot as I,$t as J,St as K,yt as L,E as M,wt as N,bt as O,kt as P,Lt as S,Q as a,st as b,rt as c,J as d,gt as e,at as f,ut as g,lt as h,It as i,vt as j,ft as k,pt as l,dt as m,p as n,P as o,Nt as p,jt as q,ht as r,et as s,Ct as t,ot as u,X as v,W as w,At as x,_t as y,xt as z}; +//# sourceMappingURL=index-B2lUnYab.js.map diff --git a/app/static/islands/chunks/index-B2lUnYab.js.map b/app/static/islands/chunks/index-B2lUnYab.js.map new file mode 100644 index 00000000..6cc9daaa --- /dev/null +++ b/app/static/islands/chunks/index-B2lUnYab.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-B2lUnYab.js","sources":["../../../../frontend/node_modules/svelte/src/runtime/internal/utils.js","../../../../frontend/node_modules/svelte/src/runtime/internal/dom.js","../../../../frontend/node_modules/svelte/src/runtime/internal/lifecycle.js","../../../../frontend/node_modules/svelte/src/runtime/internal/scheduler.js","../../../../frontend/node_modules/svelte/src/runtime/internal/transitions.js","../../../../frontend/node_modules/svelte/src/runtime/internal/Component.js","../../../../frontend/node_modules/svelte/src/shared/version.js","../../../../frontend/node_modules/svelte/src/runtime/internal/disclose-version/index.js"],"sourcesContent":["/** @returns {void} */\nexport function noop() {}\n\nexport const identity = (x) => x;\n\n/**\n * @template T\n * @template S\n * @param {T} tar\n * @param {S} src\n * @returns {T & S}\n */\nexport function assign(tar, src) {\n\t// @ts-ignore\n\tfor (const k in src) tar[k] = src[k];\n\treturn /** @type {T & S} */ (tar);\n}\n\n// Adapted from https://github.com/then/is-promise/blob/master/index.js\n// Distributed under MIT License https://github.com/then/is-promise/blob/master/LICENSE\n/**\n * @param {any} value\n * @returns {value is PromiseLike}\n */\nexport function is_promise(value) {\n\treturn (\n\t\t!!value &&\n\t\t(typeof value === 'object' || typeof value === 'function') &&\n\t\ttypeof (/** @type {any} */ (value).then) === 'function'\n\t);\n}\n\n/** @returns {void} */\nexport function add_location(element, file, line, column, char) {\n\telement.__svelte_meta = {\n\t\tloc: { file, line, column, char }\n\t};\n}\n\nexport function run(fn) {\n\treturn fn();\n}\n\nexport function blank_object() {\n\treturn Object.create(null);\n}\n\n/**\n * @param {Function[]} fns\n * @returns {void}\n */\nexport function run_all(fns) {\n\tfns.forEach(run);\n}\n\n/**\n * @param {any} thing\n * @returns {thing is Function}\n */\nexport function is_function(thing) {\n\treturn typeof thing === 'function';\n}\n\n/** @returns {boolean} */\nexport function safe_not_equal(a, b) {\n\treturn a != a ? b == b : a !== b || (a && typeof a === 'object') || typeof a === 'function';\n}\n\nlet src_url_equal_anchor;\n\n/**\n * @param {string} element_src\n * @param {string} url\n * @returns {boolean}\n */\nexport function src_url_equal(element_src, url) {\n\tif (element_src === url) return true;\n\tif (!src_url_equal_anchor) {\n\t\tsrc_url_equal_anchor = document.createElement('a');\n\t}\n\t// This is actually faster than doing URL(..).href\n\tsrc_url_equal_anchor.href = url;\n\treturn element_src === src_url_equal_anchor.href;\n}\n\n/** @param {string} srcset */\nfunction split_srcset(srcset) {\n\treturn srcset.split(',').map((src) => src.trim().split(' ').filter(Boolean));\n}\n\n/**\n * @param {HTMLSourceElement | HTMLImageElement} element_srcset\n * @param {string | undefined | null} srcset\n * @returns {boolean}\n */\nexport function srcset_url_equal(element_srcset, srcset) {\n\tconst element_urls = split_srcset(element_srcset.srcset);\n\tconst urls = split_srcset(srcset || '');\n\n\treturn (\n\t\turls.length === element_urls.length &&\n\t\turls.every(\n\t\t\t([url, width], i) =>\n\t\t\t\twidth === element_urls[i][1] &&\n\t\t\t\t// We need to test both ways because Vite will create an a full URL with\n\t\t\t\t// `new URL(asset, import.meta.url).href` for the client when `base: './'`, and the\n\t\t\t\t// relative URLs inside srcset are not automatically resolved to absolute URLs by\n\t\t\t\t// browsers (in contrast to img.src). This means both SSR and DOM code could\n\t\t\t\t// contain relative or absolute URLs.\n\t\t\t\t(src_url_equal(element_urls[i][0], url) || src_url_equal(url, element_urls[i][0]))\n\t\t)\n\t);\n}\n\n/** @returns {boolean} */\nexport function not_equal(a, b) {\n\treturn a != a ? b == b : a !== b;\n}\n\n/** @returns {boolean} */\nexport function is_empty(obj) {\n\treturn Object.keys(obj).length === 0;\n}\n\n/** @returns {void} */\nexport function validate_store(store, name) {\n\tif (store != null && typeof store.subscribe !== 'function') {\n\t\tthrow new Error(`'${name}' is not a store with a 'subscribe' method`);\n\t}\n}\n\nexport function subscribe(store, ...callbacks) {\n\tif (store == null) {\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(undefined);\n\t\t}\n\t\treturn noop;\n\t}\n\tconst unsub = store.subscribe(...callbacks);\n\treturn unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\n\n/**\n * Get the current value from a store by subscribing and immediately unsubscribing.\n *\n * https://svelte.dev/docs/svelte-store#get\n * @template T\n * @param {import('../store/public.js').Readable} store\n * @returns {T}\n */\nexport function get_store_value(store) {\n\tlet value;\n\tsubscribe(store, (_) => (value = _))();\n\treturn value;\n}\n\n/** @returns {void} */\nexport function component_subscribe(component, store, callback) {\n\tcomponent.$$.on_destroy.push(subscribe(store, callback));\n}\n\nexport function create_slot(definition, ctx, $$scope, fn) {\n\tif (definition) {\n\t\tconst slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n\t\treturn definition[0](slot_ctx);\n\t}\n}\n\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n\treturn definition[1] && fn ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) : $$scope.ctx;\n}\n\nexport function get_slot_changes(definition, $$scope, dirty, fn) {\n\tif (definition[2] && fn) {\n\t\tconst lets = definition[2](fn(dirty));\n\t\tif ($$scope.dirty === undefined) {\n\t\t\treturn lets;\n\t\t}\n\t\tif (typeof lets === 'object') {\n\t\t\tconst merged = [];\n\t\t\tconst len = Math.max($$scope.dirty.length, lets.length);\n\t\t\tfor (let i = 0; i < len; i += 1) {\n\t\t\t\tmerged[i] = $$scope.dirty[i] | lets[i];\n\t\t\t}\n\t\t\treturn merged;\n\t\t}\n\t\treturn $$scope.dirty | lets;\n\t}\n\treturn $$scope.dirty;\n}\n\n/** @returns {void} */\nexport function update_slot_base(\n\tslot,\n\tslot_definition,\n\tctx,\n\t$$scope,\n\tslot_changes,\n\tget_slot_context_fn\n) {\n\tif (slot_changes) {\n\t\tconst slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n\t\tslot.p(slot_context, slot_changes);\n\t}\n}\n\n/** @returns {void} */\nexport function update_slot(\n\tslot,\n\tslot_definition,\n\tctx,\n\t$$scope,\n\tdirty,\n\tget_slot_changes_fn,\n\tget_slot_context_fn\n) {\n\tconst slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n\tupdate_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\n\n/** @returns {any[] | -1} */\nexport function get_all_dirty_from_scope($$scope) {\n\tif ($$scope.ctx.length > 32) {\n\t\tconst dirty = [];\n\t\tconst length = $$scope.ctx.length / 32;\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tdirty[i] = -1;\n\t\t}\n\t\treturn dirty;\n\t}\n\treturn -1;\n}\n\n/** @returns {{}} */\nexport function exclude_internal_props(props) {\n\tconst result = {};\n\tfor (const k in props) if (k[0] !== '$') result[k] = props[k];\n\treturn result;\n}\n\n/** @returns {{}} */\nexport function compute_rest_props(props, keys) {\n\tconst rest = {};\n\tkeys = new Set(keys);\n\tfor (const k in props) if (!keys.has(k) && k[0] !== '$') rest[k] = props[k];\n\treturn rest;\n}\n\n/** @returns {{}} */\nexport function compute_slots(slots) {\n\tconst result = {};\n\tfor (const key in slots) {\n\t\tresult[key] = true;\n\t}\n\treturn result;\n}\n\n/** @returns {(this: any, ...args: any[]) => void} */\nexport function once(fn) {\n\tlet ran = false;\n\treturn function (...args) {\n\t\tif (ran) return;\n\t\tran = true;\n\t\tfn.call(this, ...args);\n\t};\n}\n\nexport function null_to_empty(value) {\n\treturn value == null ? '' : value;\n}\n\nexport function set_store_value(store, ret, value) {\n\tstore.set(value);\n\treturn ret;\n}\n\nexport const has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\n\nexport function action_destroyer(action_result) {\n\treturn action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\n/** @param {number | string} value\n * @returns {[number, string]}\n */\nexport function split_css_unit(value) {\n\tconst split = typeof value === 'string' && value.match(/^\\s*(-?[\\d.]+)([^\\s]*)\\s*$/);\n\treturn split ? [parseFloat(split[1]), split[2] || 'px'] : [/** @type {number} */ (value), 'px'];\n}\n\nexport const contenteditable_truthy_values = ['', true, 1, 'true', 'contenteditable'];\n","import { contenteditable_truthy_values, has_prop } from './utils.js';\n\nimport { ResizeObserverSingleton } from './ResizeObserverSingleton.js';\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\n\n/**\n * @returns {void}\n */\nexport function start_hydrating() {\n\tis_hydrating = true;\n}\n\n/**\n * @returns {void}\n */\nexport function end_hydrating() {\n\tis_hydrating = false;\n}\n\n/**\n * @param {number} low\n * @param {number} high\n * @param {(index: number) => number} key\n * @param {number} value\n * @returns {number}\n */\nfunction upper_bound(low, high, key, value) {\n\t// Return first index of value larger than input value in the range [low, high)\n\twhile (low < high) {\n\t\tconst mid = low + ((high - low) >> 1);\n\t\tif (key(mid) <= value) {\n\t\t\tlow = mid + 1;\n\t\t} else {\n\t\t\thigh = mid;\n\t\t}\n\t}\n\treturn low;\n}\n\n/**\n * @param {NodeEx} target\n * @returns {void}\n */\nfunction init_hydrate(target) {\n\tif (target.hydrate_init) return;\n\ttarget.hydrate_init = true;\n\t// We know that all children have claim_order values since the unclaimed have been detached if target is not \n\n\tlet children = /** @type {ArrayLike} */ (target.childNodes);\n\t// If target is , there may be children without claim_order\n\tif (target.nodeName === 'HEAD') {\n\t\tconst my_children = [];\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tconst node = children[i];\n\t\t\tif (node.claim_order !== undefined) {\n\t\t\t\tmy_children.push(node);\n\t\t\t}\n\t\t}\n\t\tchildren = my_children;\n\t}\n\t/*\n\t * Reorder claimed children optimally.\n\t * We can reorder claimed children optimally by finding the longest subsequence of\n\t * nodes that are already claimed in order and only moving the rest. The longest\n\t * subsequence of nodes that are claimed in order can be found by\n\t * computing the longest increasing subsequence of .claim_order values.\n\t *\n\t * This algorithm is optimal in generating the least amount of reorder operations\n\t * possible.\n\t *\n\t * Proof:\n\t * We know that, given a set of reordering operations, the nodes that do not move\n\t * always form an increasing subsequence, since they do not move among each other\n\t * meaning that they must be already ordered among each other. Thus, the maximal\n\t * set of nodes that do not move form a longest increasing subsequence.\n\t */\n\t// Compute longest increasing subsequence\n\t// m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n\tconst m = new Int32Array(children.length + 1);\n\t// Predecessor indices + 1\n\tconst p = new Int32Array(children.length);\n\tm[0] = -1;\n\tlet longest = 0;\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst current = children[i].claim_order;\n\t\t// Find the largest subsequence length such that it ends in a value less than our current value\n\t\t// upper_bound returns first greater value, so we subtract one\n\t\t// with fast path for when we are on the current longest subsequence\n\t\tconst seq_len =\n\t\t\t(longest > 0 && children[m[longest]].claim_order <= current\n\t\t\t\t? longest + 1\n\t\t\t\t: upper_bound(1, longest, (idx) => children[m[idx]].claim_order, current)) - 1;\n\t\tp[i] = m[seq_len] + 1;\n\t\tconst new_len = seq_len + 1;\n\t\t// We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n\t\tm[new_len] = i;\n\t\tlongest = Math.max(new_len, longest);\n\t}\n\t// The longest increasing subsequence of nodes (initially reversed)\n\n\t/**\n\t * @type {NodeEx2[]}\n\t */\n\tconst lis = [];\n\t// The rest of the nodes, nodes that will be moved\n\n\t/**\n\t * @type {NodeEx2[]}\n\t */\n\tconst to_move = [];\n\tlet last = children.length - 1;\n\tfor (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n\t\tlis.push(children[cur - 1]);\n\t\tfor (; last >= cur; last--) {\n\t\t\tto_move.push(children[last]);\n\t\t}\n\t\tlast--;\n\t}\n\tfor (; last >= 0; last--) {\n\t\tto_move.push(children[last]);\n\t}\n\tlis.reverse();\n\t// We sort the nodes being moved to guarantee that their insertion order matches the claim order\n\tto_move.sort((a, b) => a.claim_order - b.claim_order);\n\t// Finally, we move the nodes\n\tfor (let i = 0, j = 0; i < to_move.length; i++) {\n\t\twhile (j < lis.length && to_move[i].claim_order >= lis[j].claim_order) {\n\t\t\tj++;\n\t\t}\n\t\tconst anchor = j < lis.length ? lis[j] : null;\n\t\ttarget.insertBefore(to_move[i], anchor);\n\t}\n}\n\n/**\n * @param {Node} target\n * @param {Node} node\n * @returns {void}\n */\nexport function append(target, node) {\n\ttarget.appendChild(node);\n}\n\n/**\n * @param {Node} target\n * @param {string} style_sheet_id\n * @param {string} styles\n * @returns {void}\n */\nexport function append_styles(target, style_sheet_id, styles) {\n\tconst append_styles_to = get_root_for_style(target);\n\tif (!append_styles_to.getElementById(style_sheet_id)) {\n\t\tconst style = element('style');\n\t\tstyle.id = style_sheet_id;\n\t\tstyle.textContent = styles;\n\t\tappend_stylesheet(append_styles_to, style);\n\t}\n}\n\n/**\n * @param {Node} node\n * @returns {ShadowRoot | Document}\n */\nexport function get_root_for_style(node) {\n\tif (!node) return document;\n\tconst root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n\tif (root && /** @type {ShadowRoot} */ (root).host) {\n\t\treturn /** @type {ShadowRoot} */ (root);\n\t}\n\treturn node.ownerDocument;\n}\n\n/**\n * @param {Node} node\n * @returns {CSSStyleSheet}\n */\nexport function append_empty_stylesheet(node) {\n\tconst style_element = element('style');\n\t// For transitions to work without 'style-src: unsafe-inline' Content Security Policy,\n\t// these empty tags need to be allowed with a hash as a workaround until we move to the Web Animations API.\n\t// Using the hash for the empty string (for an empty tag) works in all browsers except Safari.\n\t// So as a workaround for the workaround, when we append empty style tags we set their content to /* empty */.\n\t// The hash 'sha256-9OlNO0DNEeaVzHL4RZwCLsBHA8WBQ8toBp/4F5XV2nc=' will then work even in Safari.\n\tstyle_element.textContent = '/* empty */';\n\tappend_stylesheet(get_root_for_style(node), style_element);\n\treturn style_element.sheet;\n}\n\n/**\n * @param {ShadowRoot | Document} node\n * @param {HTMLStyleElement} style\n * @returns {CSSStyleSheet}\n */\nfunction append_stylesheet(node, style) {\n\tappend(/** @type {Document} */ (node).head || node, style);\n\treturn style.sheet;\n}\n\n/**\n * @param {NodeEx} target\n * @param {NodeEx} node\n * @returns {void}\n */\nexport function append_hydration(target, node) {\n\tif (is_hydrating) {\n\t\tinit_hydrate(target);\n\t\tif (\n\t\t\ttarget.actual_end_child === undefined ||\n\t\t\t(target.actual_end_child !== null && target.actual_end_child.parentNode !== target)\n\t\t) {\n\t\t\ttarget.actual_end_child = target.firstChild;\n\t\t}\n\t\t// Skip nodes of undefined ordering\n\t\twhile (target.actual_end_child !== null && target.actual_end_child.claim_order === undefined) {\n\t\t\ttarget.actual_end_child = target.actual_end_child.nextSibling;\n\t\t}\n\t\tif (node !== target.actual_end_child) {\n\t\t\t// We only insert if the ordering of this node should be modified or the parent node is not target\n\t\t\tif (node.claim_order !== undefined || node.parentNode !== target) {\n\t\t\t\ttarget.insertBefore(node, target.actual_end_child);\n\t\t\t}\n\t\t} else {\n\t\t\ttarget.actual_end_child = node.nextSibling;\n\t\t}\n\t} else if (node.parentNode !== target || node.nextSibling !== null) {\n\t\ttarget.appendChild(node);\n\t}\n}\n\n/**\n * @param {Node} target\n * @param {Node} node\n * @param {Node} [anchor]\n * @returns {void}\n */\nexport function insert(target, node, anchor) {\n\ttarget.insertBefore(node, anchor || null);\n}\n\n/**\n * @param {NodeEx} target\n * @param {NodeEx} node\n * @param {NodeEx} [anchor]\n * @returns {void}\n */\nexport function insert_hydration(target, node, anchor) {\n\tif (is_hydrating && !anchor) {\n\t\tappend_hydration(target, node);\n\t} else if (node.parentNode !== target || node.nextSibling != anchor) {\n\t\ttarget.insertBefore(node, anchor || null);\n\t}\n}\n\n/**\n * @param {Node} node\n * @returns {void}\n */\nexport function detach(node) {\n\tif (node.parentNode) {\n\t\tnode.parentNode.removeChild(node);\n\t}\n}\n\n/**\n * @returns {void} */\nexport function destroy_each(iterations, detaching) {\n\tfor (let i = 0; i < iterations.length; i += 1) {\n\t\tif (iterations[i]) iterations[i].d(detaching);\n\t}\n}\n\n/**\n * @template {keyof HTMLElementTagNameMap} K\n * @param {K} name\n * @returns {HTMLElementTagNameMap[K]}\n */\nexport function element(name) {\n\treturn document.createElement(name);\n}\n\n/**\n * @template {keyof HTMLElementTagNameMap} K\n * @param {K} name\n * @param {string} is\n * @returns {HTMLElementTagNameMap[K]}\n */\nexport function element_is(name, is) {\n\treturn document.createElement(name, { is });\n}\n\n/**\n * @template T\n * @template {keyof T} K\n * @param {T} obj\n * @param {K[]} exclude\n * @returns {Pick>}\n */\nexport function object_without_properties(obj, exclude) {\n\tconst target = /** @type {Pick>} */ ({});\n\tfor (const k in obj) {\n\t\tif (\n\t\t\thas_prop(obj, k) &&\n\t\t\t// @ts-ignore\n\t\t\texclude.indexOf(k) === -1\n\t\t) {\n\t\t\t// @ts-ignore\n\t\t\ttarget[k] = obj[k];\n\t\t}\n\t}\n\treturn target;\n}\n\n/**\n * @template {keyof SVGElementTagNameMap} K\n * @param {K} name\n * @returns {SVGElement}\n */\nexport function svg_element(name) {\n\treturn document.createElementNS('http://www.w3.org/2000/svg', name);\n}\n\n/**\n * @param {string} data\n * @returns {Text}\n */\nexport function text(data) {\n\treturn document.createTextNode(data);\n}\n\n/**\n * @returns {Text} */\nexport function space() {\n\treturn text(' ');\n}\n\n/**\n * @returns {Text} */\nexport function empty() {\n\treturn text('');\n}\n\n/**\n * @param {string} content\n * @returns {Comment}\n */\nexport function comment(content) {\n\treturn document.createComment(content);\n}\n\n/**\n * @param {EventTarget} node\n * @param {string} event\n * @param {EventListenerOrEventListenerObject} handler\n * @param {boolean | AddEventListenerOptions | EventListenerOptions} [options]\n * @returns {() => void}\n */\nexport function listen(node, event, handler, options) {\n\tnode.addEventListener(event, handler, options);\n\treturn () => node.removeEventListener(event, handler, options);\n}\n\n/**\n * @returns {(event: any) => any} */\nexport function prevent_default(fn) {\n\treturn function (event) {\n\t\tevent.preventDefault();\n\t\t// @ts-ignore\n\t\treturn fn.call(this, event);\n\t};\n}\n\n/**\n * @returns {(event: any) => any} */\nexport function stop_propagation(fn) {\n\treturn function (event) {\n\t\tevent.stopPropagation();\n\t\t// @ts-ignore\n\t\treturn fn.call(this, event);\n\t};\n}\n\n/**\n * @returns {(event: any) => any} */\nexport function stop_immediate_propagation(fn) {\n\treturn function (event) {\n\t\tevent.stopImmediatePropagation();\n\t\t// @ts-ignore\n\t\treturn fn.call(this, event);\n\t};\n}\n\n/**\n * @returns {(event: any) => void} */\nexport function self(fn) {\n\treturn function (event) {\n\t\t// @ts-ignore\n\t\tif (event.target === this) fn.call(this, event);\n\t};\n}\n\n/**\n * @returns {(event: any) => void} */\nexport function trusted(fn) {\n\treturn function (event) {\n\t\t// @ts-ignore\n\t\tif (event.isTrusted) fn.call(this, event);\n\t};\n}\n\n/**\n * @param {Element} node\n * @param {string} attribute\n * @param {string} [value]\n * @returns {void}\n */\nexport function attr(node, attribute, value) {\n\tif (value == null) node.removeAttribute(attribute);\n\telse if (node.getAttribute(attribute) !== value) node.setAttribute(attribute, value);\n}\n/**\n * List of attributes that should always be set through the attr method,\n * because updating them through the property setter doesn't work reliably.\n * In the example of `width`/`height`, the problem is that the setter only\n * accepts numeric values, but the attribute can also be set to a string like `50%`.\n * If this list becomes too big, rethink this approach.\n */\nconst always_set_through_set_attribute = ['width', 'height'];\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {{ [x: string]: string }} attributes\n * @returns {void}\n */\nexport function set_attributes(node, attributes) {\n\t// @ts-ignore\n\tconst descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n\tfor (const key in attributes) {\n\t\tif (attributes[key] == null) {\n\t\t\tnode.removeAttribute(key);\n\t\t} else if (key === 'style') {\n\t\t\tnode.style.cssText = attributes[key];\n\t\t} else if (key === '__value') {\n\t\t\t/** @type {any} */ (node).value = node[key] = attributes[key];\n\t\t} else if (\n\t\t\tdescriptors[key] &&\n\t\t\tdescriptors[key].set &&\n\t\t\talways_set_through_set_attribute.indexOf(key) === -1\n\t\t) {\n\t\t\tnode[key] = attributes[key];\n\t\t} else {\n\t\t\tattr(node, key, attributes[key]);\n\t\t}\n\t}\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {{ [x: string]: string }} attributes\n * @returns {void}\n */\nexport function set_svg_attributes(node, attributes) {\n\tfor (const key in attributes) {\n\t\tattr(node, key, attributes[key]);\n\t}\n}\n\n/**\n * @param {Record} data_map\n * @returns {void}\n */\nexport function set_custom_element_data_map(node, data_map) {\n\tObject.keys(data_map).forEach((key) => {\n\t\tset_custom_element_data(node, key, data_map[key]);\n\t});\n}\n\n/**\n * @returns {void} */\nexport function set_custom_element_data(node, prop, value) {\n\tconst lower = prop.toLowerCase(); // for backwards compatibility with existing behavior we do lowercase first\n\tif (lower in node) {\n\t\tnode[lower] = typeof node[lower] === 'boolean' && value === '' ? true : value;\n\t} else if (prop in node) {\n\t\tnode[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n\t} else {\n\t\tattr(node, prop, value);\n\t}\n}\n\n/**\n * @param {string} tag\n */\nexport function set_dynamic_element_data(tag) {\n\treturn /-/.test(tag) ? set_custom_element_data_map : set_attributes;\n}\n\n/**\n * @returns {void}\n */\nexport function xlink_attr(node, attribute, value) {\n\tnode.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\n\n/**\n * @param {HTMLElement} node\n * @returns {string}\n */\nexport function get_svelte_dataset(node) {\n\treturn node.dataset.svelteH;\n}\n\n/**\n * @returns {unknown[]} */\nexport function get_binding_group_value(group, __value, checked) {\n\tconst value = new Set();\n\tfor (let i = 0; i < group.length; i += 1) {\n\t\tif (group[i].checked) value.add(group[i].__value);\n\t}\n\tif (!checked) {\n\t\tvalue.delete(__value);\n\t}\n\treturn Array.from(value);\n}\n\n/**\n * @param {HTMLInputElement[]} group\n * @returns {{ p(...inputs: HTMLInputElement[]): void; r(): void; }}\n */\nexport function init_binding_group(group) {\n\t/**\n\t * @type {HTMLInputElement[]} */\n\tlet _inputs;\n\treturn {\n\t\t/* push */ p(...inputs) {\n\t\t\t_inputs = inputs;\n\t\t\t_inputs.forEach((input) => group.push(input));\n\t\t},\n\t\t/* remove */ r() {\n\t\t\t_inputs.forEach((input) => group.splice(group.indexOf(input), 1));\n\t\t}\n\t};\n}\n\n/**\n * @param {number[]} indexes\n * @returns {{ u(new_indexes: number[]): void; p(...inputs: HTMLInputElement[]): void; r: () => void; }}\n */\nexport function init_binding_group_dynamic(group, indexes) {\n\t/**\n\t * @type {HTMLInputElement[]} */\n\tlet _group = get_binding_group(group);\n\n\t/**\n\t * @type {HTMLInputElement[]} */\n\tlet _inputs;\n\n\tfunction get_binding_group(group) {\n\t\tfor (let i = 0; i < indexes.length; i++) {\n\t\t\tgroup = group[indexes[i]] = group[indexes[i]] || [];\n\t\t}\n\t\treturn group;\n\t}\n\n\t/**\n\t * @returns {void} */\n\tfunction push() {\n\t\t_inputs.forEach((input) => _group.push(input));\n\t}\n\n\t/**\n\t * @returns {void} */\n\tfunction remove() {\n\t\t_inputs.forEach((input) => _group.splice(_group.indexOf(input), 1));\n\t}\n\treturn {\n\t\t/* update */ u(new_indexes) {\n\t\t\tindexes = new_indexes;\n\t\t\tconst new_group = get_binding_group(group);\n\t\t\tif (new_group !== _group) {\n\t\t\t\tremove();\n\t\t\t\t_group = new_group;\n\t\t\t\tpush();\n\t\t\t}\n\t\t},\n\t\t/* push */ p(...inputs) {\n\t\t\t_inputs = inputs;\n\t\t\tpush();\n\t\t},\n\t\t/* remove */ r: remove\n\t};\n}\n\n/** @returns {number} */\nexport function to_number(value) {\n\treturn value === '' ? null : +value;\n}\n\n/** @returns {any[]} */\nexport function time_ranges_to_array(ranges) {\n\tconst array = [];\n\tfor (let i = 0; i < ranges.length; i += 1) {\n\t\tarray.push({ start: ranges.start(i), end: ranges.end(i) });\n\t}\n\treturn array;\n}\n\n/**\n * @param {Element} element\n * @returns {ChildNode[]}\n */\nexport function children(element) {\n\treturn Array.from(element.childNodes);\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @returns {void}\n */\nfunction init_claim_info(nodes) {\n\tif (nodes.claim_info === undefined) {\n\t\tnodes.claim_info = { last_index: 0, total_claimed: 0 };\n\t}\n}\n\n/**\n * @template {ChildNodeEx} R\n * @param {ChildNodeArray} nodes\n * @param {(node: ChildNodeEx) => node is R} predicate\n * @param {(node: ChildNodeEx) => ChildNodeEx | undefined} process_node\n * @param {() => R} create_node\n * @param {boolean} dont_update_last_index\n * @returns {R}\n */\nfunction claim_node(nodes, predicate, process_node, create_node, dont_update_last_index = false) {\n\t// Try to find nodes in an order such that we lengthen the longest increasing subsequence\n\tinit_claim_info(nodes);\n\tconst result_node = (() => {\n\t\t// We first try to find an element after the previous one\n\t\tfor (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (predicate(node)) {\n\t\t\t\tconst replacement = process_node(node);\n\t\t\t\tif (replacement === undefined) {\n\t\t\t\t\tnodes.splice(i, 1);\n\t\t\t\t} else {\n\t\t\t\t\tnodes[i] = replacement;\n\t\t\t\t}\n\t\t\t\tif (!dont_update_last_index) {\n\t\t\t\t\tnodes.claim_info.last_index = i;\n\t\t\t\t}\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\t// Otherwise, we try to find one before\n\t\t// We iterate in reverse so that we don't go too far back\n\t\tfor (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (predicate(node)) {\n\t\t\t\tconst replacement = process_node(node);\n\t\t\t\tif (replacement === undefined) {\n\t\t\t\t\tnodes.splice(i, 1);\n\t\t\t\t} else {\n\t\t\t\t\tnodes[i] = replacement;\n\t\t\t\t}\n\t\t\t\tif (!dont_update_last_index) {\n\t\t\t\t\tnodes.claim_info.last_index = i;\n\t\t\t\t} else if (replacement === undefined) {\n\t\t\t\t\t// Since we spliced before the last_index, we decrease it\n\t\t\t\t\tnodes.claim_info.last_index--;\n\t\t\t\t}\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\t// If we can't find any matching node, we create a new one\n\t\treturn create_node();\n\t})();\n\tresult_node.claim_order = nodes.claim_info.total_claimed;\n\tnodes.claim_info.total_claimed += 1;\n\treturn result_node;\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @param {string} name\n * @param {{ [key: string]: boolean }} attributes\n * @param {(name: string) => Element | SVGElement} create_element\n * @returns {Element | SVGElement}\n */\nfunction claim_element_base(nodes, name, attributes, create_element) {\n\treturn claim_node(\n\t\tnodes,\n\t\t/** @returns {node is Element | SVGElement} */\n\t\t(node) => node.nodeName === name,\n\t\t/** @param {Element} node */\n\t\t(node) => {\n\t\t\tconst remove = [];\n\t\t\tfor (let j = 0; j < node.attributes.length; j++) {\n\t\t\t\tconst attribute = node.attributes[j];\n\t\t\t\tif (!attributes[attribute.name]) {\n\t\t\t\t\tremove.push(attribute.name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tremove.forEach((v) => node.removeAttribute(v));\n\t\t\treturn undefined;\n\t\t},\n\t\t() => create_element(name)\n\t);\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @param {string} name\n * @param {{ [key: string]: boolean }} attributes\n * @returns {Element | SVGElement}\n */\nexport function claim_element(nodes, name, attributes) {\n\treturn claim_element_base(nodes, name, attributes, element);\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @param {string} name\n * @param {{ [key: string]: boolean }} attributes\n * @returns {Element | SVGElement}\n */\nexport function claim_svg_element(nodes, name, attributes) {\n\treturn claim_element_base(nodes, name, attributes, svg_element);\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @returns {Text}\n */\nexport function claim_text(nodes, data) {\n\treturn claim_node(\n\t\tnodes,\n\t\t/** @returns {node is Text} */\n\t\t(node) => node.nodeType === 3,\n\t\t/** @param {Text} node */\n\t\t(node) => {\n\t\t\tconst data_str = '' + data;\n\t\t\tif (node.data.startsWith(data_str)) {\n\t\t\t\tif (node.data.length !== data_str.length) {\n\t\t\t\t\treturn node.splitText(data_str.length);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnode.data = data_str;\n\t\t\t}\n\t\t},\n\t\t() => text(data),\n\t\ttrue // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n\t);\n}\n\n/**\n * @returns {Text} */\nexport function claim_space(nodes) {\n\treturn claim_text(nodes, ' ');\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @returns {Comment}\n */\nexport function claim_comment(nodes, data) {\n\treturn claim_node(\n\t\tnodes,\n\t\t/** @returns {node is Comment} */\n\t\t(node) => node.nodeType === 8,\n\t\t/** @param {Comment} node */\n\t\t(node) => {\n\t\t\tnode.data = '' + data;\n\t\t\treturn undefined;\n\t\t},\n\t\t() => comment(data),\n\t\ttrue\n\t);\n}\n\nfunction get_comment_idx(nodes, text, start) {\n\tfor (let i = start; i < nodes.length; i += 1) {\n\t\tconst node = nodes[i];\n\t\tif (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n}\n\n/**\n * @param {boolean} is_svg\n * @returns {HtmlTagHydration}\n */\nexport function claim_html_tag(nodes, is_svg) {\n\t// find html opening tag\n\tconst start_index = get_comment_idx(nodes, 'HTML_TAG_START', 0);\n\tconst end_index = get_comment_idx(nodes, 'HTML_TAG_END', start_index + 1);\n\tif (start_index === -1 || end_index === -1) {\n\t\treturn new HtmlTagHydration(is_svg);\n\t}\n\n\tinit_claim_info(nodes);\n\tconst html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);\n\tdetach(html_tag_nodes[0]);\n\tdetach(html_tag_nodes[html_tag_nodes.length - 1]);\n\tconst claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n\tif (claimed_nodes.length === 0) {\n\t\treturn new HtmlTagHydration(is_svg);\n\t}\n\tfor (const n of claimed_nodes) {\n\t\tn.claim_order = nodes.claim_info.total_claimed;\n\t\tnodes.claim_info.total_claimed += 1;\n\t}\n\treturn new HtmlTagHydration(is_svg, claimed_nodes);\n}\n\n/**\n * @param {Text} text\n * @param {unknown} data\n * @returns {void}\n */\nexport function set_data(text, data) {\n\tdata = '' + data;\n\tif (text.data === data) return;\n\ttext.data = /** @type {string} */ (data);\n}\n\n/**\n * @param {Text} text\n * @param {unknown} data\n * @returns {void}\n */\nexport function set_data_contenteditable(text, data) {\n\tdata = '' + data;\n\tif (text.wholeText === data) return;\n\ttext.data = /** @type {string} */ (data);\n}\n\n/**\n * @param {Text} text\n * @param {unknown} data\n * @param {string} attr_value\n * @returns {void}\n */\nexport function set_data_maybe_contenteditable(text, data, attr_value) {\n\tif (~contenteditable_truthy_values.indexOf(attr_value)) {\n\t\tset_data_contenteditable(text, data);\n\t} else {\n\t\tset_data(text, data);\n\t}\n}\n\n/**\n * @returns {void} */\nexport function set_input_value(input, value) {\n\tinput.value = value == null ? '' : value;\n}\n\n/**\n * @returns {void} */\nexport function set_input_type(input, type) {\n\ttry {\n\t\tinput.type = type;\n\t} catch (e) {\n\t\t// do nothing\n\t}\n}\n\n/**\n * @returns {void} */\nexport function set_style(node, key, value, important) {\n\tif (value == null) {\n\t\tnode.style.removeProperty(key);\n\t} else {\n\t\tnode.style.setProperty(key, value, important ? 'important' : '');\n\t}\n}\n\n/**\n * @returns {void} */\nexport function select_option(select, value, mounting) {\n\tfor (let i = 0; i < select.options.length; i += 1) {\n\t\tconst option = select.options[i];\n\t\tif (option.__value === value) {\n\t\t\toption.selected = true;\n\t\t\treturn;\n\t\t}\n\t}\n\tif (!mounting || value !== undefined) {\n\t\tselect.selectedIndex = -1; // no option should be selected\n\t}\n}\n\n/**\n * @returns {void} */\nexport function select_options(select, value) {\n\tfor (let i = 0; i < select.options.length; i += 1) {\n\t\tconst option = select.options[i];\n\t\toption.selected = ~value.indexOf(option.__value);\n\t}\n}\n\nexport function select_value(select) {\n\tconst selected_option = select.querySelector(':checked');\n\treturn selected_option && selected_option.__value;\n}\n\nexport function select_multiple_value(select) {\n\treturn [].map.call(select.querySelectorAll(':checked'), (option) => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\n\n/**\n * @type {boolean} */\nlet crossorigin;\n\n/**\n * @returns {boolean} */\nexport function is_crossorigin() {\n\tif (crossorigin === undefined) {\n\t\tcrossorigin = false;\n\t\ttry {\n\t\t\tif (typeof window !== 'undefined' && window.parent) {\n\t\t\t\tvoid window.parent.document;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tcrossorigin = true;\n\t\t}\n\t}\n\treturn crossorigin;\n}\n\n/**\n * @param {HTMLElement} node\n * @param {() => void} fn\n * @returns {() => void}\n */\nexport function add_iframe_resize_listener(node, fn) {\n\tconst computed_style = getComputedStyle(node);\n\tif (computed_style.position === 'static') {\n\t\tnode.style.position = 'relative';\n\t}\n\tconst iframe = element('iframe');\n\tiframe.setAttribute(\n\t\t'style',\n\t\t'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n\t\t\t'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;'\n\t);\n\tiframe.setAttribute('aria-hidden', 'true');\n\tiframe.tabIndex = -1;\n\tconst crossorigin = is_crossorigin();\n\n\t/**\n\t * @type {() => void}\n\t */\n\tlet unsubscribe;\n\tif (crossorigin) {\n\t\tiframe.src = \"data:text/html,\";\n\t\tunsubscribe = listen(\n\t\t\twindow,\n\t\t\t'message',\n\t\t\t/** @param {MessageEvent} event */ (event) => {\n\t\t\t\tif (event.source === iframe.contentWindow) fn();\n\t\t\t}\n\t\t);\n\t} else {\n\t\tiframe.src = 'about:blank';\n\t\tiframe.onload = () => {\n\t\t\tunsubscribe = listen(iframe.contentWindow, 'resize', fn);\n\t\t\t// make sure an initial resize event is fired _after_ the iframe is loaded (which is asynchronous)\n\t\t\t// see https://github.com/sveltejs/svelte/issues/4233\n\t\t\tfn();\n\t\t};\n\t}\n\tappend(node, iframe);\n\treturn () => {\n\t\tif (crossorigin) {\n\t\t\tunsubscribe();\n\t\t} else if (unsubscribe && iframe.contentWindow) {\n\t\t\tunsubscribe();\n\t\t}\n\t\tdetach(iframe);\n\t};\n}\nexport const resize_observer_content_box = /* @__PURE__ */ new ResizeObserverSingleton({\n\tbox: 'content-box'\n});\nexport const resize_observer_border_box = /* @__PURE__ */ new ResizeObserverSingleton({\n\tbox: 'border-box'\n});\nexport const resize_observer_device_pixel_content_box = /* @__PURE__ */ new ResizeObserverSingleton(\n\t{ box: 'device-pixel-content-box' }\n);\nexport { ResizeObserverSingleton };\n\n/**\n * @returns {void} */\nexport function toggle_class(element, name, toggle) {\n\t// The `!!` is required because an `undefined` flag means flipping the current state.\n\telement.classList.toggle(name, !!toggle);\n}\n\n/**\n * @template T\n * @param {string} type\n * @param {T} [detail]\n * @param {{ bubbles?: boolean, cancelable?: boolean }} [options]\n * @returns {CustomEvent}\n */\nexport function custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n\treturn new CustomEvent(type, { detail, bubbles, cancelable });\n}\n\n/**\n * @param {string} selector\n * @param {HTMLElement} parent\n * @returns {ChildNodeArray}\n */\nexport function query_selector_all(selector, parent = document.body) {\n\treturn Array.from(parent.querySelectorAll(selector));\n}\n\n/**\n * @param {string} nodeId\n * @param {HTMLElement} head\n * @returns {any[]}\n */\nexport function head_selector(nodeId, head) {\n\tconst result = [];\n\tlet started = 0;\n\tfor (const node of head.childNodes) {\n\t\tif (node.nodeType === 8 /* comment node */) {\n\t\t\tconst comment = node.textContent.trim();\n\t\t\tif (comment === `HEAD_${nodeId}_END`) {\n\t\t\t\tstarted -= 1;\n\t\t\t\tresult.push(node);\n\t\t\t} else if (comment === `HEAD_${nodeId}_START`) {\n\t\t\t\tstarted += 1;\n\t\t\t\tresult.push(node);\n\t\t\t}\n\t\t} else if (started > 0) {\n\t\t\tresult.push(node);\n\t\t}\n\t}\n\treturn result;\n}\n/** */\nexport class HtmlTag {\n\t/**\n\t * @private\n\t * @default false\n\t */\n\tis_svg = false;\n\t/** parent for creating node */\n\te = undefined;\n\t/** html tag nodes */\n\tn = undefined;\n\t/** target */\n\tt = undefined;\n\t/** anchor */\n\ta = undefined;\n\tconstructor(is_svg = false) {\n\t\tthis.is_svg = is_svg;\n\t\tthis.e = this.n = null;\n\t}\n\n\t/**\n\t * @param {string} html\n\t * @returns {void}\n\t */\n\tc(html) {\n\t\tthis.h(html);\n\t}\n\n\t/**\n\t * @param {string} html\n\t * @param {HTMLElement | SVGElement} target\n\t * @param {HTMLElement | SVGElement} anchor\n\t * @returns {void}\n\t */\n\tm(html, target, anchor = null) {\n\t\tif (!this.e) {\n\t\t\tif (this.is_svg)\n\t\t\t\tthis.e = svg_element(/** @type {keyof SVGElementTagNameMap} */ (target.nodeName));\n\t\t\t/** #7364 target for