From 10fdda338bf807a2ade46d649c51f8685536d344 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Wed, 23 Sep 2026 15:37:18 +0000 Subject: [PATCH] Rebuild the tree so every leaf's baked SRI matches its bundle A single-bundle build regenerates the JS but not the leaf pages, so four big-picture leaves carried a stale sha384 and the browser refused to execute the script at all. That is why a nav probe measured 0 sections on a shell whose source was correct, and it is the likeliest cause of a teammate's 'pggMounted: false on big-picture everywhere' reading. check:sri named both the cause and the fix; ran the full build it prescribes on a settled tree. Now PASS: 44 script references across 45 leaf pages, every leaf's integrity matching the bundle it loads. --- package.json | 2 + public/__gallery/index.html | 4 +- public/doxa-maps/big-picture/big-picture.js | 2 +- .../big-picture/big-picture/index.html | 2 +- .../big-picture/frontier/index.html | 2 +- .../big-picture/big-picture/index.html | 2 +- .../dashboard-plus-grid.js | 60 +++++----- .../dashboard-plus-grid/default/index.html | 2 +- .../dashboard-plus-grid/index.html | 2 +- .../doxa-maps-spa/doxa-maps-spa/index.html | 2 +- .../doxa-research-map/doxa-research-map.js | 110 +++++++++--------- .../doxa-research-map/research-map/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 49 ++++++-- .../research-dashboard/research-dashboard.js | 60 +++++----- .../research-dashboard/index.html | 2 +- 16 files changed, 166 insertions(+), 139 deletions(-) diff --git a/package.json b/package.json index aba81c34f..af4578fec 100644 --- a/package.json +++ b/package.json @@ -88,6 +88,8 @@ "check:composite-srcs": "node internal/check-composite-srcs.mjs", "check:nested-token": "node internal/check-nested-token-delivery.mjs", "check:nav-reachable": "node internal/check-nav-reachable-mobile.mjs # a cap-5 shell must have ONE on-screen control that opens its tab rail at phone width (needs `bun run serve` on 4173; browser gate, not in build:unlocked)", + "check:fits-screen": "node internal/check-fits-the-screen.mjs # THE FITNESS-FOR-USE GATE (LL-the-user-found-three-bugs-my-gates-could-not-see): a green STATE suite (mounts/fetches/counts/paints) said nothing about whether the product is USABLE, and the Driver found five real defects in one sitting that no gate saw. Asserts 5 clauses on the built dashboard-plus-grid composite + research-dashboard leaf, real browser, live data: (A) the dashboard band fits ONE 1440x900 viewport and is shorter than its own tree-legend's scrollHeight; (B) the people-groups grid is still reachable by scrolling underneath it (a fix for A must not re-break this — AP-fixing-reachability-by-making-the-thing-taller); (C) a wheel over the map changes ZOOM and does not scroll the pane, a wheel below it scrolls and does not zoom — instrumented on the DISPATCHED EVENT (composedPath), not geometry, per LL-four-wrong-diagnoses-instrument-the-event-not-the-geometry; (D) the grid's live count ([data-table-count], the composite's documented single source of truth — show-total=false on the grid child is deliberate) is visible and CHANGES when a facet narrows it; (E) a 1440/1280/768/390 responsive sweep has no horizontal document overflow and no element clipped to zero height (.rd-td/.rd-th ellipsis excluded — expected). Spawns its own serve-strict on PORT (default 4391); SKIPs (exit 0) if the tree is not settled at START OR re-settled at END, or pray.doxa.life is unreachable — never reports a defect from a torn tree. Also best-effort probes any cap-5 shell the manifest declares (type nested-mfe-spa) by CONTENT-MATCHING a tab, never by hardcoded structure, so it survives the shell's own in-flight restructure without depending on it. Needs a built tree (`bun run build`). run `check:fits-screen:self-test` for the NEGATIVE test.", + "check:fits-screen:self-test": "node internal/check-fits-the-screen.mjs --self-test # FIVE regression modes, one per clause, each required to fire ITS OWN [A]/[B]/[C]/[D]/[E]-named failure: --self-test-clause=a (default — forces the dashboard section past the viewport, the AP-fixing-reachability shape), =b (n/a here — B is proven by A's own poison already trapping the grid below the fold; kept as a mode for a future independent poison), =c (freezes map.scrollZoom enabled, the BUG-MAP-EATS-THE-WHEEL regression), =d (blanks the live count element), =e (forces the shell wider than the viewport at 1440). A gate that has only ever printed PASS is unproven.", "verify:browser-all": "node internal/verify-browser-all.mjs # runs EVERY browser gate in the GATES array over the built tree in one command (needs `bun run serve` on 4173 + MAPBOX_TOKEN). Deliberately does NOT state a count: GATES lives in the .mjs and grows, so a number here rots on the next append — it said \"ALL 7\" while the array held 9. The script prints its own GATES.length at runtime; trust that. Every gate listed was RUN before being listed. The `verify:browser-all:plugin-gallery` mode is separate because it needs the vite dev server.", "check:shot-fonts": "node internal/check-shot-fonts.mjs # can THIS machine render the emoji the UI uses? Run BEFORE `bun run shots` — no font = tofu boxes in every committed PNG, which every other shot gate passes. Deliberately NOT in build:unlocked: it reports an ENVIRONMENT condition (this box has no emoji font), and a gate that always fails in the build makes the build useless.", "smoke:share-all": "sh -c 'B=${BASE_URL:-http://127.0.0.1:4173}; exec node internal/share-roundtrip-smoke.mjs --url \"$B/doxa-maps/cities-internet/connectivity-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/country-posters/countries-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/demo-map/demo-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/doxa-research-map/research-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/doxa-simple-map/doxa-simple-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/gospel-resources/resources-map/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/my-upg-100-list/upg-100-list/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/research-dashboard/research-dashboard/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/research-map-plus-grid/research-map-plus-grid/index.html?tk=$MAPBOX_TOKEN\" --url \"$B/doxa-maps/my-upg-100-list/upg-100-mfe/index.html?tk=$MAPBOX_TOKEN\" --browser chromium'", diff --git a/public/__gallery/index.html b/public/__gallery/index.html index b457a014b..a0d42c09c 100644 --- a/public/__gallery/index.html +++ b/public/__gallery/index.html @@ -94,7 +94,7 @@ code{font-family:ui-monospace,Menlo,monospace} (function () { var TREE = "../doxa-maps", TOKEN_SRC = "window.MAP_TOKEN_URL", BAKED_TOKEN = "pk.eyJ1IjoiZ29zeXN0ZW1zIiwiYSI6ImNtZm9vM291czA3amQya3BzYW42YW9ibTcifQ.52WM0IpxY9FcB0zc9f1zbQ", API_BASE = "https://pray.doxa.life", ASSETS_BASE = "", QA = false; var DEFAULT_TOKEN_URL = '/api/maps/token'; - var BAKED = [{"b":"all-people-groups","s":"./all-people-groups/all-people-groups.js","i":"sha384-DXAVG9lD/E5ikp1qxouggcLh5uEiE9MNPp0BvMomCRK4Rqz5J3yD9N/a6zvw+pCo","e":["all-people-groups"],"p":[{"p":"all-people-groups","e":"all-people-groups","u":"./all-people-groups/all-people-groups/index.html","d":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","c":1,"em":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-DXAVG9lD/E5ikp1qxouggcLh5uEiE9MNPp0BvMomCRK4Rqz5J3yD9N/a6zvw+pCo\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"}}]},{"b":"big-picture","s":"./big-picture/big-picture.js","i":"sha384-aOk6q4eMf6DIxCn2hUN2uUOxdj4JiJtHzoV+maN2asrp08mMTZLAG3xq8MxgSSBw","e":["bp-big-picture","bp-research-header","people-groups-grid"],"p":[{"p":"big-picture","e":"bp-big-picture","u":"./big-picture/big-picture/index.html","d":"The Cat-4 composite that PAIRS the two real capability elements of the","c":4,"em":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-aOk6q4eMf6DIxCn2hUN2uUOxdj4JiJtHzoV+maN2asrp08mMTZLAG3xq8MxgSSBw\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"in":[{"id":"big-picture","t":"Big Picture — research header ↔ people-groups grid (composite)","a":"","pr":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"e":"bp-big-picture","u":"./big-picture/big-picture/big-picture/index.html"},{"id":"frontier","t":"Big Picture — frontier accent","a":"","pr":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"e":"bp-big-picture","u":"./big-picture/big-picture/frontier/index.html"}]}]},{"b":"cities-internet","s":"./cities-internet/cities-internet.js","i":"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo","e":["cities-internet-map"],"p":[{"p":"connectivity-list","e":"cities-internet-map","u":"./cities-internet/connectivity-list/index.html","d":"Countries where DX people groups live, grouped by region, showing measured internet penetration","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"p":"connectivity-map","e":"cities-internet-map","u":"./cities-internet/connectivity-map/index.html","d":"Every country shaded by measured internet penetration, with its named carriers and dominant","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"p":"data-tables","e":"cities-internet-map","u":"./cities-internet/data-tables/index.html","d":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"b":"country-posters","s":"./country-posters/country-posters.js","i":"sha384-4MLqWU5FPGDfbLO/iJBFFtNRM8WjdwnXXcI5sp+S39mRYi8NH17ojPEUbGF3zF/f","e":["country-posters-map"],"p":[{"p":"countries-map","e":"country-posters-map","u":"./country-posters/countries-map/index.html","d":"The researcher's workbench retargeted from people groups to COUNTRIES — region","c":1,"em":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-4MLqWU5FPGDfbLO/iJBFFtNRM8WjdwnXXcI5sp+S39mRYi8NH17ojPEUbGF3zF/f\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"p":"country-poster-wall","e":"country-posters-map","u":"./country-posters/country-poster-wall/index.html","d":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","c":1,"em":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-4MLqWU5FPGDfbLO/iJBFFtNRM8WjdwnXXcI5sp+S39mRYi8NH17ojPEUbGF3zF/f\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"b":"dashboard-plus-grid","s":"./dashboard-plus-grid/dashboard-plus-grid.js","i":"sha384-yfHCgd3JMyljAgMbuaUTrANkHxaVHq+2vKrexdEysuIULBhMglIVUrp/WTAOvUPt","e":["dashboard-plus-grid"],"p":[{"p":"dashboard-plus-grid","e":"dashboard-plus-grid","u":"./dashboard-plus-grid/dashboard-plus-grid/index.html","d":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","c":4,"em":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-yfHCgd3JMyljAgMbuaUTrANkHxaVHq+2vKrexdEysuIULBhMglIVUrp/WTAOvUPt\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"in":[{"id":"default","t":"default","a":"","pr":{"profile":"dashboard-plus-grid"},"e":"dashboard-plus-grid","u":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html"}]}]},{"b":"demo-map","s":"./demo-map/demo-map.js","i":"sha384-/vJk6np5yr3F78UglY6t07VUuQ7z58O0iLYc48UA6Q9kVLfSdHFOCRh2Vmd0rdIF","e":["demo-map"],"p":[{"p":"demo-map","e":"demo-map","u":"./demo-map/demo-map/index.html","d":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","c":2,"em":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-/vJk6np5yr3F78UglY6t07VUuQ7z58O0iLYc48UA6Q9kVLfSdHFOCRh2Vmd0rdIF\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"in":[{"id":"maplibre","t":"Demo map — MapLibre (token-free)","a":"","pr":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"e":"demo-map","u":"./demo-map/demo-map/maplibre/index.html"}]}]},{"b":"doxa-maps-spa","s":"./doxa-maps-spa/doxa-maps-spa.js","i":"sha384-GJiuI3T69Om//h3hE5AEeqIF3H6EnXrQVNj5BiAyLZcABodDXAA/pDYVxXsDT1Pq","e":["doxa-maps-spa"],"p":[{"p":"doxa-maps-spa","e":"doxa-maps-spa","u":"./doxa-maps-spa/doxa-maps-spa/index.html","d":"The DX-maps app itself: one element whose vertical-tab rail nests every other","c":5,"em":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-GJiuI3T69Om//h3hE5AEeqIF3H6EnXrQVNj5BiAyLZcABodDXAA/pDYVxXsDT1Pq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"in":[{"id":"app","t":"DX-Maps SPA — Big Picture + every research map (app-shell)","a":"","pr":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"e":"doxa-maps-spa","u":"./doxa-maps-spa/doxa-maps-spa/app/index.html"}]}]},{"b":"doxa-research-map","s":"./doxa-research-map/doxa-research-map.js","i":"sha384-Yr96G/fGU/1go2HkjwvOA/t1H2cKj49PzlM95vXLp/DGjRreIxb6MiamSNlunS05","e":["doxa-research-map"],"p":[{"p":"research-map","e":"doxa-research-map","u":"./doxa-research-map/research-map/index.html","d":"The researcher's workbench: every piece a missiologist, demographer or","c":3,"em":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-Yr96G/fGU/1go2HkjwvOA/t1H2cKj49PzlM95vXLp/DGjRreIxb6MiamSNlunS05\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"}}]},{"b":"doxa-simple-map","s":"./doxa-simple-map/doxa-simple-map.js","i":"sha384-IJLfRHNXV67S25xXWTvOc8C/25hm1eLxvye9O4kUVzRRytRjOk52xaHBDl/hjwmb","e":["doxa-map","doxa-simple-map"],"p":[{"p":"doxa-simple-map","e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/index.html","d":"The simple world map, shipped as three presets off ONE prop table —","c":2,"em":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-IJLfRHNXV67S25xXWTvOc8C/25hm1eLxvye9O4kUVzRRytRjOk52xaHBDl/hjwmb\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"in":[{"id":"prayer","t":"Prayer Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/prayer/index.html"},{"id":"engagement","t":"Engagement Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/engagement/index.html"},{"id":"adoption","t":"Adoption Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/adoption/index.html"}]}]},{"b":"doxa-vision-card","s":"./doxa-vision-card/doxa-vision-card.js","i":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","e":["doxa-vision-card"],"p":[{"p":"doxa-vision-card","e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/index.html","d":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","c":2,"em":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"in":[{"id":"default","t":"Vision card — reach at a glance","a":"","pr":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/default/index.html"},{"id":"frontier","t":"Vision card — frontier accent","a":"","pr":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/frontier/index.html"}]}]},{"b":"golden-path-check","s":"./golden-path-check/golden-path-check.js","i":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","e":["golden-path-check"],"p":[{"p":"golden-path-check","e":"golden-path-check","u":"./golden-path-check/golden-path-check/index.html","d":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","c":1,"em":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"b":"gospel-resources","s":"./gospel-resources/gospel-resources.js","i":"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se","e":["gospel-resources-map"],"p":[{"p":"charts","e":"gospel-resources-map","u":"./gospel-resources/charts/index.html","d":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"data-tables","e":"gospel-resources-map","u":"./gospel-resources/data-tables/index.html","d":"Two validated tables: what resources exist per people group, and whether that access is keeping","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"resources-list","e":"gospel-resources-map","u":"./gospel-resources/resources-list/index.html","d":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"resources-map","e":"gospel-resources-map","u":"./gospel-resources/resources-map/index.html","d":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"b":"my-upg-100-list","s":"./my-upg-100-list/my-upg-100-list.js","i":"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ","e":["my-upg-100-list-map"],"p":[{"p":"poster-wall","e":"my-upg-100-list-map","u":"./my-upg-100-list/poster-wall/index.html","d":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","c":1,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"p":"upg-100-list","e":"my-upg-100-list-map","u":"./my-upg-100-list/upg-100-list/index.html","d":"A personal unreached-people-groups list painted as true boundary polygons —","c":1,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"p":"upg-100-mfe","e":"my-upg-100-list-map","u":"./my-upg-100-list/upg-100-mfe/index.html","d":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","c":4,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"b":"people-groups-grid","s":"./people-groups-grid/people-groups-grid.js","i":"sha384-M3RVF4r+s9KJ2YznjQ+g3BR4XjsA4n8uhfCk97dwyiuN1BxRdeQmmMnQILV0CwJg","e":["people-groups-grid"],"p":[{"p":"people-groups-grid","e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/index.html","d":"The people-groups grid as an owned custom element: card list, search and four","c":2,"em":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-M3RVF4r+s9KJ2YznjQ+g3BR4XjsA4n8uhfCk97dwyiuN1BxRdeQmmMnQILV0CwJg\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"in":[{"id":"people-groups-grid","t":"People Groups Grid — standalone (own search + 4 dropdowns)","a":"","pr":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html"},{"id":"driven","t":"People Groups Grid — externally driven (controls off, props/events)","a":"","pr":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/driven/index.html"}]}]},{"b":"plugin-studio","s":"./plugin-studio/plugin-studio.js","i":"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh","e":["plugin-studio"],"p":[{"p":"plugin-studio","e":"plugin-studio","u":"./plugin-studio/plugin-studio/index.html","d":"The developer's viewing surface: a sidebar that is the composability ladder","c":5,"em":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"in":[{"id":"studio","t":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","a":"","pr":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"e":"plugin-studio","u":"./plugin-studio/plugin-studio/studio/index.html"}]}]},{"b":"research-dashboard","s":"./research-dashboard/research-dashboard.js","i":"sha384-eF/Umo6VT16XBsisuQayg28FVOuKRmI8O7tNsWv/xctEJN59Z7uMa4gkna5vf5S8","e":["research-dashboard-map"],"p":[{"p":"research-dashboard","e":"research-dashboard-map","u":"./research-dashboard/research-dashboard/index.html","d":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","c":3,"em":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-eF/Umo6VT16XBsisuQayg28FVOuKRmI8O7tNsWv/xctEJN59Z7uMa4gkna5vf5S8\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"}}]},{"b":"research-map-plus-grid","s":"./research-map-plus-grid/research-map-plus-grid.js","i":"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS","e":["research-map-plus-grid"],"p":[{"p":"research-map-plus-grid","e":"research-map-plus-grid","u":"./research-map-plus-grid/research-map-plus-grid/index.html","d":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","c":4,"em":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"in":[{"id":"default","t":"default","a":"","pr":{"profile":"research-map-plus-grid"},"e":"research-map-plus-grid","u":"./research-map-plus-grid/research-map-plus-grid/default/index.html"}]}]},{"b":"stack-demo","s":"./stack-demo/stack-demo.js","i":"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy","e":["stack-demo"],"p":[{"p":"stack-demo","e":"stack-demo","u":"./stack-demo/stack-demo/index.html","d":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","c":4,"em":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"in":[{"id":"pair","t":"pair","a":"","pr":{"profile":"stack-demo"},"e":"stack-demo","u":"./stack-demo/stack-demo/pair/index.html"}]}]},{"b":"template-bundle","s":"./template-bundle/template-bundle.js","i":"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW","e":["template-bundle"],"p":[{"p":"template-map-a","e":"template-bundle","u":"./template-bundle/template-map-a/index.html","d":"Minimal example profile A — a colored placeholder, no Mapbox or data.","c":1,"em":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"}},{"p":"template-map-b","e":"template-bundle","u":"./template-bundle/template-map-b/index.html","d":"Minimal example profile B — a second profile in the same bundle.","c":1,"em":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"}}]}]; + var BAKED = [{"b":"all-people-groups","s":"./all-people-groups/all-people-groups.js","i":"sha384-DXAVG9lD/E5ikp1qxouggcLh5uEiE9MNPp0BvMomCRK4Rqz5J3yD9N/a6zvw+pCo","e":["all-people-groups"],"p":[{"p":"all-people-groups","e":"all-people-groups","u":"./all-people-groups/all-people-groups/index.html","d":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","c":1,"em":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-DXAVG9lD/E5ikp1qxouggcLh5uEiE9MNPp0BvMomCRK4Rqz5J3yD9N/a6zvw+pCo\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"}}]},{"b":"big-picture","s":"./big-picture/big-picture.js","i":"sha384-a9W2VPCO3zJ+1pqWQadGso72rNPTfmZgO4aoGtZN7RDFQpVQbeTvy8JBsGi9VH43","e":["bp-big-picture","bp-research-header","people-groups-grid"],"p":[{"p":"big-picture","e":"bp-big-picture","u":"./big-picture/big-picture/index.html","d":"The Cat-4 composite that PAIRS the two real capability elements of the","c":4,"em":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-a9W2VPCO3zJ+1pqWQadGso72rNPTfmZgO4aoGtZN7RDFQpVQbeTvy8JBsGi9VH43\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"in":[{"id":"big-picture","t":"Big Picture — research header ↔ people-groups grid (composite)","a":"","pr":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"e":"bp-big-picture","u":"./big-picture/big-picture/big-picture/index.html"},{"id":"frontier","t":"Big Picture — frontier accent","a":"","pr":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"e":"bp-big-picture","u":"./big-picture/big-picture/frontier/index.html"}]}]},{"b":"cities-internet","s":"./cities-internet/cities-internet.js","i":"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo","e":["cities-internet-map"],"p":[{"p":"connectivity-list","e":"cities-internet-map","u":"./cities-internet/connectivity-list/index.html","d":"Countries where DX people groups live, grouped by region, showing measured internet penetration","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"p":"connectivity-map","e":"cities-internet-map","u":"./cities-internet/connectivity-map/index.html","d":"Every country shaded by measured internet penetration, with its named carriers and dominant","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"p":"data-tables","e":"cities-internet-map","u":"./cities-internet/data-tables/index.html","d":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"b":"country-posters","s":"./country-posters/country-posters.js","i":"sha384-4MLqWU5FPGDfbLO/iJBFFtNRM8WjdwnXXcI5sp+S39mRYi8NH17ojPEUbGF3zF/f","e":["country-posters-map"],"p":[{"p":"countries-map","e":"country-posters-map","u":"./country-posters/countries-map/index.html","d":"The researcher's workbench retargeted from people groups to COUNTRIES — region","c":1,"em":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-4MLqWU5FPGDfbLO/iJBFFtNRM8WjdwnXXcI5sp+S39mRYi8NH17ojPEUbGF3zF/f\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"p":"country-poster-wall","e":"country-posters-map","u":"./country-posters/country-poster-wall/index.html","d":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","c":1,"em":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-4MLqWU5FPGDfbLO/iJBFFtNRM8WjdwnXXcI5sp+S39mRYi8NH17ojPEUbGF3zF/f\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"b":"dashboard-plus-grid","s":"./dashboard-plus-grid/dashboard-plus-grid.js","i":"sha384-hNXVpo4xKeS4duW626lpzzD7am6ns+9e4pkvkDHy2scXIBtMXNzQr/8QijXIDQzu","e":["dashboard-plus-grid"],"p":[{"p":"dashboard-plus-grid","e":"dashboard-plus-grid","u":"./dashboard-plus-grid/dashboard-plus-grid/index.html","d":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","c":4,"em":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-hNXVpo4xKeS4duW626lpzzD7am6ns+9e4pkvkDHy2scXIBtMXNzQr/8QijXIDQzu\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"in":[{"id":"default","t":"default","a":"","pr":{"profile":"dashboard-plus-grid"},"e":"dashboard-plus-grid","u":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html"}]}]},{"b":"demo-map","s":"./demo-map/demo-map.js","i":"sha384-/vJk6np5yr3F78UglY6t07VUuQ7z58O0iLYc48UA6Q9kVLfSdHFOCRh2Vmd0rdIF","e":["demo-map"],"p":[{"p":"demo-map","e":"demo-map","u":"./demo-map/demo-map/index.html","d":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","c":2,"em":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-/vJk6np5yr3F78UglY6t07VUuQ7z58O0iLYc48UA6Q9kVLfSdHFOCRh2Vmd0rdIF\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"in":[{"id":"maplibre","t":"Demo map — MapLibre (token-free)","a":"","pr":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"e":"demo-map","u":"./demo-map/demo-map/maplibre/index.html"}]}]},{"b":"doxa-maps-spa","s":"./doxa-maps-spa/doxa-maps-spa.js","i":"sha384-IWw27w4r5O6tsh92zPMqVoxt4so2pmIjsJBu/G8XQ0S3QEyEGKIW1QykAdRDioQA","e":["doxa-maps-spa"],"p":[{"p":"doxa-maps-spa","e":"doxa-maps-spa","u":"./doxa-maps-spa/doxa-maps-spa/index.html","d":"The DX-maps app itself: one element whose vertical-tab rail nests every other","c":5,"em":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-IWw27w4r5O6tsh92zPMqVoxt4so2pmIjsJBu/G8XQ0S3QEyEGKIW1QykAdRDioQA\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"in":[{"id":"app","t":"DX-Maps SPA — Big Picture + every research map (app-shell)","a":"","pr":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"e":"doxa-maps-spa","u":"./doxa-maps-spa/doxa-maps-spa/app/index.html"}]}]},{"b":"doxa-research-map","s":"./doxa-research-map/doxa-research-map.js","i":"sha384-WccxBaFhcQiqOh7Tz1r7IOgmSxK154gRFGWg1bLzaSPPUUXbVwOVdPy7S3Kd+4/h","e":["doxa-research-map"],"p":[{"p":"research-map","e":"doxa-research-map","u":"./doxa-research-map/research-map/index.html","d":"The researcher's workbench: every piece a missiologist, demographer or","c":3,"em":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-WccxBaFhcQiqOh7Tz1r7IOgmSxK154gRFGWg1bLzaSPPUUXbVwOVdPy7S3Kd+4/h\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"}}]},{"b":"doxa-simple-map","s":"./doxa-simple-map/doxa-simple-map.js","i":"sha384-IJLfRHNXV67S25xXWTvOc8C/25hm1eLxvye9O4kUVzRRytRjOk52xaHBDl/hjwmb","e":["doxa-map","doxa-simple-map"],"p":[{"p":"doxa-simple-map","e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/index.html","d":"The simple world map, shipped as three presets off ONE prop table —","c":2,"em":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-IJLfRHNXV67S25xXWTvOc8C/25hm1eLxvye9O4kUVzRRytRjOk52xaHBDl/hjwmb\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"in":[{"id":"prayer","t":"Prayer Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/prayer/index.html"},{"id":"engagement","t":"Engagement Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/engagement/index.html"},{"id":"adoption","t":"Adoption Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/adoption/index.html"}]}]},{"b":"doxa-vision-card","s":"./doxa-vision-card/doxa-vision-card.js","i":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","e":["doxa-vision-card"],"p":[{"p":"doxa-vision-card","e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/index.html","d":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","c":2,"em":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"in":[{"id":"default","t":"Vision card — reach at a glance","a":"","pr":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/default/index.html"},{"id":"frontier","t":"Vision card — frontier accent","a":"","pr":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/frontier/index.html"}]}]},{"b":"golden-path-check","s":"./golden-path-check/golden-path-check.js","i":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","e":["golden-path-check"],"p":[{"p":"golden-path-check","e":"golden-path-check","u":"./golden-path-check/golden-path-check/index.html","d":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","c":1,"em":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"b":"gospel-resources","s":"./gospel-resources/gospel-resources.js","i":"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se","e":["gospel-resources-map"],"p":[{"p":"charts","e":"gospel-resources-map","u":"./gospel-resources/charts/index.html","d":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"data-tables","e":"gospel-resources-map","u":"./gospel-resources/data-tables/index.html","d":"Two validated tables: what resources exist per people group, and whether that access is keeping","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"resources-list","e":"gospel-resources-map","u":"./gospel-resources/resources-list/index.html","d":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"resources-map","e":"gospel-resources-map","u":"./gospel-resources/resources-map/index.html","d":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"b":"my-upg-100-list","s":"./my-upg-100-list/my-upg-100-list.js","i":"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ","e":["my-upg-100-list-map"],"p":[{"p":"poster-wall","e":"my-upg-100-list-map","u":"./my-upg-100-list/poster-wall/index.html","d":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","c":1,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"p":"upg-100-list","e":"my-upg-100-list-map","u":"./my-upg-100-list/upg-100-list/index.html","d":"A personal unreached-people-groups list painted as true boundary polygons —","c":1,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"p":"upg-100-mfe","e":"my-upg-100-list-map","u":"./my-upg-100-list/upg-100-mfe/index.html","d":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","c":4,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"b":"people-groups-grid","s":"./people-groups-grid/people-groups-grid.js","i":"sha384-M3RVF4r+s9KJ2YznjQ+g3BR4XjsA4n8uhfCk97dwyiuN1BxRdeQmmMnQILV0CwJg","e":["people-groups-grid"],"p":[{"p":"people-groups-grid","e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/index.html","d":"The people-groups grid as an owned custom element: card list, search and four","c":2,"em":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-M3RVF4r+s9KJ2YznjQ+g3BR4XjsA4n8uhfCk97dwyiuN1BxRdeQmmMnQILV0CwJg\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"in":[{"id":"people-groups-grid","t":"People Groups Grid — standalone (own search + 4 dropdowns)","a":"","pr":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html"},{"id":"driven","t":"People Groups Grid — externally driven (controls off, props/events)","a":"","pr":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/driven/index.html"}]}]},{"b":"plugin-studio","s":"./plugin-studio/plugin-studio.js","i":"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh","e":["plugin-studio"],"p":[{"p":"plugin-studio","e":"plugin-studio","u":"./plugin-studio/plugin-studio/index.html","d":"The developer's viewing surface: a sidebar that is the composability ladder","c":5,"em":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"in":[{"id":"studio","t":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","a":"","pr":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"e":"plugin-studio","u":"./plugin-studio/plugin-studio/studio/index.html"}]}]},{"b":"regions-dashboard","s":"./regions-dashboard/regions-dashboard.js","i":"sha384-kHO7akUTZkhcmGUHvirbAvMdkAzR2x5/kY0q8fU1RirNgum32XhESod5SxhWvCFK","e":["regions-dashboard"],"p":[{"p":"regions-list","e":"regions-dashboard","u":"./regions-dashboard/regions-list/index.html","d":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","c":1,"em":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-kHO7akUTZkhcmGUHvirbAvMdkAzR2x5/kY0q8fU1RirNgum32XhESod5SxhWvCFK\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"b":"research-dashboard","s":"./research-dashboard/research-dashboard.js","i":"sha384-evC/t92IRW0rYxGlmQj6qP3dlxoY/LwaNCnCADDUvx+Mj9GtouhAqO04oQbeWEO4","e":["research-dashboard-map"],"p":[{"p":"research-dashboard","e":"research-dashboard-map","u":"./research-dashboard/research-dashboard/index.html","d":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","c":3,"em":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-evC/t92IRW0rYxGlmQj6qP3dlxoY/LwaNCnCADDUvx+Mj9GtouhAqO04oQbeWEO4\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"}}]},{"b":"research-map-plus-grid","s":"./research-map-plus-grid/research-map-plus-grid.js","i":"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS","e":["research-map-plus-grid"],"p":[{"p":"research-map-plus-grid","e":"research-map-plus-grid","u":"./research-map-plus-grid/research-map-plus-grid/index.html","d":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","c":4,"em":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"in":[{"id":"default","t":"default","a":"","pr":{"profile":"research-map-plus-grid"},"e":"research-map-plus-grid","u":"./research-map-plus-grid/research-map-plus-grid/default/index.html"}]}]},{"b":"stack-demo","s":"./stack-demo/stack-demo.js","i":"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy","e":["stack-demo"],"p":[{"p":"stack-demo","e":"stack-demo","u":"./stack-demo/stack-demo/index.html","d":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","c":4,"em":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"in":[{"id":"pair","t":"pair","a":"","pr":{"profile":"stack-demo"},"e":"stack-demo","u":"./stack-demo/stack-demo/pair/index.html"}]}]},{"b":"template-bundle","s":"./template-bundle/template-bundle.js","i":"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW","e":["template-bundle"],"p":[{"p":"template-map-a","e":"template-bundle","u":"./template-bundle/template-map-a/index.html","d":"Minimal example profile A — a colored placeholder, no Mapbox or data.","c":1,"em":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"}},{"p":"template-map-b","e":"template-bundle","u":"./template-bundle/template-map-b/index.html","d":"Minimal example profile B — a second profile in the same bundle.","c":1,"em":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"}}]}]; var snip = function snip(b, p, x) { var u = (x || p).u, tag = (x && x.e) || p.e || b.e[0] || b.b var r = { iframe: '' } @@ -139,7 +139,7 @@ code{font-family:ui-monospace,Menlo,monospace} // not be re-rendered by Vue); the Vue app writes its ref here after mount. Falls back to the // element id so the loader works even before the app boots. var slotEl = function () { return (window.__spa && window.__spa.slot) || $('slot') }; - var TIER_MAP = {"all-people-groups/all-people-groups":"single","big-picture/big-picture":"nested-elements-mfe","cities-internet/connectivity-list":"single","cities-internet/connectivity-map":"single","cities-internet/data-tables":"single","country-posters/countries-map":"single","country-posters/country-poster-wall":"single","dashboard-plus-grid/dashboard-plus-grid":"nested-elements-mfe","demo-map/demo-map":"parameterized","doxa-maps-spa/doxa-maps-spa":"nested-mfe-spa","doxa-research-map/research-map":"monolithic","doxa-simple-map/doxa-simple-map":"parameterized","doxa-vision-card/doxa-vision-card":"parameterized","golden-path-check/golden-path-check":"single","gospel-resources/charts":"single","gospel-resources/data-tables":"single","gospel-resources/resources-list":"single","gospel-resources/resources-map":"single","key-cities/cities-list":"single","key-cities/cities-map":"single","key-cities/city-poster-wall":"single","key-cities/data-tables":"single","my-upg-100-list/poster-wall":"single","my-upg-100-list/upg-100-list":"single","my-upg-100-list/upg-100-mfe":"nested-elements-mfe","people-groups-grid/people-groups-grid":"parameterized","plugin-studio/plugin-studio":"nested-mfe-spa","research-dashboard/research-dashboard":"monolithic","research-map-plus-grid/research-map-plus-grid":"nested-elements-mfe","stack-demo/stack-demo":"nested-elements-mfe","template-bundle/template-map-a":"single","template-bundle/template-map-b":"single"}; // "/" → composition tier, for live re-compact + var TIER_MAP = {"all-people-groups/all-people-groups":"single","big-picture/big-picture":"nested-elements-mfe","cities-internet/connectivity-list":"single","cities-internet/connectivity-map":"single","cities-internet/data-tables":"single","country-posters/countries-map":"single","country-posters/country-poster-wall":"single","dashboard-plus-grid/dashboard-plus-grid":"nested-elements-mfe","demo-map/demo-map":"parameterized","doxa-maps-spa/doxa-maps-spa":"nested-mfe-spa","doxa-research-map/research-map":"monolithic","doxa-simple-map/doxa-simple-map":"parameterized","doxa-vision-card/doxa-vision-card":"parameterized","golden-path-check/golden-path-check":"single","gospel-resources/charts":"single","gospel-resources/data-tables":"single","gospel-resources/resources-list":"single","gospel-resources/resources-map":"single","key-cities/cities-list":"single","key-cities/cities-map":"single","key-cities/city-poster-wall":"single","key-cities/data-tables":"single","my-upg-100-list/poster-wall":"single","my-upg-100-list/upg-100-list":"single","my-upg-100-list/upg-100-mfe":"nested-elements-mfe","people-groups-grid/people-groups-grid":"parameterized","plugin-studio/plugin-studio":"nested-mfe-spa","regions-dashboard/regions-list":"single","research-dashboard/research-dashboard":"monolithic","research-map-plus-grid/research-map-plus-grid":"nested-elements-mfe","stack-demo/stack-demo":"nested-elements-mfe","template-bundle/template-map-a":"single","template-bundle/template-map-b":"single"}; // "/" → composition tier, for live re-compact // THIS PAGE'S OWN DIRECTORY. A host may serve the folder at /…/doxa-maps-build (no trailing // slash); the browser would then resolve every relative ref against the PARENT directory and // drop the folder name, so bundles 404. Derive the directory explicitly and build refs from it. diff --git a/public/doxa-maps/big-picture/big-picture.js b/public/doxa-maps/big-picture/big-picture.js index 189d21118..6e210d156 100644 --- a/public/doxa-maps/big-picture/big-picture.js +++ b/public/doxa-maps/big-picture/big-picture.js @@ -17,4 +17,4 @@ * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let gr;const Js=typeof window<"u"&&window.trustedTypes;if(Js)try{gr=Js.createPolicy("vue",{createHTML:e=>e})}catch{}const Ys=gr?e=>gr.createHTML(e):e=>e,gl="http://www.w3.org/2000/svg",_l="http://www.w3.org/1998/Math/MathML",ot=typeof document<"u"?document:null,Xs=ot&&ot.createElement("template"),vl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?ot.createElementNS(gl,e):t==="mathml"?ot.createElementNS(_l,e):n?ot.createElement(e,{is:n}):ot.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>ot.createTextNode(e),createComment:e=>ot.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ot.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Xs.innerHTML=Ys(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=Xs.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ml=Symbol("_vtc");function bl(e,t,n){const r=e[ml];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Zs=Symbol("_vod"),xl=Symbol("_vsh"),yl=Symbol(""),wl=/(?:^|;)\s*display\s*:/;function Sl(e,t,n){const r=e.style,s=oe(n);let o=!1;if(n&&!s){if(t)if(oe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Yt(r,l,"")}else for(const i in t)n[i]==null&&Yt(r,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?El(e,i,!oe(t)&&t?t[i]:void 0,l)||Yt(r,i,l):Yt(r,i,"")}}else if(s){if(t!==n){const i=r[yl];i&&(n+=";"+i),r.cssText=n,o=wl.test(n)}}else t&&e.removeAttribute("style");Zs in e&&(e[Zs]=o?r.display:"",e[xl]&&(r.display="none"))}const Mn=/\s*!important$/;function Yt(e,t,n){if(F(n))n.forEach(r=>Yt(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))Mn.test(n)?e.setProperty(t,n.replace(Mn,""),"important"):e.setProperty(t,n);else{const r=Cl(e,t);Mn.test(n)?e.setProperty(Oe(r),n.replace(Mn,""),"important"):e[r]=n}}const Qs=["Webkit","Moz","ms"],_r={};function Cl(e,t){const n=_r[t];if(n)return n;let r=ke(t);if(r!=="filter"&&r in e)return _r[t]=r;r=Er(r);for(let s=0;svr||(Ol.then(()=>vr=0),vr=Date.now());function Il(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(F(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),l=[r];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ll=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?bl(e,r,i):t==="style"?Sl(e,n,r):Qt(t)?en(t)||Tl(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):$l(e,t,r,i))?(no(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&to(e,t,r,i,o,t!=="value")):e._isVueCE&&(Nl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!oe(r)))?no(e,ke(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),to(e,t,r,i))};function $l(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&so(t)&&I(n));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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return so(t)&&oe(n)?!1:t in e}function Nl(e,t){const n=e._def.props;if(!n)return!1;const r=ke(t);return Array.isArray(n)?n.some(s=>ke(s)===r):Object.keys(n).some(s=>ke(s)===r)}const oo={};function mr(e,t,n){let r=gi(e,t);nn(r)&&(r=ce({},r,t));class s extends br{constructor(i){super(r,i,n)}}return s.def=r,s}const jl=typeof HTMLElement<"u"?HTMLElement:class{};class br extends jl{constructor(t,n={},r=co){super(),this._def=t,this._props=n,this._createApp=r,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&r!==co?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(ce({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof br){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,vn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let r=0;r{this._resolved=!0,this._pendingResolve=void 0;const{props:o,styles:i}=r;let l;if(o&&!F(o))for(const c in o){const d=o[c];(d===Number||d&&d.type===Number)&&(c in this._props&&(this._props[c]=Ar(this._props[c])),(l||(l=Object.create(null)))[ke(c)]=!0)}this._numberProps=l,this._resolveProps(r),this.shadowRoot&&this._applyStyles(i),this._mount(r)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(r=>{r.configureApp=this._def.configureApp,t(this._def=r,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const r in n)J(this,r)||Object.defineProperty(this,r,{get:()=>Xn(n[r])})}_resolveProps(t){const{props:n}=t,r=F(n)?n:Object.keys(n||{});for(const s of Object.keys(this))s[0]!=="_"&&r.includes(s)&&this._setProp(s,this[s]);for(const s of r.map(ke))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(o){this._setProp(s,o,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let r=n?this.getAttribute(t):oo;const s=ke(t);n&&this._numberProps&&this._numberProps[s]&&(r=Ar(r)),this._setProp(s,r,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,r=!0,s=!1){if(n!==this._props[t]&&(this._dirty=!0,n===oo?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),s&&this._instance&&this._update(),r)){const o=this._ob;o&&(this._processMutations(o.takeRecords()),o.disconnect()),n===!0?this.setAttribute(Oe(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Oe(t),n+""):n||this.removeAttribute(Oe(t)),o&&o.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Hl(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=le(this._def,ce(t,this._props));return this._instance||(n.ce=r=>{this._instance=r,r.ce=this,r.isCE=!0;const s=(o,i)=>{this.dispatchEvent(new CustomEvent(o,nn(i[0])?ce({detail:i},i[0]):{detail:i}))};r.emit=(o,...i)=>{s(o,i),Oe(o)!==o&&s(Oe(o),i)},this._setParent()}),n}_applyStyles(t,n,r){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce,o=this.shadowRoot,i=r?this._getStyleAnchor(r)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(o);let l=null;for(let c=t.length-1;c>=0;c--){const d=document.createElement("style");s&&d.setAttribute("nonce",s),d.textContent=t[c],o.insertBefore(d,l||i),l=d,c===0&&(r||this._styleAnchors.set(this._def,d),n&&this._styleAnchors.set(n,d))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{lo().render(...e)},co=(...e)=>{const t=lo().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Ul(r);if(!s)return;const o=t._component;!I(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Bl(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function Bl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ul(e){return oe(e)?document.querySelector(e):e}const Vl=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",Xt=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Kl=["value","placeholder","aria-label"],ao=Xt({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const n=e,r=t,s=Z(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function o(i){const l=i.target.value??"";r("update:modelValue",l),r("search",{value:l})}return(i,l)=>(U(),V("div",{class:"search-box",style:ft(s.value)},[l[0]||(l[0]=L("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[L("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),L("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),L("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:o},null,40,Kl)],4))}},[["styles",[Vl]]]),Wl=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",zl=["data-active","aria-expanded"],ql={class:"filter-dropdown__label"},Gl=["value","placeholder"],Jl={class:"filter-dropdown__options"},Yl={key:0,class:"filter-dropdown__no-options"},Xl=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],Zl={class:"filter-dropdown__count"},at=Xt({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const n=e,r=t,s=ue(!1),o=ue(""),i=ue(-1),l=ue(null),c=ue(null),d=ue(null),u=ue({});function g(R){const j=R.ownerDocument,Y=j.createElement("div");Y.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(R.parentElement||R.getRootNode().body||j.body).appendChild(Y);const me=Y.getBoundingClientRect();return Y.remove(),{x:me.left,y:me.top}}function C(){const R=d.value;if(!R)return;const j=R.getBoundingClientRect(),Y=window.innerWidth,Te=window.innerHeight,me=320,Ge=4,Se=8,ie=Math.round(Math.min(j.width,Y-Se*2)),ee=j.right>Se&&j.leftY-Se?K=Math.round(Math.max(j.right-ie,Se)):K=Math.round(Math.max(j.left,Se)):K=Math.round(Math.min(Math.max(j.left,Se),Y-ie-Se));const be=Te-j.bottom,Je=be<180&&j.top>be,Re=g(R),Ce=Math.round(K-Re.x);u.value=Je?{top:"auto",bottom:`${Math.round(Te-j.top+Ge+Re.y)}px`,left:`${Ce}px`,width:`${ie}px`,maxHeight:`${Math.round(Math.min(me,j.top-Ge-Se))}px`}:{top:`${Math.round(j.bottom+Ge-Re.y)}px`,bottom:"auto",left:`${Ce}px`,width:`${ie}px`,maxHeight:`${Math.round(Math.min(me,be-Ge-Se))}px`}}function E(){s.value&&C()}const O=Z(()=>{if(!o.value)return n.options;const R=o.value.toLowerCase();return n.options.filter(j=>j.label.toLowerCase().includes(R))}),M=Z(()=>n.options.find(R=>R.value===n.value));function H(R){var Y;const j=((Y=R.composedPath)==null?void 0:Y.call(R))??[];l.value&&!j.includes(l.value)&&T()}function $(){s.value?T():N()}function N(){s.value=!0,o.value="",i.value=-1,C(),document.addEventListener("click",H),window.addEventListener("scroll",E,!0),window.addEventListener("resize",E),vn(()=>{var R;C(),(R=c.value)==null||R.focus()})}function T(){s.value=!1,o.value="",i.value=-1,document.removeEventListener("click",H),window.removeEventListener("scroll",E,!0),window.removeEventListener("resize",E)}function k(R){o.value=R.target.value,i.value=-1}function q(R){const j=O.value;switch(R.key){case"ArrowDown":R.preventDefault(),i.value=Math.min(i.value+1,j.length-1),B();break;case"ArrowUp":R.preventDefault(),i.value=Math.max(i.value-1,0),B();break;case"Enter":{R.preventDefault();const Y=j[i.value];Y&&Q(Y);break}case"Escape":R.preventDefault(),T();break}}function B(){vn(()=>{var j;const R=(j=l.value)==null?void 0:j.querySelector(".filter-dropdown__option[data-highlighted]");R==null||R.scrollIntoView({block:"nearest"})})}function Q(R){r("filter-change",{name:n.name,value:R.value,label:R.label,type:R.type}),T()}function _e(){r("filter-clear",{name:n.name}),T()}return ds(()=>{document.removeEventListener("click",H),window.removeEventListener("scroll",E,!0),window.removeEventListener("resize",E)}),(R,j)=>(U(),V("div",{ref_key:"rootRef",ref:l,class:on(["filter-dropdown",{"is-open":s.value}])},[L("button",{ref_key:"triggerRef",ref:d,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":s.value,onClick:$},[L("span",ql,[M.value?(U(),V(de,{key:0},[rt(ae(e.label)+": ",1),L("strong",null,ae(M.value.label),1)],64)):(U(),V(de,{key:1},[rt(ae(e.label),1)],64))]),j[0]||(j[0]=L("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[L("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,zl),s.value?(U(),V("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:ft(u.value)},[L("input",{ref_key:"searchInputRef",ref:c,class:"filter-dropdown__search",type:"text",value:o.value,placeholder:e.placeholder,onInput:k,onKeydown:q},null,40,Gl),e.value?(U(),V("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:_e},"Clear selection")):he("",!0),L("div",Jl,[O.value.length===0?(U(),V("div",Yl,"No options found")):(U(!0),V(de,{key:1},Sn(O.value,(Y,Te)=>(U(),V("div",{key:Y.value,class:"filter-dropdown__option",role:"option","data-highlighted":Te===i.value?"":void 0,"data-selected":Y.value===e.value?"":void 0,"aria-selected":Y.value===e.value,onClick:me=>Q(Y),onMouseenter:me=>i.value=Te},[L("span",null,ae(Y.label),1),L("span",Zl,ae(Y.count),1)],40,Xl))),128))])],4)):he("",!0)],2))}},[["styles",[Wl]]]),Ql=".rh-root{width:100%;box-sizing:border-box;padding:14px 16px;background:#111827;color:#e5e7eb;border-bottom:1px solid #1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;display:flex;flex-direction:column;gap:12px}.rh-title{display:flex;align-items:center;gap:10px}.rh-title h1{font-size:17px;font-weight:700;letter-spacing:-.01em}.rh-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.rh-count{margin-left:auto;font:700 12px/1 ui-monospace,monospace;color:var(--accent)}.rh-search{display:flex}.rh-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.rh-reset{padding:8px 12px;background:transparent;border:1px solid #1f2937;border-radius:8px;color:#94a3b8;font-size:13px;cursor:pointer}.rh-reset:hover{border-color:var(--accent);color:#e5e7eb}",ec={class:"rh-title"},tc={key:0,class:"rh-count",role:"status","aria-live":"polite"},nc={class:"rh-search"},rc={class:"rh-controls"},uo=Xt({__name:"BpResearchHeader",props:{count:{type:[Number,String],default:null},title:{type:String,default:"Unified Research Dashboard"},accent:{type:String,default:"#8b5cf6"},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""}},emits:["research-filter"],setup(e,{emit:t}){const n=e,r=t,s=Z(()=>n.prayBaseUrl||"https://pray.doxa.life"),o=Z(()=>n.languageCode||""),i=ue(""),l=wt({wagf_region:"",wagf_block:"",rop1:"",religion:""}),c=wt({wagf_region:[],wagf_block:[],rop1:[],religion:[]}),d=Z(()=>!!(i.value||l.wagf_region||l.wagf_block||l.rop1||l.religion)),u=hr();function g(){var k,q;const T=((k=u==null?void 0:u.vnode)==null?void 0:k.el)||((q=u==null?void 0:u.proxy)==null?void 0:q.$el);try{const B=T&&T.getRootNode&&T.getRootNode();if(B&&B.host)return B.host}catch{}return T}function C(){const T={query:i.value,wagfRegion:l.wagf_region,wagfBlock:l.wagf_block,rop1:l.rop1,religion:l.religion};r("research-filter",T);const k=g();k&&typeof k.dispatchEvent=="function"&&k.dispatchEvent(new CustomEvent("research-filter",{detail:T,bubbles:!0,composed:!0}))}Ht([i,()=>l.wagf_region,()=>l.wagf_block,()=>l.rop1,()=>l.religion],C,{immediate:!0});function E(T){i.value=(T==null?void 0:T.value)??""}function O(T){(T==null?void 0:T.name)in l&&(l[T.name]=T.value)}function M(T){(T==null?void 0:T.name)in l&&(l[T.name]="")}function H(){i.value="",l.wagf_region="",l.wagf_block="",l.rop1="",l.religion=""}function $(T,k){const q=new Map;for(const B of T){const Q=B[k];if(!(Q!=null&&Q.value))continue;const _e=q.get(Q.value);_e?_e.count++:q.set(Q.value,{label:Q.label,count:1})}return Array.from(q.entries()).map(([B,{label:Q,count:_e}])=>({value:B,label:Q,count:_e})).sort((B,Q)=>B.label.localeCompare(Q.label))}async function N(){const T=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion&lang=${o.value}`;try{const q=await(await fetch(T)).json(),B=Array.isArray(q.posts)?q.posts:[];c.wagf_region=$(B,"wagf_region"),c.wagf_block=$(B,"wagf_block"),c.rop1=$(B,"rop1"),c.religion=$(B,"religion")}catch(k){console.error("[bp-research-header] options fetch error:",k)}}return rr(N),(T,k)=>(U(),V("div",{class:"rh-root",role:"banner",style:ft({"--accent":e.accent})},[L("div",ec,[k[0]||(k[0]=L("span",{class:"rh-dot","aria-hidden":"true"},null,-1)),L("h1",null,ae(e.title),1),e.count!==null&&e.count!==""?(U(),V("span",tc,ae(e.count)+" shown",1)):he("",!0)]),L("div",nc,[le(ao,{"model-value":i.value,placeholder:"Search people groups or countries…","aria-label":"Search people groups",onSearch:E},null,8,["model-value"])]),L("div",rc,[le(at,{label:"Region",name:"wagf_region",options:c.wagf_region,value:l.wagf_region,onFilterChange:O,onFilterClear:M},null,8,["options","value"]),le(at,{label:"Bloc",name:"wagf_block",options:c.wagf_block,value:l.wagf_block,onFilterChange:O,onFilterClear:M},null,8,["options","value"]),le(at,{label:"People Group",name:"rop1",options:c.rop1,value:l.rop1,onFilterChange:O,onFilterClear:M},null,8,["options","value"]),le(at,{label:"Religion",name:"religion",options:c.religion,value:l.religion,onFilterChange:O,onFilterClear:M},null,8,["options","value"]),d.value?(U(),V("button",{key:0,class:"rh-reset",type:"button","aria-label":"Reset all filters and search",onClick:H},"Reset")):he("",!0)])],4))}},[["styles",[Ql]]]);function sc(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[n,...r]=t.split(".");let s=e==null?void 0:e[n];for(const o of r)s=s==null?void 0:s[o];return s}function oc(e,t){const n=e.toLowerCase(),r=t.toLowerCase(),s=[];let o=0,i=n.indexOf(r,o);for(;i!==-1;)s.push([i,i+r.length-1]),o=i+r.length,i=n.indexOf(r,o);return s}function ic(e,t){const n=e.toLowerCase(),r=t.toLowerCase(),s=[];let o=0,i=-1,l=-1;for(let c=0;c({item:o,matches:[]}));if(n.lengthE-C+1>=Math.min(this.minMatchCharLength,n.length));g.length&&(d=g)}}d.length&&i.push({key:l,indices:d})}i.length&&s.push({item:o,matches:i})}return s}}function cc(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const ac=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",uc={class:"pgg-root"},fc={key:0,id:"filters",class:"filters"},dc={key:0,class:"pgg-search"},hc=["aria-expanded"],pc={key:0,class:"filters__toggle-count"},gc={class:"filters__panel"},_c={class:"filters__panel"},vc=["data-active"],mc={key:3,class:"filters__active"},bc=["onClick"],xc={class:"pgg-body"},yc={key:0,class:"repel"},wc={class:"font-size-sm"},Sc={key:1},Cc={id:"results",class:"grid uupgs-list"},Ec=["src","alt"],kc={class:"uupg__header"},Ac=["innerHTML"],Tc={key:0,class:"uupg__country"},Pc=["href"],Mc=["innerHTML"],Rc=["innerHTML"],Oc=["innerHTML"],Fc={key:1,class:"uupg__content"},Ic=["href"],Lc={key:0,class:"loading"},$c={key:1,class:"pgg-empty pgg-failed",role:"status"},Nc={key:2,class:"pgg-empty"},fo=Xt({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const n=e,r=t,s=Z(()=>{if(!n.profileConfig)return{};try{return JSON.parse(n.profileConfig)||{}}catch{return{}}}),o=Z(()=>n.prayBaseUrl||s.value.prayBaseUrl||"https://pray.doxa.life"),i=Z(()=>n.languageCode||s.value.languageCode||""),l=Z(()=>n.researchUrl||s.value.researchUrl||"/research/"),c=Z(()=>({...s.value.t||{},...n.t||{}})),d=h=>!(h===!1||h==="false"||h==="0"||h===0),u=Z(()=>d(n.showSearch)),g=Z(()=>d(n.showFilters)),C=Z(()=>d(n.showTotal)),E=ue([]),O=ue([]),M=ue(0),H=ue(1),$=ue(!0),N=ue(!1),T=ue(!0),k=ue({}),q=ue(""),B=ue({}),Q=Z(()=>u.value?q.value:n.query||""),_e=Z(()=>{const h={},p=m=>m;return n.wagfRegion&&(h.wagf_region={value:n.wagfRegion,label:p(n.wagfRegion)}),n.wagfBlock&&(h.wagf_block={value:n.wagfBlock,label:p(n.wagfBlock)}),n.rop1&&(h.rop1={value:n.rop1,label:p(n.rop1)}),n.religion&&(h.religion={value:n.religion,label:p(n.religion)}),n.countryCode&&(h.country_code={value:n.countryCode,label:p(n.countryCode)}),n.primaryLanguage&&(h.primary_language={value:n.primaryLanguage,label:p(n.primaryLanguage)}),n.engagementStatus&&(h.engagement_status={value:n.engagementStatus,label:p(n.engagementStatus)}),n.cluster&&(h.imb_reg_of_people_2={value:n.cluster,label:p(n.cluster)}),n.peopleGroup&&(h.imb_reg_of_people_25={value:n.peopleGroup,label:p(n.peopleGroup)}),n.gospelAccess&&(h.imb_gsec={value:n.gospelAccess,label:p(n.gospelAccess)}),h}),R=Z(()=>g.value?B.value:_e.value),j=Z(()=>Object.values(R.value||{}).filter(h=>h&&h.value!==""&&h.value!=null).length),Y=Z(()=>Object.keys(R.value).length),Te=Z(()=>j.value>0||!!(Q.value||"").trim());function me(h){return h.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Ge(h,p=500){let m;return(...v)=>{clearTimeout(m),m=setTimeout(()=>h(...v),p)}}const Se=Ge(()=>{$.value=!0,H.value=1,Ye()},500);function ie(h){q.value=(h==null?void 0:h.value)??"",Se()}function ee(){T.value=!T.value}function K(h){B.value={...B.value,[h.name]:{value:h.value,label:h.label}},H.value=1,Ye()}function be(h){Je(h.name)}function Je(h){const p={...B.value};delete p[h],B.value=p,H.value=1,Ye()}function Re(){B.value={},H.value=1,Ye()}function Ce(){if(B.value.exact)return Je("exact");B.value={...B.value,exact:{value:"yes",label:c.value.exact_filter||"Exact"}},H.value=1,Ye()}const Pt=h=>String(h??"").toLowerCase().replace(/[\s_&-]+/g,"");function Rn(h,p){if(!h)return!1;const m=Pt(p==null?void 0:p.value);return m?Pt(h.value)===m||Pt(h.label)===m:!1}function xr(h){let p=h;for(const[m,v]of Object.entries(R.value))m==="exact"?p=p:p=p.filter(A=>Rn(A[m],v));return p}function mt(){const h=p=>{const m=new Map;for(const v of E.value){const A=v[p];if(!(A!=null&&A.value))continue;const S=m.get(A.value);S?S.count++:m.set(A.value,{label:A.label,count:1})}return Array.from(m.entries()).map(([v,{label:A,count:S}])=>({value:v,label:A,count:S})).sort((v,A)=>v.label.localeCompare(A.label))};k.value={wagf_region:h("wagf_region"),wagf_block:h("wagf_block"),rop1:h("rop1"),religion:h("religion")}}function bt(){const h=Object.keys(k.value),p={};for(const m of h){const v={};for(const[w,P]of Object.entries(R.value))w!==m&&(v[w]=P);const A=Zt(v,E.value),S=new Map;for(const w of A){const P=w[m];P!=null&&P.value&&S.set(P.value,(S.get(P.value)??0)+1)}p[m]=(k.value[m]??[]).map(w=>({...w,count:S.get(w.value)??0}))}k.value=p}function Zt(h,p){let m=p;for(const[v,A]of Object.entries(h))v!=="exact"&&(m=m.filter(S=>Rn(S[v],A)));return m}function Ye(){E.value=E.value.map(S=>(S.matches=[],S.country_label="",S.rop1_label="",S));const p=Object.keys(R.value).length>0?xr(E.value):E.value,m=Q.value;if(!m){O.value=p,M.value=O.value.length,$.value=!1,bt(),a();return}const A=new lc(p,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:R.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(m);O.value=A.map(S=>{var P;const w={...S.item};if(!S.matches)return w;w.matches=[];for(const D of S.matches){const W=D.key;if(!W)continue;let z="";if(String(W).includes(".")){const[se,re]=String(W).split(".");z=(P=w[se])==null?void 0:P[re]}else z=w[String(W)];if(z&&typeof z=="string"){let se=0,re="";if(D.indices.forEach((fe,Pe)=>{const ut=fe[0],Mt=fe[1],Ee=D.indices.length-1===Pe;re+=me(z.slice(se,ut))+`${me(z.slice(ut,Mt+1))}`+(Ee?me(z.slice(Mt+1)):""),se=Mt+1}),String(W).includes("imb_alternate_name"))w.matches.push({key:c.value.alternate_name??"Also known as",label:re});else if(String(W).includes(".")){const[fe]=String(W).split("."),Pe={religion:c.value.religion,country_code:c.value.country,rop1:c.value.rop1,wagf_region:c.value.wagf_region,wagf_block:c.value.wagf_block};fe==="rop1"?w.rop1_label=re:fe==="country_code"?w.country_label=re:fe==="wagf_region"||w.matches.push({key:Pe[fe]??fe,label:re})}else w[String(W)]=re}}return w}),M.value=O.value.length,$.value=!1,bt(),a()}const Ie=hr();function ho(){var p,m;const h=((p=Ie==null?void 0:Ie.vnode)==null?void 0:p.el)||((m=Ie==null?void 0:Ie.proxy)==null?void 0:m.$el);try{const v=h&&h.getRootNode&&h.getRootNode();if(v&&v.host)return v.host}catch{}return h}function a(){const h={query:Q.value,activeFilters:R.value,total:M.value,slugs:O.value.map(m=>m.slug)};r("groups-filtered",h);const p=ho();p&&typeof p.dispatchEvent=="function"&&p.dispatchEvent(new CustomEvent("groups-filtered",{detail:h,bubbles:!0,composed:!0}))}function f(){return n.morePerPage>0?M.value>n.perPage+(H.value-1)*n.morePerPage&&!$.value&&O.value.length>0:M.value>H.value*n.perPage&&!$.value&&O.value.length>0}function _(){H.value=H.value+1}const y=Z(()=>n.morePerPage>0?O.value.slice(0,n.perPage+(H.value-1)*n.morePerPage):O.value.slice(0,H.value*n.perPage)),x=Z(()=>f());async function b(){const h=`${o.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${i.value}`;$.value=!0,N.value=!1;try{const p=await fetch(h);if(!p.ok)throw new Error(`HTTP ${p.status}`);const m=await p.json();M.value=m.total,E.value=Array.isArray(m.posts)?m.posts:[],mt(),Ye()}catch(p){console.error("[people-groups-grid] fetch error:",p),N.value=!0,E.value=[],$.value=!1}}return Ht(()=>[n.query,n.wagfRegion,n.wagfBlock,n.rop1,n.religion,n.countryCode,n.primaryLanguage,n.engagementStatus,n.cluster,n.peopleGroup,n.gospelAccess,u.value,g.value],()=>{H.value=1,Ye()}),rr(b),(h,p)=>{var m,v,A,S;return U(),V("div",uc,[u.value||g.value?(U(),V("div",fc,[u.value?(U(),V("div",dc,[le(ao,{"model-value":q.value,placeholder:c.value.search||"Search people groups…","aria-label":c.value.search||"Search people groups","max-width":"480px",onSearch:ie},null,8,["model-value","placeholder","aria-label"])])):he("",!0),g.value?(U(),V("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":T.value,onClick:ee},[p[0]||(p[0]=L("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[L("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),rt(" "+ae(T.value?c.value.hide_filters||"Hide Filters":c.value.show_filters||"Show Filters")+" ",1),j.value?(U(),V("span",pc,ae(j.value),1)):he("",!0),p[1]||(p[1]=L("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[L("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,hc)):he("",!0),g.value&&T.value?(U(),V(de,{key:2},[L("div",gc,[le(at,{label:c.value.wagf_region||"Region",name:"wagf_region",options:k.value.wagf_region||[],value:((m=R.value.wagf_region)==null?void 0:m.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:K,onFilterClear:be},null,8,["label","options","value","placeholder"]),le(at,{label:c.value.wagf_block||"Bloc",name:"wagf_block",options:k.value.wagf_block||[],value:((v=R.value.wagf_block)==null?void 0:v.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:K,onFilterClear:be},null,8,["label","options","value","placeholder"]),le(at,{label:c.value.rop1||"People Group",name:"rop1",options:k.value.rop1||[],value:((A=R.value.rop1)==null?void 0:A.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:K,onFilterClear:be},null,8,["label","options","value","placeholder"]),le(at,{label:c.value.religion||"Religion",name:"religion",options:k.value.religion||[],value:((S=R.value.religion)==null?void 0:S.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:K,onFilterClear:be},null,8,["label","options","value","placeholder"])]),L("div",_c,[L("button",{class:"filter-toggle",type:"button","data-active":R.value.exact?"":void 0,onClick:Ce},ae(c.value.exact_filter||"Exact"),9,vc)])],64)):he("",!0),g.value&&Y.value>0?(U(),V("div",mc,[(U(!0),V(de,null,Sn(R.value,(w,P)=>(U(),V("span",{key:P,class:"filter-chip"},[rt(ae(w.label)+" ",1),L("button",{class:"filter-chip__remove",type:"button",onClick:D=>Je(String(P))},"×",8,bc)]))),128)),L("button",{class:"filters__clear-all",type:"button",onClick:Re},ae(c.value.clear_all||"Clear All"),1)])):he("",!0)])):he("",!0),L("div",xc,[C.value||Te.value?(U(),V("div",yc,[L("div",wc,[$.value?(U(),V("span",Sc," ")):(U(),V(de,{key:0},[rt(ae(Te.value&&!C.value?(c.value.showing||"Showing")+" "+M.value.toLocaleString("en-US"):(c.value.total||"Total")+": "+M.value.toLocaleString("en-US")),1)],64))])])):he("",!0),L("div",Cc,[(U(!0),V(de,null,Sn(y.value,w=>(U(),V("div",{key:w.slug,class:"card uupg__card"},[w.image_url?(U(),V("img",{key:0,class:"uupg__image",src:w.image_url,alt:w.name},null,8,Ec)):he("",!0),L("div",kc,[L("h3",{class:"uupg__name",innerHTML:w.name},null,8,Ac),w.country_code?(U(),V("p",Tc,[L("a",{class:"uupg__country-link",href:`${l.value}../countries/${Xn(cc)(w.country_code.value,w.country_code.label)}`},[L("span",{innerHTML:w.country_label?w.country_label:w.country_code.label},null,8,Mc)],8,Pc),w.rop1?(U(),V(de,{key:0},[p[2]||(p[2]=rt(" (",-1)),L("span",{innerHTML:w.rop1_label?w.rop1_label:w.rop1.label},null,8,Rc),p[3]||(p[3]=rt(")",-1))],64)):he("",!0)])):he("",!0),w.matches?(U(!0),V(de,{key:1},Sn(w.matches,(P,D)=>(U(),V("p",{key:D,class:"uupg__match"},[L("strong",null,ae(P.key),1),p[4]||(p[4]=rt(": ",-1)),L("span",{innerHTML:P.label},null,8,Oc)]))),128)):he("",!0)]),w.location_description?(U(),V("p",Fc,ae(w.location_description),1)):he("",!0),L("a",{class:"uupg__more-button",href:`${l.value}${w.slug}`},ae(c.value.full_profile||"Full profile"),9,Ic)]))),128)),$.value?(U(),V("div",Lc,ae(c.value.loading||"Loading…"),1)):N.value?(U(),V("div",$c,ae(c.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):y.value.length?he("",!0):(U(),V("div",Nc,ae(c.value.no_results||"No people groups match this filter."),1))]),x.value?(U(),V("button",{key:1,class:"pgg-loadmore",type:"button",onClick:_},ae(c.value.load_more||"Load more"),1)):he("",!0)])])}}},[["styles",[ac]]]),jc=":host{display:block;width:100%;height:100%}.bp-root{--bg: #f3f3f1;--line: #d1d4cd;--ink: #3b463d;--mut: #6d766e;display:flex;flex-direction:column;width:100%;height:100%;min-height:480px;overflow:hidden;background:var(--bg);color:var(--ink);box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.bp-body{flex:1;min-height:0;position:relative;overflow:auto}.bp-foot{flex:none;padding:8px 12px;font-size:11px;color:var(--mut);text-align:center;border-top:1px solid var(--line)}",Dc={class:"bp-body"},Hc=mr(Xt({__name:"big-picture",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,n=Z(()=>{if(!t.profileConfig)return{};try{return JSON.parse(t.profileConfig)||{}}catch{return{}}}),r=Z(()=>n.value.accent||"#8b5cf6"),s=Z(()=>n.value.title||"Big Picture — Unified Research Dashboard"),o=Z(()=>n.value.prayBaseUrl||""),i=Z(()=>n.value.languageCode||""),l=wt({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:""}),c=ue(null);function d(g){const C=g&&typeof g=="object"?g:{};l.query=C.query||"",l.wagfRegion=C.wagfRegion||"",l.wagfBlock=C.wagfBlock||"",l.rop1=C.rop1||"",l.religion=C.religion||""}function u(g){const C=g&&typeof g=="object"?g:{};c.value=typeof C.total=="number"?C.total:null}return(g,C)=>(U(),V("div",{class:"bp-root",style:ft({"--accent":r.value})},[le(uo,{title:s.value,accent:r.value,count:c.value,"pray-base-url":o.value,"language-code":i.value,onResearchFilter:d},null,8,["title","accent","count","pray-base-url","language-code"]),L("div",Dc,[le(fo,{query:l.query,"wagf-region":l.wagfRegion,"wagf-block":l.wagfBlock,rop1:l.rop1,religion:l.religion,"show-search":!1,"show-filters":!1,"pray-base-url":o.value,"language-code":i.value,onGroupsFiltered:u},null,8,["query","wagf-region","wagf-block","rop1","religion","pray-base-url","language-code"])]),C[0]||(C[0]=L("footer",{class:"bp-foot"}," Search and filter the world's people groups · least-reached shown first ",-1))],4))}},[["styles",[jc]]])),Bc=mr(uo),Uc=mr(fo);typeof customElements<"u"&&(customElements.get("bp-big-picture")||customElements.define("bp-big-picture",Hc),customElements.get("bp-research-header")||customElements.define("bp-research-header",Bc),customElements.get("people-groups-grid")||customElements.define("people-groups-grid",Uc))})(); +**/let gr;const Js=typeof window<"u"&&window.trustedTypes;if(Js)try{gr=Js.createPolicy("vue",{createHTML:e=>e})}catch{}const Ys=gr?e=>gr.createHTML(e):e=>e,gl="http://www.w3.org/2000/svg",_l="http://www.w3.org/1998/Math/MathML",ot=typeof document<"u"?document:null,Xs=ot&&ot.createElement("template"),vl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?ot.createElementNS(gl,e):t==="mathml"?ot.createElementNS(_l,e):n?ot.createElement(e,{is:n}):ot.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>ot.createTextNode(e),createComment:e=>ot.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ot.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Xs.innerHTML=Ys(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=Xs.content;if(r==="svg"||r==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ml=Symbol("_vtc");function bl(e,t,n){const r=e[ml];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Zs=Symbol("_vod"),xl=Symbol("_vsh"),yl=Symbol(""),wl=/(?:^|;)\s*display\s*:/;function Sl(e,t,n){const r=e.style,s=oe(n);let o=!1;if(n&&!s){if(t)if(oe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&Yt(r,l,"")}else for(const i in t)n[i]==null&&Yt(r,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?El(e,i,!oe(t)&&t?t[i]:void 0,l)||Yt(r,i,l):Yt(r,i,"")}}else if(s){if(t!==n){const i=r[yl];i&&(n+=";"+i),r.cssText=n,o=wl.test(n)}}else t&&e.removeAttribute("style");Zs in e&&(e[Zs]=o?r.display:"",e[xl]&&(r.display="none"))}const Mn=/\s*!important$/;function Yt(e,t,n){if(F(n))n.forEach(r=>Yt(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))Mn.test(n)?e.setProperty(t,n.replace(Mn,""),"important"):e.setProperty(t,n);else{const r=Cl(e,t);Mn.test(n)?e.setProperty(Oe(r),n.replace(Mn,""),"important"):e[r]=n}}const Qs=["Webkit","Moz","ms"],_r={};function Cl(e,t){const n=_r[t];if(n)return n;let r=ke(t);if(r!=="filter"&&r in e)return _r[t]=r;r=Er(r);for(let s=0;svr||(Ol.then(()=>vr=0),vr=Date.now());function Il(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;const s=n.value;if(F(s)){const o=r.stopImmediatePropagation;r.stopImmediatePropagation=()=>{o.call(r),r._stopped=!0};const i=s.slice(),l=[r];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ll=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?bl(e,r,i):t==="style"?Sl(e,n,r):Qt(t)?en(t)||Tl(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):$l(e,t,r,i))?(no(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&to(e,t,r,i,o,t!=="value")):e._isVueCE&&(Nl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!oe(r)))?no(e,ke(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),to(e,t,r,i))};function $l(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&so(t)&&I(n));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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return so(t)&&oe(n)?!1:t in e}function Nl(e,t){const n=e._def.props;if(!n)return!1;const r=ke(t);return Array.isArray(n)?n.some(s=>ke(s)===r):Object.keys(n).some(s=>ke(s)===r)}const oo={};function mr(e,t,n){let r=gi(e,t);nn(r)&&(r=ce({},r,t));class s extends br{constructor(i){super(r,i,n)}}return s.def=r,s}const jl=typeof HTMLElement<"u"?HTMLElement:class{};class br extends jl{constructor(t,n={},r=co){super(),this._def=t,this._props=n,this._createApp=r,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&r!==co?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(ce({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof br){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,vn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let r=0;r{this._resolved=!0,this._pendingResolve=void 0;const{props:o,styles:i}=r;let l;if(o&&!F(o))for(const c in o){const d=o[c];(d===Number||d&&d.type===Number)&&(c in this._props&&(this._props[c]=Ar(this._props[c])),(l||(l=Object.create(null)))[ke(c)]=!0)}this._numberProps=l,this._resolveProps(r),this.shadowRoot&&this._applyStyles(i),this._mount(r)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(r=>{r.configureApp=this._def.configureApp,t(this._def=r,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const r in n)J(this,r)||Object.defineProperty(this,r,{get:()=>Xn(n[r])})}_resolveProps(t){const{props:n}=t,r=F(n)?n:Object.keys(n||{});for(const s of Object.keys(this))s[0]!=="_"&&r.includes(s)&&this._setProp(s,this[s]);for(const s of r.map(ke))Object.defineProperty(this,s,{get(){return this._getProp(s)},set(o){this._setProp(s,o,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let r=n?this.getAttribute(t):oo;const s=ke(t);n&&this._numberProps&&this._numberProps[s]&&(r=Ar(r)),this._setProp(s,r,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,r=!0,s=!1){if(n!==this._props[t]&&(this._dirty=!0,n===oo?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),s&&this._instance&&this._update(),r)){const o=this._ob;o&&(this._processMutations(o.takeRecords()),o.disconnect()),n===!0?this.setAttribute(Oe(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Oe(t),n+""):n||this.removeAttribute(Oe(t)),o&&o.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Hl(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=le(this._def,ce(t,this._props));return this._instance||(n.ce=r=>{this._instance=r,r.ce=this,r.isCE=!0;const s=(o,i)=>{this.dispatchEvent(new CustomEvent(o,nn(i[0])?ce({detail:i},i[0]):{detail:i}))};r.emit=(o,...i)=>{s(o,i),Oe(o)!==o&&s(Oe(o),i)},this._setParent()}),n}_applyStyles(t,n,r){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const s=this._nonce,o=this.shadowRoot,i=r?this._getStyleAnchor(r)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(o);let l=null;for(let c=t.length-1;c>=0;c--){const d=document.createElement("style");s&&d.setAttribute("nonce",s),d.textContent=t[c],o.insertBefore(d,l||i),l=d,c===0&&(r||this._styleAnchors.set(this._def,d),n&&this._styleAnchors.set(n,d))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{lo().render(...e)},co=(...e)=>{const t=lo().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Ul(r);if(!s)return;const o=t._component;!I(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Bl(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function Bl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ul(e){return oe(e)?document.querySelector(e):e}const Vl=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",Xt=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Kl=["value","placeholder","aria-label"],ao=Xt({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const n=e,r=t,s=Z(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function o(i){const l=i.target.value??"";r("update:modelValue",l),r("search",{value:l})}return(i,l)=>(U(),V("div",{class:"search-box",style:ft(s.value)},[l[0]||(l[0]=L("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[L("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),L("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),L("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:o},null,40,Kl)],4))}},[["styles",[Vl]]]),Wl=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",zl=["data-active","aria-expanded"],ql={class:"filter-dropdown__label"},Gl=["value","placeholder"],Jl={class:"filter-dropdown__options"},Yl={key:0,class:"filter-dropdown__no-options"},Xl=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],Zl={class:"filter-dropdown__count"},at=Xt({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const n=e,r=t,s=ue(!1),o=ue(""),i=ue(-1),l=ue(null),c=ue(null),d=ue(null),u=ue({});function g(R){const j=R.ownerDocument,Y=j.createElement("div");Y.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(R.parentElement||R.getRootNode().body||j.body).appendChild(Y);const me=Y.getBoundingClientRect();return Y.remove(),{x:me.left,y:me.top}}function C(){const R=d.value;if(!R)return;const j=R.getBoundingClientRect(),Y=window.innerWidth,Te=window.innerHeight,me=320,Ge=4,Se=8,ie=Math.round(Math.min(j.width,Y-Se*2)),ee=j.right>Se&&j.leftY-Se?K=Math.round(Math.max(j.right-ie,Se)):K=Math.round(Math.max(j.left,Se)):K=Math.round(Math.min(Math.max(j.left,Se),Y-ie-Se));const be=Te-j.bottom,Je=be<180&&j.top>be,Re=g(R),Ce=Math.round(K-Re.x);u.value=Je?{top:"auto",bottom:`${Math.round(Te-j.top+Ge+Re.y)}px`,left:`${Ce}px`,width:`${ie}px`,maxHeight:`${Math.round(Math.min(me,j.top-Ge-Se))}px`}:{top:`${Math.round(j.bottom+Ge-Re.y)}px`,bottom:"auto",left:`${Ce}px`,width:`${ie}px`,maxHeight:`${Math.round(Math.min(me,be-Ge-Se))}px`}}function E(){s.value&&C()}const O=Z(()=>{if(!o.value)return n.options;const R=o.value.toLowerCase();return n.options.filter(j=>j.label.toLowerCase().includes(R))}),M=Z(()=>n.options.find(R=>R.value===n.value));function H(R){var Y;const j=((Y=R.composedPath)==null?void 0:Y.call(R))??[];l.value&&!j.includes(l.value)&&T()}function $(){s.value?T():N()}function N(){s.value=!0,o.value="",i.value=-1,C(),document.addEventListener("click",H),window.addEventListener("scroll",E,!0),window.addEventListener("resize",E),vn(()=>{var R;C(),(R=c.value)==null||R.focus()})}function T(){s.value=!1,o.value="",i.value=-1,document.removeEventListener("click",H),window.removeEventListener("scroll",E,!0),window.removeEventListener("resize",E)}function k(R){o.value=R.target.value,i.value=-1}function q(R){const j=O.value;switch(R.key){case"ArrowDown":R.preventDefault(),i.value=Math.min(i.value+1,j.length-1),B();break;case"ArrowUp":R.preventDefault(),i.value=Math.max(i.value-1,0),B();break;case"Enter":{R.preventDefault();const Y=j[i.value];Y&&Q(Y);break}case"Escape":R.preventDefault(),T();break}}function B(){vn(()=>{var j;const R=(j=l.value)==null?void 0:j.querySelector(".filter-dropdown__option[data-highlighted]");R==null||R.scrollIntoView({block:"nearest"})})}function Q(R){r("filter-change",{name:n.name,value:R.value,label:R.label,type:R.type}),T()}function _e(){r("filter-clear",{name:n.name}),T()}return ds(()=>{document.removeEventListener("click",H),window.removeEventListener("scroll",E,!0),window.removeEventListener("resize",E)}),(R,j)=>(U(),V("div",{ref_key:"rootRef",ref:l,class:on(["filter-dropdown",{"is-open":s.value}])},[L("button",{ref_key:"triggerRef",ref:d,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":s.value,onClick:$},[L("span",ql,[M.value?(U(),V(de,{key:0},[rt(ae(e.label)+": ",1),L("strong",null,ae(M.value.label),1)],64)):(U(),V(de,{key:1},[rt(ae(e.label),1)],64))]),j[0]||(j[0]=L("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[L("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,zl),s.value?(U(),V("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:ft(u.value)},[L("input",{ref_key:"searchInputRef",ref:c,class:"filter-dropdown__search",type:"text",value:o.value,placeholder:e.placeholder,onInput:k,onKeydown:q},null,40,Gl),e.value?(U(),V("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:_e},"Clear selection")):he("",!0),L("div",Jl,[O.value.length===0?(U(),V("div",Yl,"No options found")):(U(!0),V(de,{key:1},Sn(O.value,(Y,Te)=>(U(),V("div",{key:Y.value,class:"filter-dropdown__option",role:"option","data-highlighted":Te===i.value?"":void 0,"data-selected":Y.value===e.value?"":void 0,"aria-selected":Y.value===e.value,onClick:me=>Q(Y),onMouseenter:me=>i.value=Te},[L("span",null,ae(Y.label),1),L("span",Zl,ae(Y.count),1)],40,Xl))),128))])],4)):he("",!0)],2))}},[["styles",[Wl]]]),Ql=".rh-root{width:100%;box-sizing:border-box;padding:14px 16px;background:#111827;color:#e5e7eb;border-bottom:1px solid #1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;display:flex;flex-direction:column;gap:12px}.rh-title{display:flex;align-items:center;gap:10px}.rh-title h1{font-size:17px;font-weight:700;letter-spacing:-.01em}.rh-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent)}.rh-count{margin-left:auto;font:700 12px/1 ui-monospace,monospace;color:var(--accent)}.rh-search{display:flex}.rh-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.rh-reset{padding:8px 12px;background:transparent;border:1px solid #1f2937;border-radius:8px;color:#94a3b8;font-size:13px;cursor:pointer}.rh-reset:hover{border-color:var(--accent);color:#e5e7eb}",ec={class:"rh-title"},tc={key:0,class:"rh-count",role:"status","aria-live":"polite"},nc={class:"rh-search"},rc={class:"rh-controls"},uo=Xt({__name:"BpResearchHeader",props:{count:{type:[Number,String],default:null},title:{type:String,default:"Unified Research Dashboard"},accent:{type:String,default:"#8b5cf6"},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""}},emits:["research-filter"],setup(e,{emit:t}){const n=e,r=t,s=Z(()=>n.prayBaseUrl||"https://pray.doxa.life"),o=Z(()=>n.languageCode||""),i=ue(""),l=wt({wagf_region:"",wagf_block:"",rop1:"",religion:""}),c=wt({wagf_region:[],wagf_block:[],rop1:[],religion:[]}),d=Z(()=>!!(i.value||l.wagf_region||l.wagf_block||l.rop1||l.religion)),u=hr();function g(){var k,q;const T=((k=u==null?void 0:u.vnode)==null?void 0:k.el)||((q=u==null?void 0:u.proxy)==null?void 0:q.$el);try{const B=T&&T.getRootNode&&T.getRootNode();if(B&&B.host)return B.host}catch{}return T}function C(){const T={query:i.value,wagfRegion:l.wagf_region,wagfBlock:l.wagf_block,rop1:l.rop1,religion:l.religion};r("research-filter",T);const k=g();k&&typeof k.dispatchEvent=="function"&&k.dispatchEvent(new CustomEvent("research-filter",{detail:T,bubbles:!0,composed:!0}))}Ht([i,()=>l.wagf_region,()=>l.wagf_block,()=>l.rop1,()=>l.religion],C,{immediate:!0});function E(T){i.value=(T==null?void 0:T.value)??""}function O(T){(T==null?void 0:T.name)in l&&(l[T.name]=T.value)}function M(T){(T==null?void 0:T.name)in l&&(l[T.name]="")}function H(){i.value="",l.wagf_region="",l.wagf_block="",l.rop1="",l.religion=""}function $(T,k){const q=new Map;for(const B of T){const Q=B[k];if(!(Q!=null&&Q.value))continue;const _e=q.get(Q.value);_e?_e.count++:q.set(Q.value,{label:Q.label,count:1})}return Array.from(q.entries()).map(([B,{label:Q,count:_e}])=>({value:B,label:Q,count:_e})).sort((B,Q)=>B.label.localeCompare(Q.label))}async function N(){const T=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion&lang=${o.value}`;try{const q=await(await fetch(T)).json(),B=Array.isArray(q.posts)?q.posts:[];c.wagf_region=$(B,"wagf_region"),c.wagf_block=$(B,"wagf_block"),c.rop1=$(B,"rop1"),c.religion=$(B,"religion")}catch(k){console.error("[bp-research-header] options fetch error:",k)}}return rr(N),(T,k)=>(U(),V("div",{class:"rh-root",role:"banner",style:ft({"--accent":e.accent})},[L("div",ec,[k[0]||(k[0]=L("span",{class:"rh-dot","aria-hidden":"true"},null,-1)),L("h1",null,ae(e.title),1),e.count!==null&&e.count!==""?(U(),V("span",tc,ae(e.count)+" shown",1)):he("",!0)]),L("div",nc,[le(ao,{"model-value":i.value,placeholder:"Search people groups or countries…","aria-label":"Search people groups",onSearch:E},null,8,["model-value"])]),L("div",rc,[le(at,{label:"Region",name:"wagf_region",options:c.wagf_region,value:l.wagf_region,onFilterChange:O,onFilterClear:M},null,8,["options","value"]),le(at,{label:"Bloc",name:"wagf_block",options:c.wagf_block,value:l.wagf_block,onFilterChange:O,onFilterClear:M},null,8,["options","value"]),le(at,{label:"People Group",name:"rop1",options:c.rop1,value:l.rop1,onFilterChange:O,onFilterClear:M},null,8,["options","value"]),le(at,{label:"Religion",name:"religion",options:c.religion,value:l.religion,onFilterChange:O,onFilterClear:M},null,8,["options","value"]),d.value?(U(),V("button",{key:0,class:"rh-reset",type:"button","aria-label":"Reset all filters and search",onClick:H},"Reset")):he("",!0)])],4))}},[["styles",[Ql]]]);function sc(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[n,...r]=t.split(".");let s=e==null?void 0:e[n];for(const o of r)s=s==null?void 0:s[o];return s}function oc(e,t){const n=e.toLowerCase(),r=t.toLowerCase(),s=[];let o=0,i=n.indexOf(r,o);for(;i!==-1;)s.push([i,i+r.length-1]),o=i+r.length,i=n.indexOf(r,o);return s}function ic(e,t){const n=e.toLowerCase(),r=t.toLowerCase(),s=[];let o=0,i=-1,l=-1;for(let c=0;c({item:o,matches:[]}));if(n.lengthE-C+1>=Math.min(this.minMatchCharLength,n.length));g.length&&(d=g)}}d.length&&i.push({key:l,indices:d})}i.length&&s.push({item:o,matches:i})}return s}}function cc(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const ac=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",uc={class:"pgg-root"},fc={key:0,id:"filters",class:"filters"},dc={key:0,class:"pgg-search"},hc=["aria-expanded"],pc={key:0,class:"filters__toggle-count"},gc={class:"filters__panel"},_c={class:"filters__panel"},vc=["data-active"],mc={key:3,class:"filters__active"},bc=["onClick"],xc={class:"pgg-body"},yc={key:0,class:"repel"},wc={class:"font-size-sm"},Sc={key:1},Cc={id:"results",class:"grid uupgs-list"},Ec=["src","alt"],kc={class:"uupg__header"},Ac=["innerHTML"],Tc={key:0,class:"uupg__country"},Pc=["href"],Mc=["innerHTML"],Rc=["innerHTML"],Oc=["innerHTML"],Fc={key:1,class:"uupg__content"},Ic=["href"],Lc={key:0,class:"loading"},$c={key:1,class:"pgg-empty pgg-failed",role:"status"},Nc={key:2,class:"pgg-empty"},fo=Xt({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},gospelAccess:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const n=e,r=t,s=Z(()=>{if(!n.profileConfig)return{};try{return JSON.parse(n.profileConfig)||{}}catch{return{}}}),o=Z(()=>n.prayBaseUrl||s.value.prayBaseUrl||"https://pray.doxa.life"),i=Z(()=>n.languageCode||s.value.languageCode||""),l=Z(()=>n.researchUrl||s.value.researchUrl||"/research/"),c=Z(()=>({...s.value.t||{},...n.t||{}})),d=h=>!(h===!1||h==="false"||h==="0"||h===0),u=Z(()=>d(n.showSearch)),g=Z(()=>d(n.showFilters)),C=Z(()=>d(n.showTotal)),E=ue([]),O=ue([]),M=ue(0),H=ue(1),$=ue(!0),N=ue(!1),T=ue(!0),k=ue({}),q=ue(""),B=ue({}),Q=Z(()=>u.value?q.value:n.query||""),_e=Z(()=>{const h={},p=m=>m;return n.wagfRegion&&(h.wagf_region={value:n.wagfRegion,label:p(n.wagfRegion)}),n.wagfBlock&&(h.wagf_block={value:n.wagfBlock,label:p(n.wagfBlock)}),n.rop1&&(h.rop1={value:n.rop1,label:p(n.rop1)}),n.religion&&(h.religion={value:n.religion,label:p(n.religion)}),n.countryCode&&(h.country_code={value:n.countryCode,label:p(n.countryCode)}),n.primaryLanguage&&(h.primary_language={value:n.primaryLanguage,label:p(n.primaryLanguage)}),n.engagementStatus&&(h.engagement_status={value:n.engagementStatus,label:p(n.engagementStatus)}),n.cluster&&(h.imb_reg_of_people_2={value:n.cluster,label:p(n.cluster)}),n.peopleGroup&&(h.imb_reg_of_people_25={value:n.peopleGroup,label:p(n.peopleGroup)}),n.gospelAccess&&(h.imb_gsec={value:n.gospelAccess,label:p(n.gospelAccess)}),h}),R=Z(()=>g.value?B.value:_e.value),j=Z(()=>Object.values(R.value||{}).filter(h=>h&&h.value!==""&&h.value!=null).length),Y=Z(()=>Object.keys(R.value).length),Te=Z(()=>j.value>0||!!(Q.value||"").trim());function me(h){return h.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Ge(h,p=500){let m;return(...v)=>{clearTimeout(m),m=setTimeout(()=>h(...v),p)}}const Se=Ge(()=>{$.value=!0,H.value=1,Ye()},500);function ie(h){q.value=(h==null?void 0:h.value)??"",Se()}function ee(){T.value=!T.value}function K(h){B.value={...B.value,[h.name]:{value:h.value,label:h.label}},H.value=1,Ye()}function be(h){Je(h.name)}function Je(h){const p={...B.value};delete p[h],B.value=p,H.value=1,Ye()}function Re(){B.value={},H.value=1,Ye()}function Ce(){if(B.value.exact)return Je("exact");B.value={...B.value,exact:{value:"yes",label:c.value.exact_filter||"Exact"}},H.value=1,Ye()}const Pt=h=>String(h??"").toLowerCase().replace(/[\s_&-]+/g,"");function Rn(h,p){if(!h)return!1;const m=Pt(p==null?void 0:p.value);return m?Pt(h.value)===m||Pt(h.label)===m:!1}function xr(h){let p=h;for(const[m,v]of Object.entries(R.value))m==="exact"?p=p:p=p.filter(A=>Rn(A[m],v));return p}function mt(){const h=p=>{const m=new Map;for(const v of E.value){const A=v[p];if(!(A!=null&&A.value))continue;const S=m.get(A.value);S?S.count++:m.set(A.value,{label:A.label,count:1})}return Array.from(m.entries()).map(([v,{label:A,count:S}])=>({value:v,label:A,count:S})).sort((v,A)=>v.label.localeCompare(A.label))};k.value={wagf_region:h("wagf_region"),wagf_block:h("wagf_block"),rop1:h("rop1"),religion:h("religion")}}function bt(){const h=Object.keys(k.value),p={};for(const m of h){const v={};for(const[w,P]of Object.entries(R.value))w!==m&&(v[w]=P);const A=Zt(v,E.value),S=new Map;for(const w of A){const P=w[m];P!=null&&P.value&&S.set(P.value,(S.get(P.value)??0)+1)}p[m]=(k.value[m]??[]).map(w=>({...w,count:S.get(w.value)??0}))}k.value=p}function Zt(h,p){let m=p;for(const[v,A]of Object.entries(h))v!=="exact"&&(m=m.filter(S=>Rn(S[v],A)));return m}function Ye(){E.value=E.value.map(S=>(S.matches=[],S.country_label="",S.rop1_label="",S));const p=Object.keys(R.value).length>0?xr(E.value):E.value,m=Q.value;if(!m){O.value=p,M.value=O.value.length,$.value=!1,bt(),a();return}const A=new lc(p,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:R.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(m);O.value=A.map(S=>{var P;const w={...S.item};if(!S.matches)return w;w.matches=[];for(const D of S.matches){const W=D.key;if(!W)continue;let z="";if(String(W).includes(".")){const[se,re]=String(W).split(".");z=(P=w[se])==null?void 0:P[re]}else z=w[String(W)];if(z&&typeof z=="string"){let se=0,re="";if(D.indices.forEach((fe,Pe)=>{const ut=fe[0],Mt=fe[1],Ee=D.indices.length-1===Pe;re+=me(z.slice(se,ut))+`${me(z.slice(ut,Mt+1))}`+(Ee?me(z.slice(Mt+1)):""),se=Mt+1}),String(W).includes("imb_alternate_name"))w.matches.push({key:c.value.alternate_name??"Also known as",label:re});else if(String(W).includes(".")){const[fe]=String(W).split("."),Pe={religion:c.value.religion,country_code:c.value.country,rop1:c.value.rop1,wagf_region:c.value.wagf_region,wagf_block:c.value.wagf_block};fe==="rop1"?w.rop1_label=re:fe==="country_code"?w.country_label=re:fe==="wagf_region"||w.matches.push({key:Pe[fe]??fe,label:re})}else w[String(W)]=re}}return w}),M.value=O.value.length,$.value=!1,bt(),a()}const Ie=hr();function ho(){var p,m;const h=((p=Ie==null?void 0:Ie.vnode)==null?void 0:p.el)||((m=Ie==null?void 0:Ie.proxy)==null?void 0:m.$el);try{const v=h&&h.getRootNode&&h.getRootNode();if(v&&v.host)return v.host}catch{}return h}function a(){const h={query:Q.value,activeFilters:R.value,total:M.value,slugs:O.value.map(m=>m.slug)};r("groups-filtered",h);const p=ho();p&&typeof p.dispatchEvent=="function"&&p.dispatchEvent(new CustomEvent("groups-filtered",{detail:h,bubbles:!0,composed:!0}))}function f(){return n.morePerPage>0?M.value>n.perPage+(H.value-1)*n.morePerPage&&!$.value&&O.value.length>0:M.value>H.value*n.perPage&&!$.value&&O.value.length>0}function _(){H.value=H.value+1}const y=Z(()=>n.morePerPage>0?O.value.slice(0,n.perPage+(H.value-1)*n.morePerPage):O.value.slice(0,H.value*n.perPage)),x=Z(()=>f());async function b(){const h=`${o.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25,imb_gsec&lang=${i.value}`;$.value=!0,N.value=!1;try{const p=await fetch(h);if(!p.ok)throw new Error(`HTTP ${p.status}`);const m=await p.json();M.value=m.total,E.value=Array.isArray(m.posts)?m.posts:[],mt(),Ye()}catch(p){console.error("[people-groups-grid] fetch error:",p),N.value=!0,E.value=[],$.value=!1}}return Ht(()=>[n.query,n.wagfRegion,n.wagfBlock,n.rop1,n.religion,n.countryCode,n.primaryLanguage,n.engagementStatus,n.cluster,n.peopleGroup,n.gospelAccess,u.value,g.value],()=>{H.value=1,Ye()}),rr(b),(h,p)=>{var m,v,A,S;return U(),V("div",uc,[u.value||g.value?(U(),V("div",fc,[u.value?(U(),V("div",dc,[le(ao,{"model-value":q.value,placeholder:c.value.search||"Search people groups…","aria-label":c.value.search||"Search people groups","max-width":"480px",onSearch:ie},null,8,["model-value","placeholder","aria-label"])])):he("",!0),g.value?(U(),V("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":T.value,onClick:ee},[p[0]||(p[0]=L("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[L("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),rt(" "+ae(T.value?c.value.hide_filters||"Hide Filters":c.value.show_filters||"Show Filters")+" ",1),j.value?(U(),V("span",pc,ae(j.value),1)):he("",!0),p[1]||(p[1]=L("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[L("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,hc)):he("",!0),g.value&&T.value?(U(),V(de,{key:2},[L("div",gc,[le(at,{label:c.value.wagf_region||"Region",name:"wagf_region",options:k.value.wagf_region||[],value:((m=R.value.wagf_region)==null?void 0:m.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:K,onFilterClear:be},null,8,["label","options","value","placeholder"]),le(at,{label:c.value.wagf_block||"Bloc",name:"wagf_block",options:k.value.wagf_block||[],value:((v=R.value.wagf_block)==null?void 0:v.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:K,onFilterClear:be},null,8,["label","options","value","placeholder"]),le(at,{label:c.value.rop1||"People Group",name:"rop1",options:k.value.rop1||[],value:((A=R.value.rop1)==null?void 0:A.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:K,onFilterClear:be},null,8,["label","options","value","placeholder"]),le(at,{label:c.value.religion||"Religion",name:"religion",options:k.value.religion||[],value:((S=R.value.religion)==null?void 0:S.value)??"",placeholder:c.value.type_to_search||"Type to search...",onFilterChange:K,onFilterClear:be},null,8,["label","options","value","placeholder"])]),L("div",_c,[L("button",{class:"filter-toggle",type:"button","data-active":R.value.exact?"":void 0,onClick:Ce},ae(c.value.exact_filter||"Exact"),9,vc)])],64)):he("",!0),g.value&&Y.value>0?(U(),V("div",mc,[(U(!0),V(de,null,Sn(R.value,(w,P)=>(U(),V("span",{key:P,class:"filter-chip"},[rt(ae(w.label)+" ",1),L("button",{class:"filter-chip__remove",type:"button",onClick:D=>Je(String(P))},"×",8,bc)]))),128)),L("button",{class:"filters__clear-all",type:"button",onClick:Re},ae(c.value.clear_all||"Clear All"),1)])):he("",!0)])):he("",!0),L("div",xc,[C.value||Te.value?(U(),V("div",yc,[L("div",wc,[$.value?(U(),V("span",Sc," ")):(U(),V(de,{key:0},[rt(ae(Te.value&&!C.value?(c.value.showing||"Showing")+" "+M.value.toLocaleString("en-US"):(c.value.total||"Total")+": "+M.value.toLocaleString("en-US")),1)],64))])])):he("",!0),L("div",Cc,[(U(!0),V(de,null,Sn(y.value,w=>(U(),V("div",{key:w.slug,class:"card uupg__card"},[w.image_url?(U(),V("img",{key:0,class:"uupg__image",src:w.image_url,alt:w.name},null,8,Ec)):he("",!0),L("div",kc,[L("h3",{class:"uupg__name",innerHTML:w.name},null,8,Ac),w.country_code?(U(),V("p",Tc,[L("a",{class:"uupg__country-link",href:`${l.value}../countries/${Xn(cc)(w.country_code.value,w.country_code.label)}`},[L("span",{innerHTML:w.country_label?w.country_label:w.country_code.label},null,8,Mc)],8,Pc),w.rop1?(U(),V(de,{key:0},[p[2]||(p[2]=rt(" (",-1)),L("span",{innerHTML:w.rop1_label?w.rop1_label:w.rop1.label},null,8,Rc),p[3]||(p[3]=rt(")",-1))],64)):he("",!0)])):he("",!0),w.matches?(U(!0),V(de,{key:1},Sn(w.matches,(P,D)=>(U(),V("p",{key:D,class:"uupg__match"},[L("strong",null,ae(P.key),1),p[4]||(p[4]=rt(": ",-1)),L("span",{innerHTML:P.label},null,8,Oc)]))),128)):he("",!0)]),w.location_description?(U(),V("p",Fc,ae(w.location_description),1)):he("",!0),L("a",{class:"uupg__more-button",href:`${l.value}${w.slug}`},ae(c.value.full_profile||"Full profile"),9,Ic)]))),128)),$.value?(U(),V("div",Lc,ae(c.value.loading||"Loading…"),1)):N.value?(U(),V("div",$c,ae(c.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):y.value.length?he("",!0):(U(),V("div",Nc,ae(c.value.no_results||"No people groups match this filter."),1))]),x.value?(U(),V("button",{key:1,class:"pgg-loadmore",type:"button",onClick:_},ae(c.value.load_more||"Load more"),1)):he("",!0)])])}}},[["styles",[ac]]]),jc=":host{display:block;width:100%;height:100%}.bp-root{--bg: #f3f3f1;--line: #d1d4cd;--ink: #3b463d;--mut: #6d766e;display:flex;flex-direction:column;width:100%;height:100%;min-height:480px;overflow:hidden;background:var(--bg);color:var(--ink);box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.bp-body{flex:1;min-height:0;position:relative;overflow:auto}.bp-foot{flex:none;padding:8px 12px;font-size:11px;color:var(--mut);text-align:center;border-top:1px solid var(--line)}",Dc={class:"bp-body"},Hc=mr(Xt({__name:"big-picture",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,n=Z(()=>{if(!t.profileConfig)return{};try{return JSON.parse(t.profileConfig)||{}}catch{return{}}}),r=Z(()=>n.value.accent||"#8b5cf6"),s=Z(()=>n.value.title||"Big Picture — Unified Research Dashboard"),o=Z(()=>n.value.prayBaseUrl||""),i=Z(()=>n.value.languageCode||""),l=wt({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:""}),c=ue(null);function d(g){const C=g&&typeof g=="object"?g:{};l.query=C.query||"",l.wagfRegion=C.wagfRegion||"",l.wagfBlock=C.wagfBlock||"",l.rop1=C.rop1||"",l.religion=C.religion||""}function u(g){const C=g&&typeof g=="object"?g:{};c.value=typeof C.total=="number"?C.total:null}return(g,C)=>(U(),V("div",{class:"bp-root",style:ft({"--accent":r.value})},[le(uo,{title:s.value,accent:r.value,count:c.value,"pray-base-url":o.value,"language-code":i.value,onResearchFilter:d},null,8,["title","accent","count","pray-base-url","language-code"]),L("div",Dc,[le(fo,{query:l.query,"wagf-region":l.wagfRegion,"wagf-block":l.wagfBlock,rop1:l.rop1,religion:l.religion,"show-search":!1,"show-filters":!1,"show-total":!1,"pray-base-url":o.value,"language-code":i.value,onGroupsFiltered:u},null,8,["query","wagf-region","wagf-block","rop1","religion","pray-base-url","language-code"])]),C[0]||(C[0]=L("footer",{class:"bp-foot"}," Search and filter the world's people groups · least-reached shown first ",-1))],4))}},[["styles",[jc]]])),Bc=mr(uo),Uc=mr(fo);typeof customElements<"u"&&(customElements.get("bp-big-picture")||customElements.define("bp-big-picture",Hc),customElements.get("bp-research-header")||customElements.define("bp-research-header",Bc),customElements.get("people-groups-grid")||customElements.define("people-groups-grid",Uc))})(); diff --git a/public/doxa-maps/big-picture/big-picture/big-picture/index.html b/public/doxa-maps/big-picture/big-picture/big-picture/index.html index b058d0e5c..a7d38dba3 100644 --- a/public/doxa-maps/big-picture/big-picture/big-picture/index.html +++ b/public/doxa-maps/big-picture/big-picture/big-picture/index.html @@ -37,7 +37,7 @@ - + - + - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":20,"profileCount":29,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-DXAVG9lD/E5ikp1qxouggcLh5uEiE9MNPp0BvMomCRK4Rqz5J3yD9N/a6zvw+pCo","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-DXAVG9lD/E5ikp1qxouggcLh5uEiE9MNPp0BvMomCRK4Rqz5J3yD9N/a6zvw+pCo\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-a9W2VPCO3zJ+1pqWQadGso72rNPTfmZgO4aoGtZN7RDFQpVQbeTvy8JBsGi9VH43","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-a9W2VPCO3zJ+1pqWQadGso72rNPTfmZgO4aoGtZN7RDFQpVQbeTvy8JBsGi9VH43\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-4MLqWU5FPGDfbLO/iJBFFtNRM8WjdwnXXcI5sp+S39mRYi8NH17ojPEUbGF3zF/f","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-4MLqWU5FPGDfbLO/iJBFFtNRM8WjdwnXXcI5sp+S39mRYi8NH17ojPEUbGF3zF/f\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-4MLqWU5FPGDfbLO/iJBFFtNRM8WjdwnXXcI5sp+S39mRYi8NH17ojPEUbGF3zF/f\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-hNXVpo4xKeS4duW626lpzzD7am6ns+9e4pkvkDHy2scXIBtMXNzQr/8QijXIDQzu","elements":["dashboard-plus-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-hNXVpo4xKeS4duW626lpzzD7am6ns+9e4pkvkDHy2scXIBtMXNzQr/8QijXIDQzu\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-/vJk6np5yr3F78UglY6t07VUuQ7z58O0iLYc48UA6Q9kVLfSdHFOCRh2Vmd0rdIF","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-/vJk6np5yr3F78UglY6t07VUuQ7z58O0iLYc48UA6Q9kVLfSdHFOCRh2Vmd0rdIF\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-IWw27w4r5O6tsh92zPMqVoxt4so2pmIjsJBu/G8XQ0S3QEyEGKIW1QykAdRDioQA","elements":["doxa-maps-spa"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-IWw27w4r5O6tsh92zPMqVoxt4so2pmIjsJBu/G8XQ0S3QEyEGKIW1QykAdRDioQA\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-WccxBaFhcQiqOh7Tz1r7IOgmSxK154gRFGWg1bLzaSPPUUXbVwOVdPy7S3Kd+4/h","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-WccxBaFhcQiqOh7Tz1r7IOgmSxK154gRFGWg1bLzaSPPUUXbVwOVdPy7S3Kd+4/h\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"}}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-IJLfRHNXV67S25xXWTvOc8C/25hm1eLxvye9O4kUVzRRytRjOk52xaHBDl/hjwmb","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-IJLfRHNXV67S25xXWTvOc8C/25hm1eLxvye9O4kUVzRRytRjOk52xaHBDl/hjwmb\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-nFY1cewUGJeRgiA3CHjnnYCKMesb1Vh9dfexz7CbAljdHezciVIaND11t66EN5Se\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-5P8QseUJZQ3XBbreJUDZ7xqi1Pvzd2c/Ns2GuXhK+6tjZ2tVSUM1gRiC6vdg6bSJ\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-M3RVF4r+s9KJ2YznjQ+g3BR4XjsA4n8uhfCk97dwyiuN1BxRdeQmmMnQILV0CwJg","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-M3RVF4r+s9KJ2YznjQ+g3BR4XjsA4n8uhfCk97dwyiuN1BxRdeQmmMnQILV0CwJg\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh","elements":["plugin-studio"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-kHO7akUTZkhcmGUHvirbAvMdkAzR2x5/kY0q8fU1RirNgum32XhESod5SxhWvCFK","elements":["regions-dashboard"],"profiles":[{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":false,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-kHO7akUTZkhcmGUHvirbAvMdkAzR2x5/kY0q8fU1RirNgum32XhESod5SxhWvCFK\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-evC/t92IRW0rYxGlmQj6qP3dlxoY/LwaNCnCADDUvx+Mj9GtouhAqO04oQbeWEO4","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-evC/t92IRW0rYxGlmQj6qP3dlxoY/LwaNCnCADDUvx+Mj9GtouhAqO04oQbeWEO4\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS","elements":["research-map-plus-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy","elements":["stack-demo"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; \n\n" + "script": "\n\n" }, "instances": [ { @@ -189,7 +189,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-yfHCgd3JMyljAgMbuaUTrANkHxaVHq+2vKrexdEysuIULBhMglIVUrp/WTAOvUPt", + "integrity": "sha384-hNXVpo4xKeS4duW626lpzzD7am6ns+9e4pkvkDHy2scXIBtMXNzQr/8QijXIDQzu", "elements": [ "dashboard-plus-grid" ], @@ -205,7 +205,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -272,7 +272,7 @@ "bundle": "doxa-maps-spa", "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "output": "doxa-maps/doxa-maps-spa/doxa-maps-spa.js", - "integrity": "sha384-GJiuI3T69Om//h3hE5AEeqIF3H6EnXrQVNj5BiAyLZcABodDXAA/pDYVxXsDT1Pq", + "integrity": "sha384-IWw27w4r5O6tsh92zPMqVoxt4so2pmIjsJBu/G8XQ0S3QEyEGKIW1QykAdRDioQA", "elements": [ "doxa-maps-spa" ], @@ -288,7 +288,7 @@ "scriptUrl": "./doxa-maps-spa/doxa-maps-spa.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -315,7 +315,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-Yr96G/fGU/1go2HkjwvOA/t1H2cKj49PzlM95vXLp/DGjRreIxb6MiamSNlunS05", + "integrity": "sha384-WccxBaFhcQiqOh7Tz1r7IOgmSxK154gRFGWg1bLzaSPPUUXbVwOVdPy7S3Kd+4/h", "elements": [ "doxa-research-map" ], @@ -331,7 +331,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -760,11 +760,36 @@ } ] }, + { + "bundle": "regions-dashboard", + "scriptUrl": "./regions-dashboard/regions-dashboard.js", + "output": "doxa-maps/regions-dashboard/regions-dashboard.js", + "integrity": "sha384-kHO7akUTZkhcmGUHvirbAvMdkAzR2x5/kY0q8fU1RirNgum32XhESod5SxhWvCFK", + "elements": [ + "regions-dashboard" + ], + "profiles": [ + { + "profile": "regions-list", + "file": "regions-list.vue", + "description": "A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into", + "element": "regions-dashboard", + "type": "single", + "isMap": false, + "iframeUrl": "./regions-dashboard/regions-list/index.html", + "scriptUrl": "./regions-dashboard/regions-dashboard.js", + "embed": { + "iframe": "", + "script": "\n\n" + } + } + ] + }, { "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-eF/Umo6VT16XBsisuQayg28FVOuKRmI8O7tNsWv/xctEJN59Z7uMa4gkna5vf5S8", + "integrity": "sha384-evC/t92IRW0rYxGlmQj6qP3dlxoY/LwaNCnCADDUvx+Mj9GtouhAqO04oQbeWEO4", "elements": [ "research-dashboard-map" ], @@ -780,7 +805,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } diff --git a/public/doxa-maps/research-dashboard/research-dashboard.js b/public/doxa-maps/research-dashboard/research-dashboard.js index 91166122c..9bfd2404c 100644 --- a/public/doxa-maps/research-dashboard/research-dashboard.js +++ b/public/doxa-maps/research-dashboard/research-dashboard.js @@ -1,46 +1,46 @@ -(function(){"use strict";var Gn=typeof document<"u"?document.currentScript:null;const zw="modulepreload",Bw=function(e){return"/"+e},Uw={},td=function(t,n,o){let r=Promise.resolve();function s(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return r.then(a=>{for(const i of a||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** +(function(){"use strict";var Gn=typeof document<"u"?document.currentScript:null;const Gw="modulepreload",qw=function(e){return"/"+e},Vw={},od=function(t,n,o){let r=Promise.resolve();function s(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return r.then(a=>{for(const i of a||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function as(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const qe={},qn=[],Ut=()=>{},Ga=()=>!1,tr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),nr=e=>e.startsWith("onUpdate:"),tt=Object.assign,is=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},nd=Object.prototype.hasOwnProperty,je=(e,t)=>nd.call(e,t),we=Array.isArray,vn=e=>bo(e)==="[object Map]",or=e=>bo(e)==="[object Set]",qa=e=>bo(e)==="[object Date]",$e=e=>typeof e=="function",Ve=e=>typeof e=="string",St=e=>typeof e=="symbol",ze=e=>e!==null&&typeof e=="object",Va=e=>(ze(e)||$e(e))&&$e(e.then)&&$e(e.catch),Ha=Object.prototype.toString,bo=e=>Ha.call(e),od=e=>bo(e).slice(8,-1),rr=e=>bo(e)==="[object Object]",sr=e=>Ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_o=as(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ar=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},rd=/-\w/g,it=ar(e=>e.replace(rd,t=>t.slice(1).toUpperCase())),sd=/\B([A-Z])/g,Et=ar(e=>e.replace(sd,"-$1").toLowerCase()),ir=ar(e=>e.charAt(0).toUpperCase()+e.slice(1)),ls=ar(e=>e?`on${ir(e)}`:""),Gt=(e,t)=>!Object.is(e,t),lr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},cs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ka=e=>{const t=Ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Ya;const cr=()=>Ya||(Ya=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function gt(e){if(we(e)){const t={};for(let n=0;n{if(n){const o=n.split(id);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Ne(e){let t="";if(Ve(e))t=e;else if(we(e))for(let n=0;n!!(e&&e.__v_isRef===!0),fe=e=>Ve(e)?e:e==null?"":we(e)||ze(e)&&(e.toString===Ha||!$e(e.toString))?Za(e)?fe(e.value):JSON.stringify(e,Qa,2):String(e),Qa=(e,t)=>Za(t)?Qa(e,t.value):vn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r],s)=>(n[us(o,s)+" =>"]=r,n),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>us(n))}:St(t)?us(t):ze(t)&&!we(t)&&!rr(t)?String(t):t,us=(e,t="")=>{var n;return St(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function as(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const qe={},qn=[],Ut=()=>{},Ga=()=>!1,tr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),nr=e=>e.startsWith("onUpdate:"),tt=Object.assign,is=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},rd=Object.prototype.hasOwnProperty,De=(e,t)=>rd.call(e,t),we=Array.isArray,vn=e=>bo(e)==="[object Map]",or=e=>bo(e)==="[object Set]",qa=e=>bo(e)==="[object Date]",$e=e=>typeof e=="function",He=e=>typeof e=="string",St=e=>typeof e=="symbol",je=e=>e!==null&&typeof e=="object",Va=e=>(je(e)||$e(e))&&$e(e.then)&&$e(e.catch),Ha=Object.prototype.toString,bo=e=>Ha.call(e),sd=e=>bo(e).slice(8,-1),rr=e=>bo(e)==="[object Object]",sr=e=>He(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_o=as(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ar=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ad=/-\w/g,it=ar(e=>e.replace(ad,t=>t.slice(1).toUpperCase())),id=/\B([A-Z])/g,Et=ar(e=>e.replace(id,"-$1").toLowerCase()),ir=ar(e=>e.charAt(0).toUpperCase()+e.slice(1)),ls=ar(e=>e?`on${ir(e)}`:""),Gt=(e,t)=>!Object.is(e,t),lr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},cs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ka=e=>{const t=He(e)?Number(e):NaN;return isNaN(t)?e:t};let Ya;const cr=()=>Ya||(Ya=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function gt(e){if(we(e)){const t={};for(let n=0;n{if(n){const o=n.split(cd);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Me(e){let t="";if(He(e))t=e;else if(we(e))for(let n=0;n!!(e&&e.__v_isRef===!0),fe=e=>He(e)?e:e==null?"":we(e)||je(e)&&(e.toString===Ha||!$e(e.toString))?Za(e)?fe(e.value):JSON.stringify(e,Qa,2):String(e),Qa=(e,t)=>Za(t)?Qa(e,t.value):vn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r],s)=>(n[us(o,s)+" =>"]=r,n),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>us(n))}:St(t)?us(t):je(t)&&!we(t)&&!rr(t)?String(t):t,us=(e,t="")=>{var n;return St(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let st;class ei{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&st&&(st.active?(this.parent=st,this.index=(st.scopes||(st.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(st===this)st=this.prevScope;else{let t=st;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(vo){let t=vo;for(vo=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;yo;){let t=yo;for(yo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ai(e){let t,n=e.depsTail,o=n;for(;o;){const r=o.prevDep;o.version===-1?(o===n&&(n=r),ms(o),pd(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===wo)||(e.globalVersion=wo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=He,o=Nt;He=e,Nt=!0;try{si(e);const r=e.fn(e._value);(t.version===0||Gt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{He=n,Nt=o,ai(e),e.flags&=-3}}function ms(e,t=!1){const{dep:n,prevSub:o,nextSub:r}=e;if(o&&(o.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ms(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function pd(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Nt=!0;const li=[];function qt(){li.push(Nt),Nt=!1}function Vt(){const e=li.pop();Nt=e===void 0?!0:e}function ci(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=He;He=void 0;try{t()}finally{He=n}}}let wo=0;class gd{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class bs{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(!He||!Nt||He===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==He)n=this.activeLink=new gd(He,this),He.deps?(n.prevDep=He.depsTail,He.depsTail.nextDep=n,He.depsTail=n):He.deps=He.depsTail=n,ui(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=He.depsTail,n.nextDep=void 0,He.depsTail.nextDep=n,He.depsTail=n,He.deps===n&&(He.deps=o)}return n}trigger(t){this.version++,wo++,this.notify(t)}notify(t){ps();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{gs()}}}function ui(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)ui(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const dr=new WeakMap,Pn=Symbol(""),_s=Symbol(""),xo=Symbol("");function ht(e,t,n){if(Nt&&He){let o=dr.get(e);o||dr.set(e,o=new Map);let r=o.get(n);r||(o.set(n,r=new bs),r.map=o,r.key=n),r.track()}}function tn(e,t,n,o,r,s){const a=dr.get(e);if(!a){wo++;return}const i=l=>{l&&l.trigger()};if(ps(),t==="clear")a.forEach(i);else{const l=we(e),c=l&&sr(n);if(l&&n==="length"){const u=Number(o);a.forEach((p,b)=>{(b==="length"||b===xo||!St(b)&&b>=u)&&i(p)})}else switch((n!==void 0||a.has(void 0))&&i(a.get(n)),c&&i(a.get(xo)),t){case"add":l?c&&i(a.get("length")):(i(a.get(Pn)),vn(e)&&i(a.get(_s)));break;case"delete":l||(i(a.get(Pn)),vn(e)&&i(a.get(_s)));break;case"set":vn(e)&&i(a.get(Pn));break}}gs()}function hd(e,t){const n=dr.get(e);return n&&n.get(t)}function Vn(e){const t=Me(e);return t===e?t:(ht(t,"iterate",xo),At(e)?t:t.map(Mt))}function fr(e){return ht(e=Me(e),"iterate",xo),e}function Ht(e,t){return rn(e)?Hn(on(e)?Mt(t):t):Mt(t)}const md={__proto__:null,[Symbol.iterator](){return ys(this,Symbol.iterator,e=>Ht(this,e))},concat(...e){return Vn(this).concat(...e.map(t=>we(t)?Vn(t):t))},entries(){return ys(this,"entries",e=>(e[1]=Ht(this,e[1]),e))},every(e,t){return nn(this,"every",e,t,void 0,arguments)},filter(e,t){return nn(this,"filter",e,t,n=>n.map(o=>Ht(this,o)),arguments)},find(e,t){return nn(this,"find",e,t,n=>Ht(this,n),arguments)},findIndex(e,t){return nn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return nn(this,"findLast",e,t,n=>Ht(this,n),arguments)},findLastIndex(e,t){return nn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return nn(this,"forEach",e,t,void 0,arguments)},includes(...e){return vs(this,"includes",e)},indexOf(...e){return vs(this,"indexOf",e)},join(e){return Vn(this).join(e)},lastIndexOf(...e){return vs(this,"lastIndexOf",e)},map(e,t){return nn(this,"map",e,t,void 0,arguments)},pop(){return ko(this,"pop")},push(...e){return ko(this,"push",e)},reduce(e,...t){return di(this,"reduce",e,t)},reduceRight(e,...t){return di(this,"reduceRight",e,t)},shift(){return ko(this,"shift")},some(e,t){return nn(this,"some",e,t,void 0,arguments)},splice(...e){return ko(this,"splice",e)},toReversed(){return Vn(this).toReversed()},toSorted(e){return Vn(this).toSorted(e)},toSpliced(...e){return Vn(this).toSpliced(...e)},unshift(...e){return ko(this,"unshift",e)},values(){return ys(this,"values",e=>Ht(this,e))}};function ys(e,t,n){const o=fr(e),r=o[t]();return o!==e&&!At(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=n(s.value)),s}),r}const bd=Array.prototype;function nn(e,t,n,o,r,s){const a=fr(e),i=a!==e&&!At(e),l=a[t];if(l!==bd[t]){const p=l.apply(e,s);return i?Mt(p):p}let c=n;a!==e&&(i?c=function(p,b){return n.call(this,Ht(e,p),b,e)}:n.length>2&&(c=function(p,b){return n.call(this,p,b,e)}));const u=l.call(a,c,o);return i&&r?r(u):u}function di(e,t,n,o){const r=fr(e),s=r!==e&&!At(e);let a=n,i=!1;r!==e&&(s?(i=o.length===0,a=function(c,u,p){return i&&(i=!1,c=Ht(e,c)),n.call(this,c,Ht(e,u),p,e)}):n.length>3&&(a=function(c,u,p){return n.call(this,c,u,p,e)}));const l=r[t](a,...o);return i?Ht(e,l):l}function vs(e,t,n){const o=Me(e);ht(o,"iterate",xo);const r=o[t](...n);return(r===-1||r===!1)&&br(n[0])?(n[0]=Me(n[0]),o[t](...n)):r}function ko(e,t,n=[]){qt(),ps();const o=Me(e)[t].apply(e,n);return gs(),Vt(),o}const _d=as("__proto__,__v_isRef,__isVue"),fi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(St));function yd(e){St(e)||(e=String(e));const t=Me(this);return ht(t,"has",e),t.hasOwnProperty(e)}class pi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(r?s?yi:_i:s?bi:mi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const a=we(t);if(!r){let l;if(a&&(l=md[n]))return l;if(n==="hasOwnProperty")return yd}const i=Reflect.get(t,n,Xe(t)?t:o);if((St(n)?fi.has(n):_d(n))||(r||ht(t,"get",n),s))return i;if(Xe(i)){const l=a&&sr(n)?i:i.value;return r&&ze(l)?xs(l):l}return ze(i)?r?xs(i):In(i):i}}class gi extends pi{constructor(t=!1){super(!1,t)}set(t,n,o,r){let s=t[n];const a=we(t)&&sr(n);if(!this._isShallow){const c=rn(s);if(!At(o)&&!rn(o)&&(s=Me(s),o=Me(o)),!a&&Xe(s)&&!Xe(o))return c||(s.value=o),!0}const i=a?Number(n)e,pr=e=>Reflect.getPrototypeOf(e);function $d(e,t,n){return function(...o){const r=this.__v_raw,s=Me(r),a=vn(s),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=r[e](...o),u=n?ws:t?Hn:Mt;return!t&&ht(s,"iterate",l?_s:Pn),tt(Object.create(c),{next(){const{value:p,done:b}=c.next();return b?{value:p,done:b}:{value:i?[u(p[0]),u(p[1])]:u(p),done:b}}})}}function gr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Sd(e,t){const n={get(r){const s=this.__v_raw,a=Me(s),i=Me(r);e||(Gt(r,i)&&ht(a,"get",r),ht(a,"get",i));const{has:l}=pr(a),c=t?ws:e?Hn:Mt;if(l.call(a,r))return c(s.get(r));if(l.call(a,i))return c(s.get(i));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&ht(Me(r),"iterate",Pn),r.size},has(r){const s=this.__v_raw,a=Me(s),i=Me(r);return e||(Gt(r,i)&&ht(a,"has",r),ht(a,"has",i)),r===i?s.has(r):s.has(r)||s.has(i)},forEach(r,s){const a=this,i=a.__v_raw,l=Me(i),c=t?ws:e?Hn:Mt;return!e&&ht(l,"iterate",Pn),i.forEach((u,p)=>r.call(s,c(u),c(p),a))}};return tt(n,e?{add:gr("add"),set:gr("set"),delete:gr("delete"),clear:gr("clear")}:{add(r){const s=Me(this),a=pr(s),i=Me(r),l=!t&&!At(r)&&!rn(r)?i:r;return a.has.call(s,l)||Gt(r,l)&&a.has.call(s,r)||Gt(i,l)&&a.has.call(s,i)||(s.add(l),tn(s,"add",l,l)),this},set(r,s){!t&&!At(s)&&!rn(s)&&(s=Me(s));const a=Me(this),{has:i,get:l}=pr(a);let c=i.call(a,r);c||(r=Me(r),c=i.call(a,r));const u=l.call(a,r);return a.set(r,s),c?Gt(s,u)&&tn(a,"set",r,s):tn(a,"add",r,s),this},delete(r){const s=Me(this),{has:a,get:i}=pr(s);let l=a.call(s,r);l||(r=Me(r),l=a.call(s,r)),i&&i.call(s,r);const c=s.delete(r);return l&&tn(s,"delete",r,void 0),c},clear(){const r=Me(this),s=r.size!==0,a=r.clear();return s&&tn(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=$d(r,e,t)}),n}function hr(e,t){const n=Sd(e,t);return(o,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(je(n,r)&&r in o?n:o,r,s)}const Ed={get:hr(!1,!1)},Ad={get:hr(!1,!0)},Cd={get:hr(!0,!1)},Td={get:hr(!0,!0)},mi=new WeakMap,bi=new WeakMap,_i=new WeakMap,yi=new WeakMap;function Ld(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function In(e){return rn(e)?e:mr(e,!1,vd,Ed,mi)}function Pd(e){return mr(e,!1,xd,Ad,bi)}function xs(e){return mr(e,!0,wd,Cd,_i)}function qw(e){return mr(e,!0,kd,Td,yi)}function mr(e,t,n,o,r){if(!ze(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=Ld(od(e));if(a===0)return e;const i=new Proxy(e,a===2?o:n);return r.set(e,i),i}function on(e){return rn(e)?on(e.__v_raw):!!(e&&e.__v_isReactive)}function rn(e){return!!(e&&e.__v_isReadonly)}function At(e){return!!(e&&e.__v_isShallow)}function br(e){return e?!!e.__v_raw:!1}function Me(e){const t=e&&e.__v_raw;return t?Me(t):e}function $o(e){return!je(e,"__v_skip")&&Object.isExtensible(e)&&Wa(e,"__v_skip",!0),e}const Mt=e=>ze(e)?In(e):e,Hn=e=>ze(e)?xs(e):e;function Xe(e){return e?e.__v_isRef===!0:!1}function ue(e){return vi(e,!1)}function So(e){return vi(e,!0)}function vi(e,t){return Xe(e)?e:new Id(e,t)}class Id{constructor(t,n){this.dep=new bs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Me(t),this._value=n?t:Mt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||At(t)||rn(t);t=o?t:Me(t),Gt(t,n)&&(this._rawValue=t,this._value=o?t:Mt(t),this.dep.trigger())}}function pe(e){return Xe(e)?e.value:e}const Nd={get:(e,t,n)=>t==="__v_raw"?e:pe(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return Xe(r)&&!Xe(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function wi(e){return on(e)?e:new Proxy(e,Nd)}function Md(e){const t=we(e)?new Array(e.length):{};for(const n in e)t[n]=Rd(e,n);return t}class Fd{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=St(n)?n:String(n),this._raw=Me(t);let r=!0,s=t;if(!we(t)||St(this._key)||!sr(this._key))do r=!br(s)||At(s);while(r&&(s=s.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=pe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Xe(this._raw[this._key])){const n=this._object[this._key];if(Xe(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return hd(this._raw,this._key)}}function Rd(e,t,n){return new Fd(e,t,n)}class Od{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new bs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=wo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&He!==this)return ri(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Dd(e,t,n=!1){let o,r;return $e(e)?o=e:(o=e.get,r=e.set),new Od(o,r,n)}const _r={},yr=new WeakMap;let Nn;function jd(e,t=!1,n=Nn){if(n){let o=yr.get(n);o||yr.set(n,o=[]),o.push(e)}}function zd(e,t,n=qe){const{immediate:o,deep:r,once:s,scheduler:a,augmentJob:i,call:l}=n,c=f=>r?f:At(f)||r===!1||r===0?sn(f,1):sn(f);let u,p,b,x,A=!1,y=!1;if(Xe(e)?(p=()=>e.value,A=At(e)):on(e)?(p=()=>c(e),A=!0):we(e)?(y=!0,A=e.some(f=>on(f)||At(f)),p=()=>e.map(f=>{if(Xe(f))return f.value;if(on(f))return c(f);if($e(f))return l?l(f,2):f()})):$e(e)?t?p=l?()=>l(e,2):e:p=()=>{if(b){qt();try{b()}finally{Vt()}}const f=Nn;Nn=u;try{return l?l(e,3,[x]):e(x)}finally{Nn=f}}:p=Ut,t&&r){const f=p,g=r===!0?1/0:r;p=()=>sn(f(),g)}const v=ti(),C=()=>{u.stop(),v&&v.active&&is(v.effects,u)};if(s&&t){const f=t;t=(...g)=>{const k=f(...g);return C(),k}}let _=y?new Array(e.length).fill(_r):_r;const d=f=>{if(!(!(u.flags&1)||!u.dirty&&!f))if(t){const g=u.run();if(f||r||A||(y?g.some((k,$)=>Gt(k,_[$])):Gt(g,_))){b&&b();const k=Nn;Nn=u;try{const $=[g,_===_r?void 0:y&&_[0]===_r?[]:_,x];_=g,l?l(t,3,$):t(...$)}finally{Nn=k}}}else u.run()};return i&&i(d),u=new ni(p),u.scheduler=a?()=>a(d,!1):d,x=f=>jd(f,!1,u),b=u.onStop=()=>{const f=yr.get(u);if(f){if(l)l(f,4);else for(const g of f)g();yr.delete(u)}},t?o?d(!0):_=u.run():a?a(d.bind(null,!0),!0):u.run(),C.pause=u.pause.bind(u),C.resume=u.resume.bind(u),C.stop=C,C}function sn(e,t=1/0,n){if(t<=0||!ze(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Xe(e))sn(e.value,t,n);else if(we(e))for(let o=0;o{sn(o,t,n)});else if(rr(e)){for(const o in e)sn(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&sn(e[o],t,n)}return e}/** +**/let st;class ei{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&st&&(st.active?(this.parent=st,this.index=(st.scopes||(st.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(st===this)st=this.prevScope;else{let t=st;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(vo){let t=vo;for(vo=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;yo;){let t=yo;for(yo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ai(e){let t,n=e.depsTail,o=n;for(;o;){const r=o.prevDep;o.version===-1?(o===n&&(n=r),ms(o),hd(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===wo)||(e.globalVersion=wo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=We,o=Nt;We=e,Nt=!0;try{si(e);const r=e.fn(e._value);(t.version===0||Gt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{We=n,Nt=o,ai(e),e.flags&=-3}}function ms(e,t=!1){const{dep:n,prevSub:o,nextSub:r}=e;if(o&&(o.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ms(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function hd(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Nt=!0;const li=[];function qt(){li.push(Nt),Nt=!1}function Vt(){const e=li.pop();Nt=e===void 0?!0:e}function ci(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=We;We=void 0;try{t()}finally{We=n}}}let wo=0;class md{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class bs{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(!We||!Nt||We===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==We)n=this.activeLink=new md(We,this),We.deps?(n.prevDep=We.depsTail,We.depsTail.nextDep=n,We.depsTail=n):We.deps=We.depsTail=n,ui(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=We.depsTail,n.nextDep=void 0,We.depsTail.nextDep=n,We.depsTail=n,We.deps===n&&(We.deps=o)}return n}trigger(t){this.version++,wo++,this.notify(t)}notify(t){ps();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{gs()}}}function ui(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)ui(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const dr=new WeakMap,Pn=Symbol(""),_s=Symbol(""),xo=Symbol("");function ht(e,t,n){if(Nt&&We){let o=dr.get(e);o||dr.set(e,o=new Map);let r=o.get(n);r||(o.set(n,r=new bs),r.map=o,r.key=n),r.track()}}function tn(e,t,n,o,r,s){const a=dr.get(e);if(!a){wo++;return}const i=l=>{l&&l.trigger()};if(ps(),t==="clear")a.forEach(i);else{const l=we(e),c=l&&sr(n);if(l&&n==="length"){const u=Number(o);a.forEach((p,b)=>{(b==="length"||b===xo||!St(b)&&b>=u)&&i(p)})}else switch((n!==void 0||a.has(void 0))&&i(a.get(n)),c&&i(a.get(xo)),t){case"add":l?c&&i(a.get("length")):(i(a.get(Pn)),vn(e)&&i(a.get(_s)));break;case"delete":l||(i(a.get(Pn)),vn(e)&&i(a.get(_s)));break;case"set":vn(e)&&i(a.get(Pn));break}}gs()}function bd(e,t){const n=dr.get(e);return n&&n.get(t)}function Vn(e){const t=Fe(e);return t===e?t:(ht(t,"iterate",xo),At(e)?t:t.map(Mt))}function fr(e){return ht(e=Fe(e),"iterate",xo),e}function Ht(e,t){return rn(e)?Hn(on(e)?Mt(t):t):Mt(t)}const _d={__proto__:null,[Symbol.iterator](){return ys(this,Symbol.iterator,e=>Ht(this,e))},concat(...e){return Vn(this).concat(...e.map(t=>we(t)?Vn(t):t))},entries(){return ys(this,"entries",e=>(e[1]=Ht(this,e[1]),e))},every(e,t){return nn(this,"every",e,t,void 0,arguments)},filter(e,t){return nn(this,"filter",e,t,n=>n.map(o=>Ht(this,o)),arguments)},find(e,t){return nn(this,"find",e,t,n=>Ht(this,n),arguments)},findIndex(e,t){return nn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return nn(this,"findLast",e,t,n=>Ht(this,n),arguments)},findLastIndex(e,t){return nn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return nn(this,"forEach",e,t,void 0,arguments)},includes(...e){return vs(this,"includes",e)},indexOf(...e){return vs(this,"indexOf",e)},join(e){return Vn(this).join(e)},lastIndexOf(...e){return vs(this,"lastIndexOf",e)},map(e,t){return nn(this,"map",e,t,void 0,arguments)},pop(){return ko(this,"pop")},push(...e){return ko(this,"push",e)},reduce(e,...t){return di(this,"reduce",e,t)},reduceRight(e,...t){return di(this,"reduceRight",e,t)},shift(){return ko(this,"shift")},some(e,t){return nn(this,"some",e,t,void 0,arguments)},splice(...e){return ko(this,"splice",e)},toReversed(){return Vn(this).toReversed()},toSorted(e){return Vn(this).toSorted(e)},toSpliced(...e){return Vn(this).toSpliced(...e)},unshift(...e){return ko(this,"unshift",e)},values(){return ys(this,"values",e=>Ht(this,e))}};function ys(e,t,n){const o=fr(e),r=o[t]();return o!==e&&!At(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=n(s.value)),s}),r}const yd=Array.prototype;function nn(e,t,n,o,r,s){const a=fr(e),i=a!==e&&!At(e),l=a[t];if(l!==yd[t]){const p=l.apply(e,s);return i?Mt(p):p}let c=n;a!==e&&(i?c=function(p,b){return n.call(this,Ht(e,p),b,e)}:n.length>2&&(c=function(p,b){return n.call(this,p,b,e)}));const u=l.call(a,c,o);return i&&r?r(u):u}function di(e,t,n,o){const r=fr(e),s=r!==e&&!At(e);let a=n,i=!1;r!==e&&(s?(i=o.length===0,a=function(c,u,p){return i&&(i=!1,c=Ht(e,c)),n.call(this,c,Ht(e,u),p,e)}):n.length>3&&(a=function(c,u,p){return n.call(this,c,u,p,e)}));const l=r[t](a,...o);return i?Ht(e,l):l}function vs(e,t,n){const o=Fe(e);ht(o,"iterate",xo);const r=o[t](...n);return(r===-1||r===!1)&&br(n[0])?(n[0]=Fe(n[0]),o[t](...n)):r}function ko(e,t,n=[]){qt(),ps();const o=Fe(e)[t].apply(e,n);return gs(),Vt(),o}const vd=as("__proto__,__v_isRef,__isVue"),fi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(St));function wd(e){St(e)||(e=String(e));const t=Fe(this);return ht(t,"has",e),t.hasOwnProperty(e)}class pi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(r?s?yi:_i:s?bi:mi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const a=we(t);if(!r){let l;if(a&&(l=_d[n]))return l;if(n==="hasOwnProperty")return wd}const i=Reflect.get(t,n,Je(t)?t:o);if((St(n)?fi.has(n):vd(n))||(r||ht(t,"get",n),s))return i;if(Je(i)){const l=a&&sr(n)?i:i.value;return r&&je(l)?xs(l):l}return je(i)?r?xs(i):In(i):i}}class gi extends pi{constructor(t=!1){super(!1,t)}set(t,n,o,r){let s=t[n];const a=we(t)&&sr(n);if(!this._isShallow){const c=rn(s);if(!At(o)&&!rn(o)&&(s=Fe(s),o=Fe(o)),!a&&Je(s)&&!Je(o))return c||(s.value=o),!0}const i=a?Number(n)e,pr=e=>Reflect.getPrototypeOf(e);function Ed(e,t,n){return function(...o){const r=this.__v_raw,s=Fe(r),a=vn(s),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=r[e](...o),u=n?ws:t?Hn:Mt;return!t&&ht(s,"iterate",l?_s:Pn),tt(Object.create(c),{next(){const{value:p,done:b}=c.next();return b?{value:p,done:b}:{value:i?[u(p[0]),u(p[1])]:u(p),done:b}}})}}function gr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ad(e,t){const n={get(r){const s=this.__v_raw,a=Fe(s),i=Fe(r);e||(Gt(r,i)&&ht(a,"get",r),ht(a,"get",i));const{has:l}=pr(a),c=t?ws:e?Hn:Mt;if(l.call(a,r))return c(s.get(r));if(l.call(a,i))return c(s.get(i));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&ht(Fe(r),"iterate",Pn),r.size},has(r){const s=this.__v_raw,a=Fe(s),i=Fe(r);return e||(Gt(r,i)&&ht(a,"has",r),ht(a,"has",i)),r===i?s.has(r):s.has(r)||s.has(i)},forEach(r,s){const a=this,i=a.__v_raw,l=Fe(i),c=t?ws:e?Hn:Mt;return!e&&ht(l,"iterate",Pn),i.forEach((u,p)=>r.call(s,c(u),c(p),a))}};return tt(n,e?{add:gr("add"),set:gr("set"),delete:gr("delete"),clear:gr("clear")}:{add(r){const s=Fe(this),a=pr(s),i=Fe(r),l=!t&&!At(r)&&!rn(r)?i:r;return a.has.call(s,l)||Gt(r,l)&&a.has.call(s,r)||Gt(i,l)&&a.has.call(s,i)||(s.add(l),tn(s,"add",l,l)),this},set(r,s){!t&&!At(s)&&!rn(s)&&(s=Fe(s));const a=Fe(this),{has:i,get:l}=pr(a);let c=i.call(a,r);c||(r=Fe(r),c=i.call(a,r));const u=l.call(a,r);return a.set(r,s),c?Gt(s,u)&&tn(a,"set",r,s):tn(a,"add",r,s),this},delete(r){const s=Fe(this),{has:a,get:i}=pr(s);let l=a.call(s,r);l||(r=Fe(r),l=a.call(s,r)),i&&i.call(s,r);const c=s.delete(r);return l&&tn(s,"delete",r,void 0),c},clear(){const r=Fe(this),s=r.size!==0,a=r.clear();return s&&tn(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Ed(r,e,t)}),n}function hr(e,t){const n=Ad(e,t);return(o,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(De(n,r)&&r in o?n:o,r,s)}const Cd={get:hr(!1,!1)},Td={get:hr(!1,!0)},Ld={get:hr(!0,!1)},Pd={get:hr(!0,!0)},mi=new WeakMap,bi=new WeakMap,_i=new WeakMap,yi=new WeakMap;function Id(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function In(e){return rn(e)?e:mr(e,!1,xd,Cd,mi)}function Nd(e){return mr(e,!1,$d,Td,bi)}function xs(e){return mr(e,!0,kd,Ld,_i)}function Ww(e){return mr(e,!0,Sd,Pd,yi)}function mr(e,t,n,o,r){if(!je(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=Id(sd(e));if(a===0)return e;const i=new Proxy(e,a===2?o:n);return r.set(e,i),i}function on(e){return rn(e)?on(e.__v_raw):!!(e&&e.__v_isReactive)}function rn(e){return!!(e&&e.__v_isReadonly)}function At(e){return!!(e&&e.__v_isShallow)}function br(e){return e?!!e.__v_raw:!1}function Fe(e){const t=e&&e.__v_raw;return t?Fe(t):e}function $o(e){return!De(e,"__v_skip")&&Object.isExtensible(e)&&Wa(e,"__v_skip",!0),e}const Mt=e=>je(e)?In(e):e,Hn=e=>je(e)?xs(e):e;function Je(e){return e?e.__v_isRef===!0:!1}function ue(e){return vi(e,!1)}function So(e){return vi(e,!0)}function vi(e,t){return Je(e)?e:new Md(e,t)}class Md{constructor(t,n){this.dep=new bs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Fe(t),this._value=n?t:Mt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||At(t)||rn(t);t=o?t:Fe(t),Gt(t,n)&&(this._rawValue=t,this._value=o?t:Mt(t),this.dep.trigger())}}function pe(e){return Je(e)?e.value:e}const Fd={get:(e,t,n)=>t==="__v_raw"?e:pe(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return Je(r)&&!Je(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function wi(e){return on(e)?e:new Proxy(e,Fd)}function Rd(e){const t=we(e)?new Array(e.length):{};for(const n in e)t[n]=Dd(e,n);return t}class Od{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=St(n)?n:String(n),this._raw=Fe(t);let r=!0,s=t;if(!we(t)||St(this._key)||!sr(this._key))do r=!br(s)||At(s);while(r&&(s=s.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=pe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Je(this._raw[this._key])){const n=this._object[this._key];if(Je(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return bd(this._raw,this._key)}}function Dd(e,t,n){return new Od(e,t,n)}class jd{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new bs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=wo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&We!==this)return ri(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function zd(e,t,n=!1){let o,r;return $e(e)?o=e:(o=e.get,r=e.set),new jd(o,r,n)}const _r={},yr=new WeakMap;let Nn;function Bd(e,t=!1,n=Nn){if(n){let o=yr.get(n);o||yr.set(n,o=[]),o.push(e)}}function Ud(e,t,n=qe){const{immediate:o,deep:r,once:s,scheduler:a,augmentJob:i,call:l}=n,c=f=>r?f:At(f)||r===!1||r===0?sn(f,1):sn(f);let u,p,b,x,A=!1,y=!1;if(Je(e)?(p=()=>e.value,A=At(e)):on(e)?(p=()=>c(e),A=!0):we(e)?(y=!0,A=e.some(f=>on(f)||At(f)),p=()=>e.map(f=>{if(Je(f))return f.value;if(on(f))return c(f);if($e(f))return l?l(f,2):f()})):$e(e)?t?p=l?()=>l(e,2):e:p=()=>{if(b){qt();try{b()}finally{Vt()}}const f=Nn;Nn=u;try{return l?l(e,3,[x]):e(x)}finally{Nn=f}}:p=Ut,t&&r){const f=p,g=r===!0?1/0:r;p=()=>sn(f(),g)}const v=ti(),C=()=>{u.stop(),v&&v.active&&is(v.effects,u)};if(s&&t){const f=t;t=(...g)=>{const k=f(...g);return C(),k}}let _=y?new Array(e.length).fill(_r):_r;const d=f=>{if(!(!(u.flags&1)||!u.dirty&&!f))if(t){const g=u.run();if(f||r||A||(y?g.some((k,$)=>Gt(k,_[$])):Gt(g,_))){b&&b();const k=Nn;Nn=u;try{const $=[g,_===_r?void 0:y&&_[0]===_r?[]:_,x];_=g,l?l(t,3,$):t(...$)}finally{Nn=k}}}else u.run()};return i&&i(d),u=new ni(p),u.scheduler=a?()=>a(d,!1):d,x=f=>Bd(f,!1,u),b=u.onStop=()=>{const f=yr.get(u);if(f){if(l)l(f,4);else for(const g of f)g();yr.delete(u)}},t?o?d(!0):_=u.run():a?a(d.bind(null,!0),!0):u.run(),C.pause=u.pause.bind(u),C.resume=u.resume.bind(u),C.stop=C,C}function sn(e,t=1/0,n){if(t<=0||!je(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Je(e))sn(e.value,t,n);else if(we(e))for(let o=0;o{sn(o,t,n)});else if(rr(e)){for(const o in e)sn(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&sn(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Eo=[];let ks=!1;function Vw(e,...t){if(ks)return;ks=!0,qt();const n=Eo.length?Eo[Eo.length-1].component:null,o=n&&n.appContext.config.warnHandler,r=Bd();if(o)Wn(o,n,11,[e+t.map(s=>{var a,i;return(i=(a=s.toString)==null?void 0:a.call(s))!=null?i:JSON.stringify(s)}).join(""),n&&n.proxy,r.map(({vnode:s})=>`at <${vl(n,s.type)}>`).join(` +**/const Eo=[];let ks=!1;function Kw(e,...t){if(ks)return;ks=!0,qt();const n=Eo.length?Eo[Eo.length-1].component:null,o=n&&n.appContext.config.warnHandler,r=Gd();if(o)Wn(o,n,11,[e+t.map(s=>{var a,i;return(i=(a=s.toString)==null?void 0:a.call(s))!=null?i:JSON.stringify(s)}).join(""),n&&n.proxy,r.map(({vnode:s})=>`at <${vl(n,s.type)}>`).join(` `),r]);else{const s=[`[Vue warn]: ${e}`,...t];r.length&&s.push(` -`,...Ud(r)),console.warn(...s)}Vt(),ks=!1}function Bd(){let e=Eo[Eo.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Ud(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...Gd(n))}),t}function Gd({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,r=` at <${vl(e.component,e.type,o)}`,s=">"+n;return e.props?[r,...qd(e.props),s]:[r+s]}function qd(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...xi(o,e[o]))}),n.length>3&&t.push(" ..."),t}function xi(e,t,n){return Ve(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Xe(t)?(t=xi(e,Me(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):$e(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Me(t),n?t:[`${e}=`,t])}function Wn(e,t,n,o){try{return o?e(...o):e()}catch(r){Ao(r,t,n)}}function Ft(e,t,n,o){if($e(e)){const r=Wn(e,t,n,o);return r&&Va(r)&&r.catch(s=>{Ao(s,t,n)}),r}if(we(e)){const r=[];for(let s=0;s>>1,r=bt[o],s=Co(r);s=Co(n)?bt.push(e):bt.splice(Hd(t),0,e),e.flags|=1,$i()}}function $i(){vr||(vr=ki.then(Ai))}function Wd(e){if(!we(e))wn&&e.id===-1?wn.splice(Yn+1,0,e):e.flags&1||(Kn.push(e),e.flags|=1);else for(let t=0;tCo(n)-Co(o));if(Kn.length=0,wn){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Ai(e){try{for(Wt=0;Wt{o._d&&Pr(-1);const s=wr(t),a=ln.length;let i;try{i=e(...r)}finally{for(let l=ln.length;l>a;l--)Us();wr(s),o._d&&Pr(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function Rt(e,t){if(ct===null)return e;const n=Fr(ct),o=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&$e(t)?t.call(o&&o.proxy):t}}function Kd(){return!!(un()||On)}const Yd=Symbol.for("v-scx"),Xd=()=>Ee(Yd);function Jd(e,t){return Ss(e,null,t)}function mt(e,t,n){return Ss(e,t,n)}function Ss(e,t,n=qe){const{immediate:o,deep:r,flush:s,once:a}=n,i=tt({},n),l=t&&o||!t&&s!=="post";let c;if(Qn){if(s==="sync"){const x=Xd();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=Ut,x.resume=Ut,x.pause=Ut,x}}const u=dt;i.call=(x,A,y)=>Ft(x,u,A,y);let p=!1;s==="post"?i.scheduler=x=>{yt(x,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=(x,A)=>{A?x():$s(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const b=zd(e,t,i);return Qn&&(c?c.push(b):l&&b()),b}function Zd(e,t,n){const o=this.proxy,r=Ve(e)?e.includes(".")?Ti(o,e):()=>o[e]:e.bind(o,o);let s;$e(t)?s=t:(s=t.handler,n=t);const a=jo(this),i=Ss(r,s.bind(o),n);return a(),i}function Ti(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;re.__isTeleport,Rn=e=>e&&(e.disabled||e.disabled===""),Qd=e=>e&&(e.defer||e.defer===""),Pi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ii=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Es=(e,t)=>{const n=e&&e.to;return Ve(n)?t?t(n):null:n},ef={name:"Teleport",__isTeleport:!0,process(e,t,n,o,r,s,a,i,l,c){const{mc:u,pc:p,pbc:b,o:{insert:x,querySelector:A,createText:y,createComment:v,parentNode:C}}=c,_=Rn(t.props);let{dynamicChildren:d}=t;const f=($,I,S)=>{$.shapeFlag&16&&u($.children,I,S,r,s,a,i,l)},g=($=t)=>{const I=Rn($.props),S=$.target=Es($.props,A),R=As(S,$,y,x);S&&(a!=="svg"&&Pi(S)?a="svg":a!=="mathml"&&Ii(S)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(S),I||(f($,S,R),To($,!1)))},k=$=>{const I=()=>{if(xn.get($)===I){if(xn.delete($),Rn($.props)){const S=C($.el)||n;f($,S,$.anchor),To($,!0)}g($)}};xn.set($,I),yt(I,s)};if(e==null){const $=t.el=y(""),I=t.anchor=y("");if(x($,n,o),x(I,n,o),Qd(t.props)||s&&s.pendingBranch){k(t);return}_&&(f(t,n,I),To(t,!0)),g()}else{t.el=e.el;const $=t.anchor=e.anchor,I=xn.get(e);if(I){I.flags|=8,xn.delete(e),k(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,R=t.targetAnchor=e.targetAnchor,V=Rn(e.props),Z=V?n:S,he=V?$:R;if(a==="svg"||Pi(S)?a="svg":(a==="mathml"||Ii(S))&&(a="mathml"),d?(b(e.dynamicChildren,d,Z,r,s,a,i),zs(e,t,!0)):l||p(e,t,Z,he,r,s,a,i,!1),_)V?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):kr(t,n,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const z=Es(t.props,A);z&&(t.target=z,kr(t,z,null,c,0))}else V&&kr(t,S,R,c,1);To(t,_)}},remove(e,t,n,{um:o,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:b}=e,x=Rn(b),A=s||!x,y=xn.get(e);if(y&&(y.flags|=8,xn.delete(e)),p&&(r(c),r(u)),s&&r(l),!y&&(x||p)&&a&16)for(let v=0;v1){for(const n of e)if(n.type!==Kt){t=n;break}}return t}function Ni(e){if(!Er(e))return xr(e.type)&&e.children?of(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&$e(n.default))return n.default()}}function Ts(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ts(xr(n.type)&&Ni(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Lo(e,t){return $e(e)?tt({name:e.name},t,{setup:e}):e}function Ls(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Mi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const $r=new WeakMap;function Po(e,t,n,o,r=!1){if(we(e)){e.forEach((y,v)=>Po(y,t&&(we(t)?t[v]:t),n,o,r));return}if(Jn(o)&&!r){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Po(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fr(o.component):o.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===qe?i.refs={}:i.refs,p=i.setupState,b=Me(p),x=p===qe?Ga:y=>Mi(u,y)?!1:je(b,y),A=(y,v)=>!(v&&Mi(u,v));if(c!=null&&c!==l){if(Fi(t),Ve(c))u[c]=null,x(c)&&(p[c]=null);else if(Xe(c)){const y=t;A(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if($e(l))Wn(l,i,12,[a,u]);else{const y=Ve(l),v=Xe(l);if(y||v){const C=()=>{if(e.f){const _=y?x(l)?p[l]:u[l]:A()||!e.k?l.value:u[e.k];if(r)we(_)&&is(_,s);else if(we(_))_.includes(s)||_.push(s);else if(y)u[l]=[s],x(l)&&(p[l]=u[l]);else{const d=[s];A(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,x(l)&&(p[l]=a)):v&&(A(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const _=()=>{C(),$r.delete(e)};_.id=-1,$r.set(e,_),yt(_,n)}else Fi(e),C()}}}function Fi(e){const t=$r.get(e);t&&(t.flags|=8,$r.delete(e))}const Ri=e=>e.nodeType===8;cr().requestIdleCallback,cr().cancelIdleCallback;function rf(e,t){if(Ri(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Ri(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Jn=e=>!!e.type.__asyncLoader;function sf(e){$e(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const b=()=>(p++,c=null,x()),x=()=>{let A;return c||(A=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((v,C)=>{l(y,()=>v(b()),()=>C(y),p+1)});throw y}).then(y=>A!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return Lo({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(A,y,v){const C=A.isConnected;let _=!1;(y.bu||(y.bu=[])).push(()=>_=!0);const d=()=>{_||!A.parentNode||C&&!A.isConnected||v()},f=s?()=>{const g=s(d,k=>rf(A,k));g&&(y.bum||(y.bum=[])).push(g)}:d;u?f():x().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const A=dt;if(Ls(A),u)return()=>Sr(u,A);const y=g=>{c=null,Ao(g,A,13,!o)};if(i&&A.suspense||Qn)return x().then(g=>()=>Sr(g,A)).catch(g=>(y(g),()=>o?Pe(o,{error:g}):null));const v=ue(!1),C=ue(),_=ue(!!r);let d,f;return Cr(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{A.isUnmounted||(_.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!A.isUnmounted&&!v.value&&!C.value){const g=new Error(`Async component timed out after ${a}ms.`);y(g),C.value=g}},a)),x().then(()=>{A.isUnmounted||(v.value=!0,A.parent&&Er(A.parent.vnode)&&A.parent.update())}).catch(g=>{if(A.isUnmounted){c=null;return}y(g),C.value=g}),()=>{if(v.value&&u)return Sr(u,A);if(C.value&&o)return Pe(o,{error:C.value});if(n&&!_.value)return Sr(n,A)}}})}function Sr(e,t){const{ref:n,props:o,children:r,ce:s}=t.vnode,a=Pe(e,o,r);return a.ref=n,a.ce=s,delete t.vnode.ce,a}const Er=e=>e.type.__isKeepAlive;function af(e,t){Oi(e,"a",t)}function lf(e,t){Oi(e,"da",t)}function Oi(e,t,n=dt){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ar(t,o,n),n){let r=n.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&cf(o,t,n,r),r=r.parent}}function cf(e,t,n,o){const r=Ar(t,e,o,!0);Cr(()=>{is(o[t],r)},n)}function Ar(e,t,n=dt,o=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...a)=>{qt();const i=jo(n),l=Ft(t,n,e,a);return i(),Vt(),l});return o?r.unshift(s):r.push(s),s}}const an=e=>(t,n=dt)=>{(!Qn||e==="sp")&&Ar(e,(...o)=>t(...o),n)},Di=an("bm"),xt=an("m"),uf=an("bu"),df=an("u"),Ot=an("bum"),Cr=an("um"),ff=an("sp"),pf=an("rtg"),gf=an("rtc");function hf(e,t=dt){Ar("ec",e,t)}const mf="components",ji=Symbol.for("v-ndc");function zi(e){return Ve(e)?bf(mf,e,!1)||e:e||ji}function bf(e,t,n=!0,o=!1){const r=ct||dt;if(r){const s=r.type;{const i=yl(s,!1);if(i&&(i===t||i===it(t)||i===ir(it(t))))return s}const a=Bi(r[e]||s[e],t)||Bi(r.appContext[e],t);return!a&&o?s:a}}function Bi(e,t){return e&&(e[t]||e[it(t)]||e[ir(it(t))])}function Qe(e,t,n,o){let r;const s=n,a=we(e);if(a||Ve(e)){const i=a&&on(e);let l=!1,c=!1;i&&(l=!At(e),c=rn(e),e=fr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return ee(),Yt(Ce,null,[Pe("slot",c,o)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=ln.length;ee();let l;try{const c=a&&Ui(a(n)),u=n.key||s||c&&c.key;l=Yt(Ce,{key:(u&&!St(u)?u:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let u=ln.length;u>i;u--)Us();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ui(e){return e.some(t=>Ro(t)?!(t.type===Kt||t.type===Ce&&!Ui(t.children)):!0)?e:null}const Is=e=>e?ml(e)?Fr(e):Is(e.parent):null,Io=tt(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=>Is(e.parent),$root:e=>Is(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Hi(e),$forceUpdate:e=>e.f||(e.f=()=>{$s(e.update)}),$nextTick:e=>e.n||(e.n=Mn.bind(e.proxy)),$watch:e=>Zd.bind(e)}),Ns=(e,t)=>e!==qe&&!e.__isScriptSetup&&je(e,t),_f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const b=a[t];if(b!==void 0)switch(b){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(Ns(o,t))return a[t]=1,o[t];if(r!==qe&&je(r,t))return a[t]=2,r[t];if(je(s,t))return a[t]=3,s[t];if(n!==qe&&je(n,t))return a[t]=4,n[t];Ms&&(a[t]=0)}}const c=Io[t];let u,p;if(c)return t==="$attrs"&&ht(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(n!==qe&&je(n,t))return a[t]=4,n[t];if(p=l.config.globalProperties,je(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:s}=e;return Ns(r,t)?(r[t]=n,!0):o!==qe&&je(o,t)?(o[t]=n,!0):je(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,props:s,type:a}},i){let l;return!!(n[i]||e!==qe&&i[0]!=="$"&&je(e,i)||Ns(t,i)||je(s,i)||je(o,i)||je(Io,i)||je(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:je(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Gi(e){return we(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ms=!0;function yf(e){const t=Hi(e),n=e.proxy,o=e.ctx;Ms=!1,t.beforeCreate&&qi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:b,beforeUpdate:x,updated:A,activated:y,deactivated:v,beforeDestroy:C,beforeUnmount:_,destroyed:d,unmounted:f,render:g,renderTracked:k,renderTriggered:$,errorCaptured:I,serverPrefetch:S,expose:R,inheritAttrs:V,components:Z,directives:he,filters:z}=t;if(c&&vf(c,o,null),a)for(const E in a){const N=a[E];$e(N)&&(o[E]=N.bind(n))}if(r){const E=r.call(n,n);ze(E)&&(e.data=In(E))}if(Ms=!0,s)for(const E in s){const N=s[E],X=$e(N)?N.bind(n,n):$e(N.get)?N.get.bind(n,n):Ut,j=!$e(N)&&$e(N.set)?N.set.bind(n):Ut,q=re({get:X,set:j});Object.defineProperty(o,E,{enumerable:!0,configurable:!0,get:()=>q.value,set:W=>q.value=W})}if(i)for(const E in i)Vi(i[E],o,n,E);if(l){const E=$e(l)?l.call(n):l;Reflect.ownKeys(E).forEach(N=>{ut(N,E[N])})}u&&qi(u,e,"c");function B(E,N){we(N)?N.forEach(X=>E(X.bind(n))):N&&E(N.bind(n))}if(B(Di,p),B(xt,b),B(uf,x),B(df,A),B(af,y),B(lf,v),B(hf,I),B(gf,k),B(pf,$),B(Ot,_),B(Cr,f),B(ff,S),we(R))if(R.length){const E=e.exposed||(e.exposed={});R.forEach(N=>{Object.defineProperty(E,N,{get:()=>n[N],set:X=>n[N]=X,enumerable:!0})})}else e.exposed||(e.exposed={});g&&e.render===Ut&&(e.render=g),V!=null&&(e.inheritAttrs=V),Z&&(e.components=Z),he&&(e.directives=he),S&&Ls(e)}function vf(e,t,n=Ut){we(e)&&(e=Fs(e));for(const o in e){const r=e[o];let s;ze(r)?"default"in r?s=Ee(r.from||o,r.default,!0):s=Ee(r.from||o):s=Ee(r),Xe(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[o]=s}}function qi(e,t,n){Ft(we(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Vi(e,t,n,o){let r=o.includes(".")?Ti(n,o):()=>n[o];if(Ve(e)){const s=t[e];$e(s)&&mt(r,s)}else if($e(e))mt(r,e.bind(n));else if(ze(e))if(we(e))e.forEach(s=>Vi(s,t,n,o));else{const s=$e(e.handler)?e.handler.bind(n):t[e.handler];$e(s)&&mt(r,s,e)}}function Hi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!n&&!o?l=t:(l={},r.length&&r.forEach(c=>Tr(l,c,a,!0)),Tr(l,t,a)),ze(t)&&s.set(t,l),l}function Tr(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&Tr(e,s,n,!0),r&&r.forEach(a=>Tr(e,a,n,!0));for(const a in t)if(!(o&&a==="expose")){const i=wf[a]||n&&n[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const wf={data:Wi,props:Ki,emits:Ki,methods:No,computed:No,beforeCreate:_t,created:_t,beforeMount:_t,mounted:_t,beforeUpdate:_t,updated:_t,beforeDestroy:_t,beforeUnmount:_t,destroyed:_t,unmounted:_t,activated:_t,deactivated:_t,errorCaptured:_t,serverPrefetch:_t,components:No,directives:No,watch:kf,provide:Wi,inject:xf};function Wi(e,t){return t?e?function(){return tt($e(e)?e.call(this,this):e,$e(t)?t.call(this,this):t)}:t:e}function xf(e,t){return No(Fs(e),Fs(t))}function Fs(e){if(we(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${it(t)}Modifiers`]||e[`${Et(t)}Modifiers`];function Af(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||qe;let r=n;const s=t.startsWith("update:"),a=s&&Ef(o,t.slice(7));a&&(a.trim&&(r=n.map(u=>Ve(u)?u.trim():u)),a.number&&(r=r.map(cs)));let i,l=o[i=ls(t)]||o[i=ls(it(t))];!l&&s&&(l=o[i=ls(Et(t))]),l&&Ft(l,e,6,r);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ft(c,e,6,r)}}const Cf=new WeakMap;function Xi(e,t,n=!1){const o=n?Cf:t.emitsCache,r=o.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!$e(e)){const l=c=>{const u=Xi(c,t,!0);u&&(i=!0,tt(a,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(ze(e)&&o.set(e,null),null):(we(s)?s.forEach(l=>a[l]=null):tt(a,s),ze(e)&&o.set(e,a),a)}function Lr(e,t){return!e||!tr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),je(e,t[0].toLowerCase()+t.slice(1))||je(e,Et(t))||je(e,t))}function Hw(){}function Ji(e){const{type:t,vnode:n,proxy:o,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:p,data:b,setupState:x,ctx:A,inheritAttrs:y}=e,v=wr(e);let C,_;try{if(n.shapeFlag&4){const f=r||o,g=f;C=Xt(c.call(g,f,u,p,x,b,A)),_=i}else{const f=t;C=Xt(f.length>1?f(p,{attrs:i,slots:a,emit:l}):f(p,null)),_=t.props?i:Tf(i)}}catch(f){ln.length=0,Ao(f,e,1),C=Pe(Kt)}let d=C;if(_&&y!==!1){const f=Object.keys(_),{shapeFlag:g}=d;f.length&&g&7&&(s&&f.some(nr)&&(_=Lf(_,s)),d=Zn(d,_,!1,!0))}if(n.dirs&&(d=Zn(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(n.dirs):n.dirs),n.transition){const f=xr(d.type)&&Ni(d)||d;Ts(f,n.transition)}return C=d,wr(v),C}const Tf=e=>{let t;for(const n in e)(n==="class"||n==="style"||tr(n))&&((t||(t={}))[n]=e[n]);return t},Lf=(e,t)=>{const n={};for(const o in e)(!nr(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Pf(e,t,n){const{props:o,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Zi(o,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(el),nl=e=>Object.getPrototypeOf(e)===el;function Nf(e,t,n,o=!1){const r={},s=tl();e.propsDefaults=Object.create(null),ol(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=o?r:Pd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function Mf(e,t,n,o){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=Me(r),[l]=e.propsOptions;let c=!1;if((o||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[b,x]=rl(p,t,!0);tt(a,b),x&&i.push(...x)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return ze(e)&&o.set(e,qn),qn;if(we(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ds=e=>we(e)?e.map(Xt):[Xt(e)],Rf=(e,t,n)=>{if(t._n)return t;const o=Xn((...r)=>Ds(t(...r)),n);return o._c=!1,o},al=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Os(r))continue;const s=e[r];if($e(s))t[r]=Rf(r,s,o);else if(s!=null){const a=Ds(s);t[r]=()=>a}}},il=(e,t)=>{const n=Ds(t);e.slots.default=()=>n},ll=(e,t,n)=>{for(const o in t)(n||!Os(o))&&(e[o]=t[o])},Of=(e,t,n)=>{const o=e.slots=tl();if(e.vnode.shapeFlag&32){const r=t._;r?(ll(o,t,n),n&&Wa(o,"_",r,!0)):al(t,o)}else t&&il(e,t)},Df=(e,t,n)=>{const{vnode:o,slots:r}=e;let s=!0,a=qe;if(o.shapeFlag&32){const i=t._;i?n&&i===1?s=!1:ll(r,t,n):(s=!t.$stable,al(t,r)),a=t}else t&&(il(e,t),a={default:1});if(s)for(const i in r)!Os(i)&&a[i]==null&&delete r[i]},yt=Gf;function jf(e){return zf(e)}function zf(e,t){const n=cr();n.__VUE__=!0;const{insert:o,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:b,setScopeId:x=Ut,insertStaticContent:A}=e,y=(w,P,T,U=null,H=null,Q=null,ae=void 0,se=null,h=!!P.dynamicChildren)=>{if(w===P)return;w&&!Oo(w,P)&&(U=be(w),W(w,H,Q,!0),w=null),P.patchFlag===-2&&(h=!1,P.dynamicChildren=null);const{type:m,ref:D,shapeFlag:G}=P;switch(m){case Mo:v(w,P,T,U);break;case Kt:C(w,P,T,U);break;case Bs:w==null&&_(P,T,U,ae);break;case Ce:Z(w,P,T,U,H,Q,ae,se,h);break;default:G&1?g(w,P,T,U,H,Q,ae,se,h):G&6?he(w,P,T,U,H,Q,ae,se,h):(G&64||G&128)&&m.process(w,P,T,U,H,Q,ae,se,h,Fe)}D!=null&&H?Po(D,w&&w.ref,Q,P||w,!P):D==null&&w&&w.ref!=null&&Po(w.ref,null,Q,w,!0)},v=(w,P,T,U)=>{if(w==null)o(P.el=i(P.children),T,U);else{const H=P.el=w.el;P.children!==w.children&&c(H,P.children)}},C=(w,P,T,U)=>{w==null?o(P.el=l(P.children||""),T,U):P.el=w.el},_=(w,P,T,U)=>{[w.el,w.anchor]=A(w.children,P,T,U,w.el,w.anchor)},d=({el:w,anchor:P},T,U)=>{let H;for(;w&&w!==P;)H=b(w),o(w,T,U),w=H;o(P,T,U)},f=({el:w,anchor:P})=>{let T;for(;w&&w!==P;)T=b(w),r(w),w=T;r(P)},g=(w,P,T,U,H,Q,ae,se,h)=>{if(P.type==="svg"?ae="svg":P.type==="math"&&(ae="mathml"),w==null)k(P,T,U,H,Q,ae,se,h);else{const m=w.el&&w.el._isVueCE?w.el:null;try{m&&m._beginPatch(),S(w,P,H,Q,ae,se,h)}finally{m&&m._endPatch()}}},k=(w,P,T,U,H,Q,ae,se)=>{let h,m;const{props:D,shapeFlag:G,transition:ce,dirs:oe}=w;if(h=w.el=a(w.type,Q,D&&D.is,D),G&8?u(h,w.children):G&16&&I(w.children,h,null,U,H,js(w,Q),ae,se),oe&&Fn(w,null,U,"created"),$(h,w,w.scopeId,ae,U),D){for(const L in D)L!=="value"&&!_o(L)&&s(h,L,null,D[L],Q,U);"value"in D&&s(h,"value",null,D.value,Q),(m=D.onVnodeBeforeMount)&&Jt(m,U,w)}oe&&Fn(w,null,U,"beforeMount");const O=Bf(H,ce);O&&ce.beforeEnter(h),o(h,P,T),((m=D&&D.onVnodeMounted)||O||oe)&&yt(()=>{try{m&&Jt(m,U,w),O&&ce.enter(h),oe&&Fn(w,null,U,"mounted")}finally{}},H)},$=(w,P,T,U,H)=>{if(T&&x(w,T),U)for(let Q=0;Q{for(let m=h;m{const se=P.el=w.el;let{patchFlag:h,dynamicChildren:m,dirs:D}=P;h|=w.patchFlag&16;const G=w.props||qe,ce=P.props||qe;let oe;if(T&&Dn(T,!1),(oe=ce.onVnodeBeforeUpdate)&&Jt(oe,T,P,w),D&&Fn(P,w,T,"beforeUpdate"),T&&Dn(T,!0),m&&(!w.dynamicChildren||w.dynamicChildren.length!==m.length)&&(h=0,ae=!1,m=null),(G.innerHTML&&ce.innerHTML==null||G.textContent&&ce.textContent==null)&&u(se,""),m?R(w.dynamicChildren,m,se,T,U,js(P,H),Q):ae||N(w,P,se,null,T,U,js(P,H),Q,!1),h>0){if(h&16)V(se,G,ce,T,H);else if(h&2&&G.class!==ce.class&&s(se,"class",null,ce.class,H),h&4&&s(se,"style",G.style,ce.style,H),h&8){const O=P.dynamicProps;for(let L=0;L{oe&&Jt(oe,T,P,w),D&&Fn(P,w,T,"updated")},U)},R=(w,P,T,U,H,Q,ae)=>{for(let se=0;se{if(P!==T){if(P!==qe)for(const Q in P)!_o(Q)&&!(Q in T)&&s(w,Q,P[Q],null,H,U);for(const Q in T){if(_o(Q))continue;const ae=T[Q],se=P[Q];ae!==se&&Q!=="value"&&s(w,Q,se,ae,H,U)}"value"in T&&s(w,"value",P.value,T.value,H)}},Z=(w,P,T,U,H,Q,ae,se,h)=>{const m=P.el=w?w.el:i(""),D=P.anchor=w?w.anchor:i("");let{patchFlag:G,dynamicChildren:ce,slotScopeIds:oe}=P;oe&&(se=se?se.concat(oe):oe),w==null?(o(m,T,U),o(D,T,U),I(P.children||[],T,D,H,Q,ae,se,h)):G>0&&G&64&&ce&&w.dynamicChildren&&w.dynamicChildren.length===ce.length?(R(w.dynamicChildren,ce,T,H,Q,ae,se),(P.key!=null||H&&P===H.subTree)&&zs(w,P,!0)):N(w,P,T,D,H,Q,ae,se,h)},he=(w,P,T,U,H,Q,ae,se,h)=>{P.slotScopeIds=se,w==null?P.shapeFlag&512?H.ctx.activate(P,T,U,ae,h):z(P,T,U,H,Q,ae,h):Y(w,P,h)},z=(w,P,T,U,H,Q,ae)=>{const se=w.component=Yf(w,U,H);if(Er(w)&&(se.ctx.renderer=Fe),Xf(se,!1,ae),se.asyncDep){if(H&&H.registerDep(se,B,ae),!w.el){const h=se.subTree=Pe(Kt);C(null,h,P,T),w.placeholder=h.el}}else B(se,w,P,T,H,Q,ae)},Y=(w,P,T)=>{const U=P.component=w.component;if(Pf(w,P,T))if(U.asyncDep&&!U.asyncResolved){E(U,P,T);return}else U.next=P,U.update();else P.el=w.el,U.vnode=P},B=(w,P,T,U,H,Q,ae)=>{const se=()=>{if(w.isMounted){let{next:G,bu:ce,u:oe,parent:O,vnode:L}=w;{const Re=cl(w);if(Re){G&&(G.el=L.el,E(w,G,ae)),Re.asyncDep.then(()=>{yt(()=>{w.isUnmounted||m()},H)});return}}let J=G,ne;Dn(w,!1),G?(G.el=L.el,E(w,G,ae)):G=L,ce&&lr(ce),(ne=G.props&&G.props.onVnodeBeforeUpdate)&&Jt(ne,O,G,L),Dn(w,!0);const me=Ji(w),ve=w.subTree;w.subTree=me,y(ve,me,p(ve.el),be(ve),w,H,Q),G.el=me.el,J===null&&If(w,me.el),oe&&yt(oe,H),(ne=G.props&&G.props.onVnodeUpdated)&&yt(()=>Jt(ne,O,G,L),H)}else{let G;const{el:ce,props:oe}=P,{bm:O,m:L,parent:J,root:ne,type:me}=w,ve=Jn(P);Dn(w,!1),O&&lr(O),!ve&&(G=oe&&oe.onVnodeBeforeMount)&&Jt(G,J,P),Dn(w,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(me,w.parent?w.parent.type:void 0);const Re=w.subTree=Ji(w);y(null,Re,T,U,w,H,Q),P.el=Re.el}if(L&&yt(L,H),!ve&&(G=oe&&oe.onVnodeMounted)){const Re=P;yt(()=>Jt(G,J,Re),H)}(P.shapeFlag&256||J&&Jn(J.vnode)&&J.vnode.shapeFlag&256)&&w.a&&yt(w.a,H),w.isMounted=!0,P=T=U=null}};w.scope.on();const h=w.effect=new ni(se);w.scope.off();const m=w.update=h.run.bind(h),D=w.job=h.runIfDirty.bind(h);D.i=w,D.id=w.uid,h.scheduler=()=>$s(D),Dn(w,!0),m()},E=(w,P,T)=>{P.component=w;const U=w.vnode.props;w.vnode=P,w.next=null,Mf(w,P.props,U,T),Df(w,P.children,T),qt(),Si(w),Vt()},N=(w,P,T,U,H,Q,ae,se,h=!1)=>{const m=w&&w.children,D=w?w.shapeFlag:0,G=P.children,{patchFlag:ce,shapeFlag:oe}=P;if(ce>0){if(ce&128){j(m,G,T,U,H,Q,ae,se,h);return}else if(ce&256){X(m,G,T,U,H,Q,ae,se,h);return}}oe&8?(D&16&&Ie(m,H,Q),G!==m&&u(T,G)):D&16?oe&16?j(m,G,T,U,H,Q,ae,se,h):Ie(m,H,Q,!0):(D&8&&u(T,""),oe&16&&I(G,T,U,H,Q,ae,se,h))},X=(w,P,T,U,H,Q,ae,se,h)=>{w=w||qn,P=P||qn;const m=w.length,D=P.length,G=Math.min(m,D);let ce;for(ce=0;ceD?Ie(w,H,Q,!0,!1,G):I(P,T,U,H,Q,ae,se,h,G)},j=(w,P,T,U,H,Q,ae,se,h)=>{let m=0;const D=P.length;let G=w.length-1,ce=D-1;for(;m<=G&&m<=ce;){const oe=w[m],O=P[m]=h?cn(P[m]):Xt(P[m]);if(Oo(oe,O))y(oe,O,T,null,H,Q,ae,se,h);else break;m++}for(;m<=G&&m<=ce;){const oe=w[G],O=P[ce]=h?cn(P[ce]):Xt(P[ce]);if(Oo(oe,O))y(oe,O,T,null,H,Q,ae,se,h);else break;G--,ce--}if(m>G){if(m<=ce){const oe=ce+1,O=oece)for(;m<=G;)W(w[m],H,Q,!0),m++;else{const oe=m,O=m,L=new Map;for(m=O;m<=ce;m++){const Ze=P[m]=h?cn(P[m]):Xt(P[m]);Ze.key!=null&&L.set(Ze.key,m)}let J,ne=0;const me=ce-O+1;let ve=!1,Re=0;const et=new Array(me);for(m=0;m=me){W(Ze,H,Q,!0);continue}let Lt;if(Ze.key!=null)Lt=L.get(Ze.key);else for(J=O;J<=ce;J++)if(et[J-O]===0&&Oo(Ze,P[J])){Lt=J;break}Lt===void 0?W(Ze,H,Q,!0):(et[Lt-O]=m+1,Lt>=Re?Re=Lt:ve=!0,y(Ze,P[Lt],T,null,H,Q,ae,se,h),ne++)}const wt=ve?Uf(et):qn;for(J=wt.length-1,m=me-1;m>=0;m--){const Ze=O+m,Lt=P[Ze],Qo=P[Ze+1],er=Ze+1{const{el:Q,type:ae,transition:se,children:h,shapeFlag:m}=w;if(m&6){q(w.component.subTree,P,T,U);return}if(m&128){w.suspense.move(P,T,U);return}if(m&64){ae.move(w,P,T,Fe);return}if(ae===Ce){o(Q,P,T);for(let G=0;Gse.enter(Q),H));else{const{leave:G,delayLeave:ce,afterLeave:oe}=se,O=()=>{w.ctx.isUnmounted?r(Q):o(Q,P,T)},L=()=>{const J=Q._isLeaving||!!Q[Cs];Q._isLeaving&&Q[Cs](!0),se.persisted&&!J?O():G(Q,()=>{O(),oe&&oe()})};ce?ce(Q,O,L):L()}else o(Q,P,T)},W=(w,P,T,U=!1,H=!1)=>{const{type:Q,props:ae,ref:se,children:h,dynamicChildren:m,shapeFlag:D,patchFlag:G,dirs:ce,cacheIndex:oe,memo:O}=w;if(G===-2&&(H=!1),se!=null&&(qt(),Po(se,null,T,w,!0),Vt()),oe!=null&&(P.renderCache[oe]=void 0),D&256){P.ctx.deactivate(w);return}const L=D&1&&ce,J=!Jn(w);let ne;if(J&&(ne=ae&&ae.onVnodeBeforeUnmount)&&Jt(ne,P,w),D&6)Se(w.component,T,U);else{if(D&128){w.suspense.unmount(T,U);return}L&&Fn(w,null,P,"beforeUnmount"),D&64?w.type.remove(w,P,T,Fe,U):m&&!m.hasOnce&&(Q!==Ce||G>0&&G&64)?Ie(m,P,T,!1,!0):(Q===Ce&&G&384||!H&&D&16)&&Ie(h,P,T),U&&le(w)}const me=O!=null&&oe==null;(J&&(ne=ae&&ae.onVnodeUnmounted)||L||me)&&yt(()=>{ne&&Jt(ne,P,w),L&&Fn(w,null,P,"unmounted"),me&&(w.el=null)},T)},le=w=>{const{type:P,el:T,anchor:U,transition:H}=w;if(P===Ce){ge(T,U);return}if(P===Bs){f(w);return}const Q=()=>{r(T),H&&!H.persisted&&H.afterLeave&&H.afterLeave()};if(w.shapeFlag&1&&H&&!H.persisted){const{leave:ae,delayLeave:se}=H,h=()=>ae(T,Q);se?se(w.el,Q,h):h()}else Q()},ge=(w,P)=>{let T;for(;w!==P;)T=b(w),r(w),w=T;r(P)},Se=(w,P,T)=>{const{bum:U,scope:H,job:Q,subTree:ae,um:se,m:h,a:m}=w;ul(h),ul(m),U&&lr(U),H.stop(),Q&&(Q.flags|=8,W(ae,w,P,T)),se&&yt(se,P),yt(()=>{w.isUnmounted=!0},P)},Ie=(w,P,T,U=!1,H=!1,Q=0)=>{for(let ae=Q;ae{if(w.shapeFlag&6)return be(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const P=b(w.anchor||w.el),T=P&&P[Li];return T?b(T):P};let Ge=!1;const Je=(w,P,T)=>{let U;w==null?P._vnode&&(W(P._vnode,null,null,!0),U=P._vnode.component):y(P._vnode||null,w,P,null,null,null,T),P._vnode=w,Ge||(Ge=!0,Si(U),Ei(),Ge=!1)},Fe={p:y,um:W,m:q,r:le,mt:z,mc:I,pc:N,pbc:R,n:be,o:e};return{render:Je,hydrate:void 0,createApp:Sf(Je)}}function js({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Dn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Bf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,n=!1){const o=e.children,r=t.children;if(we(o)&&we(r))for(let s=0;s>1,e[n[i]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,a=n[s-1];s-- >0;)n[s]=a,a=t[a];return n}function cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:cl(t)}function ul(e){if(e)for(let t=0;te.__isSuspense;function Gf(e,t){t&&t.pendingBranch?we(e)?t.effects.push(...e):t.effects.push(e):Wd(e)}const Ce=Symbol.for("v-fgt"),Mo=Symbol.for("v-txt"),Kt=Symbol.for("v-cmt"),Bs=Symbol.for("v-stc"),ln=[];let Ct=null;function ee(e=!1){ln.push(Ct=e?null:[])}function Us(){ln.pop(),Ct=ln[ln.length-1]||null}let Fo=1;function Pr(e,t=!1){Fo+=e,e<0&&Ct&&t&&(Ct.hasOnce=!0)}function pl(e){return e.dynamicChildren=Fo>0?Ct||qn:null,Us(),Fo>0&&Ct&&Ct.push(e),e}function te(e,t,n,o,r,s){return pl(F(e,t,n,o,r,s,!0))}function Yt(e,t,n,o,r){return pl(Pe(e,t,n,o,r,!0))}function Ro(e){return e?e.__v_isVNode===!0:!1}function Oo(e,t){return e.type===t.type&&e.key===t.key}const gl=({key:e})=>e??null,Ir=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ve(e)||Xe(e)||$e(e)?{i:ct,r:e,k:t,f:!!n}:e:null);function F(e,t=null,n=null,o=0,r=null,s=e===Ce?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gl(t),ref:t&&Ir(t),scopeId:Ci,slotScopeIds:null,children:n,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:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ct};return i?(Nr(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Ve(n)?8:16),Fo>0&&!a&&Ct&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ct.push(l),l}const Pe=qf;function qf(e,t=null,n=null,o=0,r=null,s=!1){if((!e||e===ji)&&(e=Kt),Ro(e)){const i=Zn(e,t,!0);return n&&Nr(i,n),Fo>0&&!s&&Ct&&(i.shapeFlag&6?Ct[Ct.indexOf(e)]=i:Ct.push(i)),i.patchFlag=-2,i}if(np(e)&&(e=e.__vccOpts),t){t=Vf(t);let{class:i,style:l}=t;i&&!Ve(i)&&(t.class=Ne(i)),ze(l)&&(br(l)&&!we(l)&&(l=tt({},l)),t.style=gt(l))}const a=Ve(e)?1:fl(e)?128:xr(e)?64:ze(e)?4:$e(e)?2:0;return F(e,t,n,o,r,a,s,!0)}function Vf(e){return e?br(e)||nl(e)?tt({},e):e:null}function Zn(e,t,n=!1,o=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Hf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&gl(c),ref:t&&t.ref?n&&s?we(s)?s.concat(Ir(t)):[s,Ir(t)]:Ir(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ce?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zn(e.ssContent),ssFallback:e.ssFallback&&Zn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ts(u,l.clone(u)),u}function nt(e=" ",t=0){return Pe(Mo,null,e,t)}function Be(e="",t=!1){return t?(ee(),Yt(Kt,null,e)):Pe(Kt,null,e)}function Xt(e){return e==null||typeof e=="boolean"?Pe(Kt):we(e)?Pe(Ce,null,e.slice()):Ro(e)?cn(e):Pe(Mo,null,String(e))}function cn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zn(e)}function Nr(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(we(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),Nr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!nl(t)?t._ctx=ct:r===3&&ct&&(ct.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if($e(t)){if(o&65){Nr(e,{default:t});return}t={default:t,_ctx:ct},n=32}else t=String(t),o&64?(n=16,t=[nt(t)]):n=8;e.children=t,e.shapeFlag|=n}function Hf(...e){const t={};for(let n=0;ndt||ct;let Mr,Do;{const e=cr(),t=(n,o)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(o),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Mr=t("__VUE_INSTANCE_SETTERS__",n=>dt=n),Do=t("__VUE_SSR_SETTERS__",n=>Qn=n)}const jo=e=>{const t=dt;return Mr(e),e.scope.on(),()=>{e.scope.off(),Mr(t)}},hl=()=>{dt&&dt.scope.off(),Mr(null)};function ml(e){return e.vnode.shapeFlag&4}let Qn=!1;function Xf(e,t=!1,n=!1){t&&Do(t);const{props:o,children:r}=e.vnode,s=ml(e);Nf(e,o,s,t),Of(e,r,n||t);const a=s?Jf(e,t):void 0;return t&&Do(!1),a}function Jf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_f);const{setup:o}=n;if(o){qt();const r=e.setupContext=o.length>1?Qf(e):null,s=jo(e),a=Wn(o,e,0,[e.props,r]),i=Va(a);if(Vt(),s(),(i||e.sp)&&!Jn(e)&&Ls(e),i){if(a.then(hl,hl),t)return a.then(l=>{Do(!0);try{bl(e,l,t)}finally{Do(!1)}}).catch(l=>{Ao(l,e,0)});e.asyncDep=a}else bl(e,a)}else _l(e)}function bl(e,t,n){$e(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ze(t)&&(e.setupState=wi(t)),_l(e)}function _l(e,t,n){const o=e.type;e.render||(e.render=o.render||Ut);{const r=jo(e);qt();try{yf(e)}finally{Vt(),r()}}}const Zf={get(e,t){return ht(e,"get",""),e[t]}};function Qf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Zf),slots:e.slots,emit:e.emit,expose:t}}function Fr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wi($o(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Io)return Io[n](e)},has(t,n){return n in t||n in Io}})):e.proxy}const ep=/(?:^|[-_])\w/g,tp=e=>e.replace(ep,t=>t.toUpperCase()).replace(/[-_]/g,"");function yl(e,t=!0){return $e(e)?e.displayName||e.name:e.name||t&&e.__name}function vl(e,t,n=!1){let o=yl(t);if(!o&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(o=r[1])}if(!o&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};o=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return o?tp(o):n?"App":"Anonymous"}function np(e){return $e(e)&&"__vccOpts"in e}const re=(e,t)=>Dd(e,t,Qn);function wl(e,t,n){try{Pr(-1);const o=arguments.length;return o===2?ze(t)&&!we(t)?Ro(t)?Pe(e,null,[t]):Pe(e,t):Pe(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ro(n)&&(n=[n]),Pe(e,t,n))}finally{Pr(1)}}const op="3.5.42";/** +`,...qd(r)),console.warn(...s)}Vt(),ks=!1}function Gd(){let e=Eo[Eo.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function qd(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` +`],...Vd(n))}),t}function Vd({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,r=` at <${vl(e.component,e.type,o)}`,s=">"+n;return e.props?[r,...Hd(e.props),s]:[r+s]}function Hd(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...xi(o,e[o]))}),n.length>3&&t.push(" ..."),t}function xi(e,t,n){return He(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Je(t)?(t=xi(e,Fe(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):$e(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Fe(t),n?t:[`${e}=`,t])}function Wn(e,t,n,o){try{return o?e(...o):e()}catch(r){Ao(r,t,n)}}function Ft(e,t,n,o){if($e(e)){const r=Wn(e,t,n,o);return r&&Va(r)&&r.catch(s=>{Ao(s,t,n)}),r}if(we(e)){const r=[];for(let s=0;s>>1,r=bt[o],s=Co(r);s=Co(n)?bt.push(e):bt.splice(Kd(t),0,e),e.flags|=1,$i()}}function $i(){vr||(vr=ki.then(Ai))}function Yd(e){if(!we(e))wn&&e.id===-1?wn.splice(Yn+1,0,e):e.flags&1||(Kn.push(e),e.flags|=1);else for(let t=0;tCo(n)-Co(o));if(Kn.length=0,wn){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Ai(e){try{for(Wt=0;Wt{o._d&&Pr(-1);const s=wr(t),a=ln.length;let i;try{i=e(...r)}finally{for(let l=ln.length;l>a;l--)Us();wr(s),o._d&&Pr(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function Rt(e,t){if(ct===null)return e;const n=Fr(ct),o=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&$e(t)?t.call(o&&o.proxy):t}}function Xd(){return!!(un()||On)}const Jd=Symbol.for("v-scx"),Zd=()=>Se(Jd);function Qd(e,t){return Ss(e,null,t)}function mt(e,t,n){return Ss(e,t,n)}function Ss(e,t,n=qe){const{immediate:o,deep:r,flush:s,once:a}=n,i=tt({},n),l=t&&o||!t&&s!=="post";let c;if(Qn){if(s==="sync"){const x=Zd();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=Ut,x.resume=Ut,x.pause=Ut,x}}const u=dt;i.call=(x,A,y)=>Ft(x,u,A,y);let p=!1;s==="post"?i.scheduler=x=>{yt(x,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=(x,A)=>{A?x():$s(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const b=Ud(e,t,i);return Qn&&(c?c.push(b):l&&b()),b}function ef(e,t,n){const o=this.proxy,r=He(e)?e.includes(".")?Ti(o,e):()=>o[e]:e.bind(o,o);let s;$e(t)?s=t:(s=t.handler,n=t);const a=jo(this),i=Ss(r,s.bind(o),n);return a(),i}function Ti(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;re.__isTeleport,Rn=e=>e&&(e.disabled||e.disabled===""),tf=e=>e&&(e.defer||e.defer===""),Pi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ii=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Es=(e,t)=>{const n=e&&e.to;return He(n)?t?t(n):null:n},nf={name:"Teleport",__isTeleport:!0,process(e,t,n,o,r,s,a,i,l,c){const{mc:u,pc:p,pbc:b,o:{insert:x,querySelector:A,createText:y,createComment:v,parentNode:C}}=c,_=Rn(t.props);let{dynamicChildren:d}=t;const f=($,I,S)=>{$.shapeFlag&16&&u($.children,I,S,r,s,a,i,l)},g=($=t)=>{const I=Rn($.props),S=$.target=Es($.props,A),O=As(S,$,y,x);S&&(a!=="svg"&&Pi(S)?a="svg":a!=="mathml"&&Ii(S)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(S),I||(f($,S,O),To($,!1)))},k=$=>{const I=()=>{if(xn.get($)===I){if(xn.delete($),Rn($.props)){const S=C($.el)||n;f($,S,$.anchor),To($,!0)}g($)}};xn.set($,I),yt(I,s)};if(e==null){const $=t.el=y(""),I=t.anchor=y("");if(x($,n,o),x(I,n,o),tf(t.props)||s&&s.pendingBranch){k(t);return}_&&(f(t,n,I),To(t,!0)),g()}else{t.el=e.el;const $=t.anchor=e.anchor,I=xn.get(e);if(I){I.flags|=8,xn.delete(e),k(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,O=t.targetAnchor=e.targetAnchor,H=Rn(e.props),Q=H?n:S,he=H?$:O;if(a==="svg"||Pi(S)?a="svg":(a==="mathml"||Ii(S))&&(a="mathml"),d?(b(e.dynamicChildren,d,Q,r,s,a,i),zs(e,t,!0)):l||p(e,t,Q,he,r,s,a,i,!1),_)H?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):kr(t,n,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const z=Es(t.props,A);z&&(t.target=z,kr(t,z,null,c,0))}else H&&kr(t,S,O,c,1);To(t,_)}},remove(e,t,n,{um:o,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:b}=e,x=Rn(b),A=s||!x,y=xn.get(e);if(y&&(y.flags|=8,xn.delete(e)),p&&(r(c),r(u)),s&&r(l),!y&&(x||p)&&a&16)for(let v=0;v1){for(const n of e)if(n.type!==Kt){t=n;break}}return t}function Ni(e){if(!Er(e))return xr(e.type)&&e.children?sf(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&$e(n.default))return n.default()}}function Ts(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ts(xr(n.type)&&Ni(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Lo(e,t){return $e(e)?tt({name:e.name},t,{setup:e}):e}function Ls(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Mi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const $r=new WeakMap;function Po(e,t,n,o,r=!1){if(we(e)){e.forEach((y,v)=>Po(y,t&&(we(t)?t[v]:t),n,o,r));return}if(Jn(o)&&!r){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Po(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fr(o.component):o.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===qe?i.refs={}:i.refs,p=i.setupState,b=Fe(p),x=p===qe?Ga:y=>Mi(u,y)?!1:De(b,y),A=(y,v)=>!(v&&Mi(u,v));if(c!=null&&c!==l){if(Fi(t),He(c))u[c]=null,x(c)&&(p[c]=null);else if(Je(c)){const y=t;A(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if($e(l))Wn(l,i,12,[a,u]);else{const y=He(l),v=Je(l);if(y||v){const C=()=>{if(e.f){const _=y?x(l)?p[l]:u[l]:A()||!e.k?l.value:u[e.k];if(r)we(_)&&is(_,s);else if(we(_))_.includes(s)||_.push(s);else if(y)u[l]=[s],x(l)&&(p[l]=u[l]);else{const d=[s];A(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,x(l)&&(p[l]=a)):v&&(A(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const _=()=>{C(),$r.delete(e)};_.id=-1,$r.set(e,_),yt(_,n)}else Fi(e),C()}}}function Fi(e){const t=$r.get(e);t&&(t.flags|=8,$r.delete(e))}const Ri=e=>e.nodeType===8;cr().requestIdleCallback,cr().cancelIdleCallback;function af(e,t){if(Ri(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Ri(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Jn=e=>!!e.type.__asyncLoader;function lf(e){$e(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const b=()=>(p++,c=null,x()),x=()=>{let A;return c||(A=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((v,C)=>{l(y,()=>v(b()),()=>C(y),p+1)});throw y}).then(y=>A!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return Lo({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(A,y,v){const C=A.isConnected;let _=!1;(y.bu||(y.bu=[])).push(()=>_=!0);const d=()=>{_||!A.parentNode||C&&!A.isConnected||v()},f=s?()=>{const g=s(d,k=>af(A,k));g&&(y.bum||(y.bum=[])).push(g)}:d;u?f():x().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const A=dt;if(Ls(A),u)return()=>Sr(u,A);const y=g=>{c=null,Ao(g,A,13,!o)};if(i&&A.suspense||Qn)return x().then(g=>()=>Sr(g,A)).catch(g=>(y(g),()=>o?Ie(o,{error:g}):null));const v=ue(!1),C=ue(),_=ue(!!r);let d,f;return Cr(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{A.isUnmounted||(_.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!A.isUnmounted&&!v.value&&!C.value){const g=new Error(`Async component timed out after ${a}ms.`);y(g),C.value=g}},a)),x().then(()=>{A.isUnmounted||(v.value=!0,A.parent&&Er(A.parent.vnode)&&A.parent.update())}).catch(g=>{if(A.isUnmounted){c=null;return}y(g),C.value=g}),()=>{if(v.value&&u)return Sr(u,A);if(C.value&&o)return Ie(o,{error:C.value});if(n&&!_.value)return Sr(n,A)}}})}function Sr(e,t){const{ref:n,props:o,children:r,ce:s}=t.vnode,a=Ie(e,o,r);return a.ref=n,a.ce=s,delete t.vnode.ce,a}const Er=e=>e.type.__isKeepAlive;function cf(e,t){Oi(e,"a",t)}function uf(e,t){Oi(e,"da",t)}function Oi(e,t,n=dt){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ar(t,o,n),n){let r=n.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&df(o,t,n,r),r=r.parent}}function df(e,t,n,o){const r=Ar(t,e,o,!0);Cr(()=>{is(o[t],r)},n)}function Ar(e,t,n=dt,o=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...a)=>{qt();const i=jo(n),l=Ft(t,n,e,a);return i(),Vt(),l});return o?r.unshift(s):r.push(s),s}}const an=e=>(t,n=dt)=>{(!Qn||e==="sp")&&Ar(e,(...o)=>t(...o),n)},Di=an("bm"),xt=an("m"),ff=an("bu"),pf=an("u"),Ot=an("bum"),Cr=an("um"),gf=an("sp"),hf=an("rtg"),mf=an("rtc");function bf(e,t=dt){Ar("ec",e,t)}const _f="components",ji=Symbol.for("v-ndc");function zi(e){return He(e)?yf(_f,e,!1)||e:e||ji}function yf(e,t,n=!0,o=!1){const r=ct||dt;if(r){const s=r.type;{const i=yl(s,!1);if(i&&(i===t||i===it(t)||i===ir(it(t))))return s}const a=Bi(r[e]||s[e],t)||Bi(r.appContext[e],t);return!a&&o?s:a}}function Bi(e,t){return e&&(e[t]||e[it(t)]||e[ir(it(t))])}function et(e,t,n,o){let r;const s=n,a=we(e);if(a||He(e)){const i=a&&on(e);let l=!1,c=!1;i&&(l=!At(e),c=rn(e),e=fr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return ee(),Yt(Ce,null,[Ie("slot",c,o)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=ln.length;ee();let l;try{const c=a&&Ui(a(n)),u=n.key||s||c&&c.key;l=Yt(Ce,{key:(u&&!St(u)?u:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let u=ln.length;u>i;u--)Us();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ui(e){return e.some(t=>Ro(t)?!(t.type===Kt||t.type===Ce&&!Ui(t.children)):!0)?e:null}const Is=e=>e?ml(e)?Fr(e):Is(e.parent):null,Io=tt(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=>Is(e.parent),$root:e=>Is(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Hi(e),$forceUpdate:e=>e.f||(e.f=()=>{$s(e.update)}),$nextTick:e=>e.n||(e.n=Mn.bind(e.proxy)),$watch:e=>ef.bind(e)}),Ns=(e,t)=>e!==qe&&!e.__isScriptSetup&&De(e,t),vf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const b=a[t];if(b!==void 0)switch(b){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(Ns(o,t))return a[t]=1,o[t];if(r!==qe&&De(r,t))return a[t]=2,r[t];if(De(s,t))return a[t]=3,s[t];if(n!==qe&&De(n,t))return a[t]=4,n[t];Ms&&(a[t]=0)}}const c=Io[t];let u,p;if(c)return t==="$attrs"&&ht(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(n!==qe&&De(n,t))return a[t]=4,n[t];if(p=l.config.globalProperties,De(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:s}=e;return Ns(r,t)?(r[t]=n,!0):o!==qe&&De(o,t)?(o[t]=n,!0):De(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,props:s,type:a}},i){let l;return!!(n[i]||e!==qe&&i[0]!=="$"&&De(e,i)||Ns(t,i)||De(s,i)||De(o,i)||De(Io,i)||De(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:De(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Gi(e){return we(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ms=!0;function wf(e){const t=Hi(e),n=e.proxy,o=e.ctx;Ms=!1,t.beforeCreate&&qi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:b,beforeUpdate:x,updated:A,activated:y,deactivated:v,beforeDestroy:C,beforeUnmount:_,destroyed:d,unmounted:f,render:g,renderTracked:k,renderTriggered:$,errorCaptured:I,serverPrefetch:S,expose:O,inheritAttrs:H,components:Q,directives:he,filters:z}=t;if(c&&xf(c,o,null),a)for(const E in a){const N=a[E];$e(N)&&(o[E]=N.bind(n))}if(r){const E=r.call(n,n);je(E)&&(e.data=In(E))}if(Ms=!0,s)for(const E in s){const N=s[E],J=$e(N)?N.bind(n,n):$e(N.get)?N.get.bind(n,n):Ut,j=!$e(N)&&$e(N.set)?N.set.bind(n):Ut,G=oe({get:J,set:j});Object.defineProperty(o,E,{enumerable:!0,configurable:!0,get:()=>G.value,set:K=>G.value=K})}if(i)for(const E in i)Vi(i[E],o,n,E);if(l){const E=$e(l)?l.call(n):l;Reflect.ownKeys(E).forEach(N=>{ut(N,E[N])})}u&&qi(u,e,"c");function B(E,N){we(N)?N.forEach(J=>E(J.bind(n))):N&&E(N.bind(n))}if(B(Di,p),B(xt,b),B(ff,x),B(pf,A),B(cf,y),B(uf,v),B(bf,I),B(mf,k),B(hf,$),B(Ot,_),B(Cr,f),B(gf,S),we(O))if(O.length){const E=e.exposed||(e.exposed={});O.forEach(N=>{Object.defineProperty(E,N,{get:()=>n[N],set:J=>n[N]=J,enumerable:!0})})}else e.exposed||(e.exposed={});g&&e.render===Ut&&(e.render=g),H!=null&&(e.inheritAttrs=H),Q&&(e.components=Q),he&&(e.directives=he),S&&Ls(e)}function xf(e,t,n=Ut){we(e)&&(e=Fs(e));for(const o in e){const r=e[o];let s;je(r)?"default"in r?s=Se(r.from||o,r.default,!0):s=Se(r.from||o):s=Se(r),Je(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[o]=s}}function qi(e,t,n){Ft(we(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Vi(e,t,n,o){let r=o.includes(".")?Ti(n,o):()=>n[o];if(He(e)){const s=t[e];$e(s)&&mt(r,s)}else if($e(e))mt(r,e.bind(n));else if(je(e))if(we(e))e.forEach(s=>Vi(s,t,n,o));else{const s=$e(e.handler)?e.handler.bind(n):t[e.handler];$e(s)&&mt(r,s,e)}}function Hi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!n&&!o?l=t:(l={},r.length&&r.forEach(c=>Tr(l,c,a,!0)),Tr(l,t,a)),je(t)&&s.set(t,l),l}function Tr(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&Tr(e,s,n,!0),r&&r.forEach(a=>Tr(e,a,n,!0));for(const a in t)if(!(o&&a==="expose")){const i=kf[a]||n&&n[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const kf={data:Wi,props:Ki,emits:Ki,methods:No,computed:No,beforeCreate:_t,created:_t,beforeMount:_t,mounted:_t,beforeUpdate:_t,updated:_t,beforeDestroy:_t,beforeUnmount:_t,destroyed:_t,unmounted:_t,activated:_t,deactivated:_t,errorCaptured:_t,serverPrefetch:_t,components:No,directives:No,watch:Sf,provide:Wi,inject:$f};function Wi(e,t){return t?e?function(){return tt($e(e)?e.call(this,this):e,$e(t)?t.call(this,this):t)}:t:e}function $f(e,t){return No(Fs(e),Fs(t))}function Fs(e){if(we(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${it(t)}Modifiers`]||e[`${Et(t)}Modifiers`];function Tf(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||qe;let r=n;const s=t.startsWith("update:"),a=s&&Cf(o,t.slice(7));a&&(a.trim&&(r=n.map(u=>He(u)?u.trim():u)),a.number&&(r=r.map(cs)));let i,l=o[i=ls(t)]||o[i=ls(it(t))];!l&&s&&(l=o[i=ls(Et(t))]),l&&Ft(l,e,6,r);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ft(c,e,6,r)}}const Lf=new WeakMap;function Xi(e,t,n=!1){const o=n?Lf:t.emitsCache,r=o.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!$e(e)){const l=c=>{const u=Xi(c,t,!0);u&&(i=!0,tt(a,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(je(e)&&o.set(e,null),null):(we(s)?s.forEach(l=>a[l]=null):tt(a,s),je(e)&&o.set(e,a),a)}function Lr(e,t){return!e||!tr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),De(e,t[0].toLowerCase()+t.slice(1))||De(e,Et(t))||De(e,t))}function Yw(){}function Ji(e){const{type:t,vnode:n,proxy:o,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:p,data:b,setupState:x,ctx:A,inheritAttrs:y}=e,v=wr(e);let C,_;try{if(n.shapeFlag&4){const f=r||o,g=f;C=Xt(c.call(g,f,u,p,x,b,A)),_=i}else{const f=t;C=Xt(f.length>1?f(p,{attrs:i,slots:a,emit:l}):f(p,null)),_=t.props?i:Pf(i)}}catch(f){ln.length=0,Ao(f,e,1),C=Ie(Kt)}let d=C;if(_&&y!==!1){const f=Object.keys(_),{shapeFlag:g}=d;f.length&&g&7&&(s&&f.some(nr)&&(_=If(_,s)),d=Zn(d,_,!1,!0))}if(n.dirs&&(d=Zn(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(n.dirs):n.dirs),n.transition){const f=xr(d.type)&&Ni(d)||d;Ts(f,n.transition)}return C=d,wr(v),C}const Pf=e=>{let t;for(const n in e)(n==="class"||n==="style"||tr(n))&&((t||(t={}))[n]=e[n]);return t},If=(e,t)=>{const n={};for(const o in e)(!nr(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Nf(e,t,n){const{props:o,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Zi(o,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(el),nl=e=>Object.getPrototypeOf(e)===el;function Ff(e,t,n,o=!1){const r={},s=tl();e.propsDefaults=Object.create(null),ol(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=o?r:Nd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function Rf(e,t,n,o){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=Fe(r),[l]=e.propsOptions;let c=!1;if((o||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[b,x]=rl(p,t,!0);tt(a,b),x&&i.push(...x)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return je(e)&&o.set(e,qn),qn;if(we(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ds=e=>we(e)?e.map(Xt):[Xt(e)],Df=(e,t,n)=>{if(t._n)return t;const o=Xn((...r)=>Ds(t(...r)),n);return o._c=!1,o},al=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Os(r))continue;const s=e[r];if($e(s))t[r]=Df(r,s,o);else if(s!=null){const a=Ds(s);t[r]=()=>a}}},il=(e,t)=>{const n=Ds(t);e.slots.default=()=>n},ll=(e,t,n)=>{for(const o in t)(n||!Os(o))&&(e[o]=t[o])},jf=(e,t,n)=>{const o=e.slots=tl();if(e.vnode.shapeFlag&32){const r=t._;r?(ll(o,t,n),n&&Wa(o,"_",r,!0)):al(t,o)}else t&&il(e,t)},zf=(e,t,n)=>{const{vnode:o,slots:r}=e;let s=!0,a=qe;if(o.shapeFlag&32){const i=t._;i?n&&i===1?s=!1:ll(r,t,n):(s=!t.$stable,al(t,r)),a=t}else t&&(il(e,t),a={default:1});if(s)for(const i in r)!Os(i)&&a[i]==null&&delete r[i]},yt=Vf;function Bf(e){return Uf(e)}function Uf(e,t){const n=cr();n.__VUE__=!0;const{insert:o,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:b,setScopeId:x=Ut,insertStaticContent:A}=e,y=(w,P,T,U=null,W=null,Z=null,ie=void 0,re=null,h=!!P.dynamicChildren)=>{if(w===P)return;w&&!Oo(w,P)&&(U=_e(w),K(w,W,Z,!0),w=null),P.patchFlag===-2&&(h=!1,P.dynamicChildren=null);const{type:m,ref:D,shapeFlag:q}=P;switch(m){case Mo:v(w,P,T,U);break;case Kt:C(w,P,T,U);break;case Bs:w==null&&_(P,T,U,ie);break;case Ce:Q(w,P,T,U,W,Z,ie,re,h);break;default:q&1?g(w,P,T,U,W,Z,ie,re,h):q&6?he(w,P,T,U,W,Z,ie,re,h):(q&64||q&128)&&m.process(w,P,T,U,W,Z,ie,re,h,Oe)}D!=null&&W?Po(D,w&&w.ref,Z,P||w,!P):D==null&&w&&w.ref!=null&&Po(w.ref,null,Z,w,!0)},v=(w,P,T,U)=>{if(w==null)o(P.el=i(P.children),T,U);else{const W=P.el=w.el;P.children!==w.children&&c(W,P.children)}},C=(w,P,T,U)=>{w==null?o(P.el=l(P.children||""),T,U):P.el=w.el},_=(w,P,T,U)=>{[w.el,w.anchor]=A(w.children,P,T,U,w.el,w.anchor)},d=({el:w,anchor:P},T,U)=>{let W;for(;w&&w!==P;)W=b(w),o(w,T,U),w=W;o(P,T,U)},f=({el:w,anchor:P})=>{let T;for(;w&&w!==P;)T=b(w),r(w),w=T;r(P)},g=(w,P,T,U,W,Z,ie,re,h)=>{if(P.type==="svg"?ie="svg":P.type==="math"&&(ie="mathml"),w==null)k(P,T,U,W,Z,ie,re,h);else{const m=w.el&&w.el._isVueCE?w.el:null;try{m&&m._beginPatch(),S(w,P,W,Z,ie,re,h)}finally{m&&m._endPatch()}}},k=(w,P,T,U,W,Z,ie,re)=>{let h,m;const{props:D,shapeFlag:q,transition:le,dirs:se}=w;if(h=w.el=a(w.type,Z,D&&D.is,D),q&8?u(h,w.children):q&16&&I(w.children,h,null,U,W,js(w,Z),ie,re),se&&Fn(w,null,U,"created"),$(h,w,w.scopeId,ie,U),D){for(const L in D)L!=="value"&&!_o(L)&&s(h,L,null,D[L],Z,U);"value"in D&&s(h,"value",null,D.value,Z),(m=D.onVnodeBeforeMount)&&Jt(m,U,w)}se&&Fn(w,null,U,"beforeMount");const R=Gf(W,le);R&&le.beforeEnter(h),o(h,P,T),((m=D&&D.onVnodeMounted)||R||se)&&yt(()=>{try{m&&Jt(m,U,w),R&&le.enter(h),se&&Fn(w,null,U,"mounted")}finally{}},W)},$=(w,P,T,U,W)=>{if(T&&x(w,T),U)for(let Z=0;Z{for(let m=h;m{const re=P.el=w.el;let{patchFlag:h,dynamicChildren:m,dirs:D}=P;h|=w.patchFlag&16;const q=w.props||qe,le=P.props||qe;let se;if(T&&Dn(T,!1),(se=le.onVnodeBeforeUpdate)&&Jt(se,T,P,w),D&&Fn(P,w,T,"beforeUpdate"),T&&Dn(T,!0),m&&(!w.dynamicChildren||w.dynamicChildren.length!==m.length)&&(h=0,ie=!1,m=null),(q.innerHTML&&le.innerHTML==null||q.textContent&&le.textContent==null)&&u(re,""),m?O(w.dynamicChildren,m,re,T,U,js(P,W),Z):ie||N(w,P,re,null,T,U,js(P,W),Z,!1),h>0){if(h&16)H(re,q,le,T,W);else if(h&2&&q.class!==le.class&&s(re,"class",null,le.class,W),h&4&&s(re,"style",q.style,le.style,W),h&8){const R=P.dynamicProps;for(let L=0;L{se&&Jt(se,T,P,w),D&&Fn(P,w,T,"updated")},U)},O=(w,P,T,U,W,Z,ie)=>{for(let re=0;re{if(P!==T){if(P!==qe)for(const Z in P)!_o(Z)&&!(Z in T)&&s(w,Z,P[Z],null,W,U);for(const Z in T){if(_o(Z))continue;const ie=T[Z],re=P[Z];ie!==re&&Z!=="value"&&s(w,Z,re,ie,W,U)}"value"in T&&s(w,"value",P.value,T.value,W)}},Q=(w,P,T,U,W,Z,ie,re,h)=>{const m=P.el=w?w.el:i(""),D=P.anchor=w?w.anchor:i("");let{patchFlag:q,dynamicChildren:le,slotScopeIds:se}=P;se&&(re=re?re.concat(se):se),w==null?(o(m,T,U),o(D,T,U),I(P.children||[],T,D,W,Z,ie,re,h)):q>0&&q&64&&le&&w.dynamicChildren&&w.dynamicChildren.length===le.length?(O(w.dynamicChildren,le,T,W,Z,ie,re),(P.key!=null||W&&P===W.subTree)&&zs(w,P,!0)):N(w,P,T,D,W,Z,ie,re,h)},he=(w,P,T,U,W,Z,ie,re,h)=>{P.slotScopeIds=re,w==null?P.shapeFlag&512?W.ctx.activate(P,T,U,ie,h):z(P,T,U,W,Z,ie,h):Y(w,P,h)},z=(w,P,T,U,W,Z,ie)=>{const re=w.component=Jf(w,U,W);if(Er(w)&&(re.ctx.renderer=Oe),Zf(re,!1,ie),re.asyncDep){if(W&&W.registerDep(re,B,ie),!w.el){const h=re.subTree=Ie(Kt);C(null,h,P,T),w.placeholder=h.el}}else B(re,w,P,T,W,Z,ie)},Y=(w,P,T)=>{const U=P.component=w.component;if(Nf(w,P,T))if(U.asyncDep&&!U.asyncResolved){E(U,P,T);return}else U.next=P,U.update();else P.el=w.el,U.vnode=P},B=(w,P,T,U,W,Z,ie)=>{const re=()=>{if(w.isMounted){let{next:q,bu:le,u:se,parent:R,vnode:L}=w;{const Ge=cl(w);if(Ge){q&&(q.el=L.el,E(w,q,ie)),Ge.asyncDep.then(()=>{yt(()=>{w.isUnmounted||m()},W)});return}}let X=q,te;Dn(w,!1),q?(q.el=L.el,E(w,q,ie)):q=L,le&&lr(le),(te=q.props&&q.props.onVnodeBeforeUpdate)&&Jt(te,R,q,L),Dn(w,!0);const me=Ji(w),ve=w.subTree;w.subTree=me,y(ve,me,p(ve.el),_e(ve),w,W,Z),q.el=me.el,X===null&&Mf(w,me.el),se&&yt(se,W),(te=q.props&&q.props.onVnodeUpdated)&&yt(()=>Jt(te,R,q,L),W)}else{let q;const{el:le,props:se}=P,{bm:R,m:L,parent:X,root:te,type:me}=w,ve=Jn(P);Dn(w,!1),R&&lr(R),!ve&&(q=se&&se.onVnodeBeforeMount)&&Jt(q,X,P),Dn(w,!0);{te.ce&&te.ce._hasShadowRoot()&&te.ce._injectChildStyle(me,w.parent?w.parent.type:void 0);const Ge=w.subTree=Ji(w);y(null,Ge,T,U,w,W,Z),P.el=Ge.el}if(L&&yt(L,W),!ve&&(q=se&&se.onVnodeMounted)){const Ge=P;yt(()=>Jt(q,X,Ge),W)}(P.shapeFlag&256||X&&Jn(X.vnode)&&X.vnode.shapeFlag&256)&&w.a&&yt(w.a,W),w.isMounted=!0,P=T=U=null}};w.scope.on();const h=w.effect=new ni(re);w.scope.off();const m=w.update=h.run.bind(h),D=w.job=h.runIfDirty.bind(h);D.i=w,D.id=w.uid,h.scheduler=()=>$s(D),Dn(w,!0),m()},E=(w,P,T)=>{P.component=w;const U=w.vnode.props;w.vnode=P,w.next=null,Rf(w,P.props,U,T),zf(w,P.children,T),qt(),Si(w),Vt()},N=(w,P,T,U,W,Z,ie,re,h=!1)=>{const m=w&&w.children,D=w?w.shapeFlag:0,q=P.children,{patchFlag:le,shapeFlag:se}=P;if(le>0){if(le&128){j(m,q,T,U,W,Z,ie,re,h);return}else if(le&256){J(m,q,T,U,W,Z,ie,re,h);return}}se&8?(D&16&&Ne(m,W,Z),q!==m&&u(T,q)):D&16?se&16?j(m,q,T,U,W,Z,ie,re,h):Ne(m,W,Z,!0):(D&8&&u(T,""),se&16&&I(q,T,U,W,Z,ie,re,h))},J=(w,P,T,U,W,Z,ie,re,h)=>{w=w||qn,P=P||qn;const m=w.length,D=P.length,q=Math.min(m,D);let le;for(le=0;leD?Ne(w,W,Z,!0,!1,q):I(P,T,U,W,Z,ie,re,h,q)},j=(w,P,T,U,W,Z,ie,re,h)=>{let m=0;const D=P.length;let q=w.length-1,le=D-1;for(;m<=q&&m<=le;){const se=w[m],R=P[m]=h?cn(P[m]):Xt(P[m]);if(Oo(se,R))y(se,R,T,null,W,Z,ie,re,h);else break;m++}for(;m<=q&&m<=le;){const se=w[q],R=P[le]=h?cn(P[le]):Xt(P[le]);if(Oo(se,R))y(se,R,T,null,W,Z,ie,re,h);else break;q--,le--}if(m>q){if(m<=le){const se=le+1,R=sele)for(;m<=q;)K(w[m],W,Z,!0),m++;else{const se=m,R=m,L=new Map;for(m=R;m<=le;m++){const Qe=P[m]=h?cn(P[m]):Xt(P[m]);Qe.key!=null&&L.set(Qe.key,m)}let X,te=0;const me=le-R+1;let ve=!1,Ge=0;const Ve=new Array(me);for(m=0;m=me){K(Qe,W,Z,!0);continue}let It;if(Qe.key!=null)It=L.get(Qe.key);else for(X=R;X<=le;X++)if(Ve[X-R]===0&&Oo(Qe,P[X])){It=X;break}It===void 0?K(Qe,W,Z,!0):(Ve[It-R]=m+1,It>=Ge?Ge=It:ve=!0,y(Qe,P[It],T,null,W,Z,ie,re,h),te++)}const wt=ve?qf(Ve):qn;for(X=wt.length-1,m=me-1;m>=0;m--){const Qe=R+m,It=P[Qe],Qo=P[Qe+1],er=Qe+1{const{el:Z,type:ie,transition:re,children:h,shapeFlag:m}=w;if(m&6){G(w.component.subTree,P,T,U);return}if(m&128){w.suspense.move(P,T,U);return}if(m&64){ie.move(w,P,T,Oe);return}if(ie===Ce){o(Z,P,T);for(let q=0;qre.enter(Z),W));else{const{leave:q,delayLeave:le,afterLeave:se}=re,R=()=>{w.ctx.isUnmounted?r(Z):o(Z,P,T)},L=()=>{const X=Z._isLeaving||!!Z[Cs];Z._isLeaving&&Z[Cs](!0),re.persisted&&!X?R():q(Z,()=>{R(),se&&se()})};le?le(Z,R,L):L()}else o(Z,P,T)},K=(w,P,T,U=!1,W=!1)=>{const{type:Z,props:ie,ref:re,children:h,dynamicChildren:m,shapeFlag:D,patchFlag:q,dirs:le,cacheIndex:se,memo:R}=w;if(q===-2&&(W=!1),re!=null&&(qt(),Po(re,null,T,w,!0),Vt()),se!=null&&(P.renderCache[se]=void 0),D&256){P.ctx.deactivate(w);return}const L=D&1&&le,X=!Jn(w);let te;if(X&&(te=ie&&ie.onVnodeBeforeUnmount)&&Jt(te,P,w),D&6)Ae(w.component,T,U);else{if(D&128){w.suspense.unmount(T,U);return}L&&Fn(w,null,P,"beforeUnmount"),D&64?w.type.remove(w,P,T,Oe,U):m&&!m.hasOnce&&(Z!==Ce||q>0&&q&64)?Ne(m,P,T,!1,!0):(Z===Ce&&q&384||!W&&D&16)&&Ne(h,P,T),U&&ce(w)}const me=R!=null&&se==null;(X&&(te=ie&&ie.onVnodeUnmounted)||L||me)&&yt(()=>{te&&Jt(te,P,w),L&&Fn(w,null,P,"unmounted"),me&&(w.el=null)},T)},ce=w=>{const{type:P,el:T,anchor:U,transition:W}=w;if(P===Ce){ge(T,U);return}if(P===Bs){f(w);return}const Z=()=>{r(T),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(w.shapeFlag&1&&W&&!W.persisted){const{leave:ie,delayLeave:re}=W,h=()=>ie(T,Z);re?re(w.el,Z,h):h()}else Z()},ge=(w,P)=>{let T;for(;w!==P;)T=b(w),r(w),w=T;r(P)},Ae=(w,P,T)=>{const{bum:U,scope:W,job:Z,subTree:ie,um:re,m:h,a:m}=w;ul(h),ul(m),U&&lr(U),W.stop(),Z&&(Z.flags|=8,K(ie,w,P,T)),re&&yt(re,P),yt(()=>{w.isUnmounted=!0},P)},Ne=(w,P,T,U=!1,W=!1,Z=0)=>{for(let ie=Z;ie{if(w.shapeFlag&6)return _e(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const P=b(w.anchor||w.el),T=P&&P[Li];return T?b(T):P};let Ue=!1;const Ze=(w,P,T)=>{let U;w==null?P._vnode&&(K(P._vnode,null,null,!0),U=P._vnode.component):y(P._vnode||null,w,P,null,null,null,T),P._vnode=w,Ue||(Ue=!0,Si(U),Ei(),Ue=!1)},Oe={p:y,um:K,m:G,r:ce,mt:z,mc:I,pc:N,pbc:O,n:_e,o:e};return{render:Ze,hydrate:void 0,createApp:Af(Ze)}}function js({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Dn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Gf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,n=!1){const o=e.children,r=t.children;if(we(o)&&we(r))for(let s=0;s>1,e[n[i]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,a=n[s-1];s-- >0;)n[s]=a,a=t[a];return n}function cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:cl(t)}function ul(e){if(e)for(let t=0;te.__isSuspense;function Vf(e,t){t&&t.pendingBranch?we(e)?t.effects.push(...e):t.effects.push(e):Yd(e)}const Ce=Symbol.for("v-fgt"),Mo=Symbol.for("v-txt"),Kt=Symbol.for("v-cmt"),Bs=Symbol.for("v-stc"),ln=[];let Ct=null;function ee(e=!1){ln.push(Ct=e?null:[])}function Us(){ln.pop(),Ct=ln[ln.length-1]||null}let Fo=1;function Pr(e,t=!1){Fo+=e,e<0&&Ct&&t&&(Ct.hasOnce=!0)}function pl(e){return e.dynamicChildren=Fo>0?Ct||qn:null,Us(),Fo>0&&Ct&&Ct.push(e),e}function ne(e,t,n,o,r,s){return pl(F(e,t,n,o,r,s,!0))}function Yt(e,t,n,o,r){return pl(Ie(e,t,n,o,r,!0))}function Ro(e){return e?e.__v_isVNode===!0:!1}function Oo(e,t){return e.type===t.type&&e.key===t.key}const gl=({key:e})=>e??null,Ir=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?He(e)||Je(e)||$e(e)?{i:ct,r:e,k:t,f:!!n}:e:null);function F(e,t=null,n=null,o=0,r=null,s=e===Ce?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gl(t),ref:t&&Ir(t),scopeId:Ci,slotScopeIds:null,children:n,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:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ct};return i?(Nr(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=He(n)?8:16),Fo>0&&!a&&Ct&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ct.push(l),l}const Ie=Hf;function Hf(e,t=null,n=null,o=0,r=null,s=!1){if((!e||e===ji)&&(e=Kt),Ro(e)){const i=Zn(e,t,!0);return n&&Nr(i,n),Fo>0&&!s&&Ct&&(i.shapeFlag&6?Ct[Ct.indexOf(e)]=i:Ct.push(i)),i.patchFlag=-2,i}if(rp(e)&&(e=e.__vccOpts),t){t=Wf(t);let{class:i,style:l}=t;i&&!He(i)&&(t.class=Me(i)),je(l)&&(br(l)&&!we(l)&&(l=tt({},l)),t.style=gt(l))}const a=He(e)?1:fl(e)?128:xr(e)?64:je(e)?4:$e(e)?2:0;return F(e,t,n,o,r,a,s,!0)}function Wf(e){return e?br(e)||nl(e)?tt({},e):e:null}function Zn(e,t,n=!1,o=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Kf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&gl(c),ref:t&&t.ref?n&&s?we(s)?s.concat(Ir(t)):[s,Ir(t)]:Ir(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ce?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zn(e.ssContent),ssFallback:e.ssFallback&&Zn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ts(u,l.clone(u)),u}function nt(e=" ",t=0){return Ie(Mo,null,e,t)}function ze(e="",t=!1){return t?(ee(),Yt(Kt,null,e)):Ie(Kt,null,e)}function Xt(e){return e==null||typeof e=="boolean"?Ie(Kt):we(e)?Ie(Ce,null,e.slice()):Ro(e)?cn(e):Ie(Mo,null,String(e))}function cn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zn(e)}function Nr(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(we(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),Nr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!nl(t)?t._ctx=ct:r===3&&ct&&(ct.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if($e(t)){if(o&65){Nr(e,{default:t});return}t={default:t,_ctx:ct},n=32}else t=String(t),o&64?(n=16,t=[nt(t)]):n=8;e.children=t,e.shapeFlag|=n}function Kf(...e){const t={};for(let n=0;ndt||ct;let Mr,Do;{const e=cr(),t=(n,o)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(o),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Mr=t("__VUE_INSTANCE_SETTERS__",n=>dt=n),Do=t("__VUE_SSR_SETTERS__",n=>Qn=n)}const jo=e=>{const t=dt;return Mr(e),e.scope.on(),()=>{e.scope.off(),Mr(t)}},hl=()=>{dt&&dt.scope.off(),Mr(null)};function ml(e){return e.vnode.shapeFlag&4}let Qn=!1;function Zf(e,t=!1,n=!1){t&&Do(t);const{props:o,children:r}=e.vnode,s=ml(e);Ff(e,o,s,t),jf(e,r,n||t);const a=s?Qf(e,t):void 0;return t&&Do(!1),a}function Qf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,vf);const{setup:o}=n;if(o){qt();const r=e.setupContext=o.length>1?tp(e):null,s=jo(e),a=Wn(o,e,0,[e.props,r]),i=Va(a);if(Vt(),s(),(i||e.sp)&&!Jn(e)&&Ls(e),i){if(a.then(hl,hl),t)return a.then(l=>{Do(!0);try{bl(e,l,t)}finally{Do(!1)}}).catch(l=>{Ao(l,e,0)});e.asyncDep=a}else bl(e,a)}else _l(e)}function bl(e,t,n){$e(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:je(t)&&(e.setupState=wi(t)),_l(e)}function _l(e,t,n){const o=e.type;e.render||(e.render=o.render||Ut);{const r=jo(e);qt();try{wf(e)}finally{Vt(),r()}}}const ep={get(e,t){return ht(e,"get",""),e[t]}};function tp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ep),slots:e.slots,emit:e.emit,expose:t}}function Fr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wi($o(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Io)return Io[n](e)},has(t,n){return n in t||n in Io}})):e.proxy}const np=/(?:^|[-_])\w/g,op=e=>e.replace(np,t=>t.toUpperCase()).replace(/[-_]/g,"");function yl(e,t=!0){return $e(e)?e.displayName||e.name:e.name||t&&e.__name}function vl(e,t,n=!1){let o=yl(t);if(!o&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(o=r[1])}if(!o&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};o=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return o?op(o):n?"App":"Anonymous"}function rp(e){return $e(e)&&"__vccOpts"in e}const oe=(e,t)=>zd(e,t,Qn);function wl(e,t,n){try{Pr(-1);const o=arguments.length;return o===2?je(t)&&!we(t)?Ro(t)?Ie(e,null,[t]):Ie(e,t):Ie(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ro(n)&&(n=[n]),Ie(e,t,n))}finally{Pr(1)}}const sp="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Gs;const xl=typeof window<"u"&&window.trustedTypes;if(xl)try{Gs=xl.createPolicy("vue",{createHTML:e=>e})}catch{}const kl=Gs?e=>Gs.createHTML(e):e=>e,rp="http://www.w3.org/2000/svg",sp="http://www.w3.org/1998/Math/MathML",dn=typeof document<"u"?document:null,$l=dn&&dn.createElement("template"),ap={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t==="svg"?dn.createElementNS(rp,e):t==="mathml"?dn.createElementNS(sp,e):n?dn.createElement(e,{is:n}):dn.createElement(e);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>dn.createTextNode(e),createComment:e=>dn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>dn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const a=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===s||!(r=r.nextSibling)););else{$l.innerHTML=kl(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const i=$l.content;if(o==="svg"||o==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ip=Symbol("_vtc");function lp(e,t,n){const o=e[ip];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Rr=Symbol("_vod"),Sl=Symbol("_vsh"),Zt={name:"show",beforeMount(e,{value:t},{transition:n}){e[Rr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):zo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),zo(e,!0),o.enter(e)):o.leave(e,()=>{zo(e,!1)}):zo(e,t))},beforeUnmount(e,{value:t}){zo(e,t)}};function zo(e,t){e.style.display=t?e[Rr]:"none",e[Sl]=!t}const cp=Symbol(""),up=/(?:^|;)\s*display\s*:/;function dp(e,t,n){const o=e.style,r=Ve(n);let s=!1;if(n&&!r){if(t)if(Ve(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();n[i]==null&&Bo(o,i,"")}else for(const a in t)n[a]==null&&Bo(o,a,"");for(const a in n){a==="display"&&(s=!0);const i=n[a];i!=null?pp(e,a,!Ve(t)&&t?t[a]:void 0,i)||Bo(o,a,i):Bo(o,a,"")}}else if(r){if(t!==n){const a=o[cp];a&&(n+=";"+a),o.cssText=n,s=up.test(n)}}else t&&e.removeAttribute("style");Rr in e&&(e[Rr]=s?o.display:"",e[Sl]&&(o.display="none"))}const Or=/\s*!important$/;function Bo(e,t,n){if(we(n))n.forEach(o=>Bo(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Or.test(n)?e.setProperty(t,n.replace(Or,""),"important"):e.setProperty(t,n);else{const o=fp(e,t);Or.test(n)?e.setProperty(Et(o),n.replace(Or,""),"important"):e[o]=n}}const El=["Webkit","Moz","ms"],qs={};function fp(e,t){const n=qs[t];if(n)return n;let o=it(t);if(o!=="filter"&&o in e)return qs[t]=o;o=ir(o);for(let r=0;rVs||(yp.then(()=>Vs=0),Vs=Date.now());function wp(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const r=n.value;if(we(r)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const a=r.slice(),i=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,xp=(e,t,n,o,r,s)=>{const a=r==="svg";t==="class"?lp(e,o,a):t==="style"?dp(e,n,o):tr(t)?nr(t)||hp(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):kp(e,t,o,a))?(Tl(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Cl(e,t,o,a,s,t!=="value")):e._isVueCE&&($p(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ve(o)))?Tl(e,it(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Cl(e,t,o,a))};function kp(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pl(t)&&$e(n));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 Pl(t)&&Ve(n)?!1:t in e}function $p(e,t){const n=e._def.props;if(!n)return!1;const o=it(t);return Array.isArray(n)?n.some(r=>it(r)===o):Object.keys(n).some(r=>it(r)===o)}const Il={};function Sp(e,t,n){let o=Lo(e,t);rr(o)&&(o=tt({},o,t));class r extends Hs{constructor(a){super(o,a,n)}}return r.def=o,r}const Ep=typeof HTMLElement<"u"?HTMLElement:class{};class Hs extends Ep{constructor(t,n={},o=Ol){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==Ol?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Hs){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Mn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=o;let i;if(s&&!we(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ka(this._props[l])),(i||(i=Object.create(null)))[it(l)]=!0)}this._numberProps=i,this._resolveProps(o),this.shadowRoot&&this._applyStyles(a),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)je(this,o)||Object.defineProperty(this,o,{get:()=>pe(n[o])})}_resolveProps(t){const{props:n}=t,o=we(n)?n:Object.keys(n||{});for(const r of Object.keys(this))r[0]!=="_"&&o.includes(r)&&this._setProp(r,this[r]);for(const r of o.map(it))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):Il;const r=it(t);n&&this._numberProps&&this._numberProps[r]&&(o=Ka(o)),this._setProp(r,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,r=!1){if(n!==this._props[t]&&(this._dirty=!0,n===Il?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),r&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(Et(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Et(t),n+""):n||this.removeAttribute(Et(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Np(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Pe(this._def,tt(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,rr(a[0])?tt({detail:a},a[0]):{detail:a}))};o.emit=(s,...a)=>{r(s,a),Et(s)!==s&&r(Et(s),a)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const r=this._nonce,s=this.shadowRoot,a=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[l],s.insertBefore(c,i||a),i=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{const t=e.props["onUpdate:modelValue"]||!1;return we(t)?n=>lr(t,n):t};function Ap(e){e.target.composing=!0}function Ml(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Dr=Symbol("_assign"),jr=Symbol("_initialValue");function Ws(e,t,n){return t&&(e=e.trim()),n&&(e=cs(e)),e}const Cp={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e.parentNode&&(e.type==="text"?e[jr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[jr]=e.defaultValue.replace(/\r\n?/g,` -`))),e[Dr]=Nl(r);const s=o||r.props&&r.props.type==="number";eo(e,t?"change":"input",a=>{a.target.composing||e[Dr](Ws(e.value,n,s))}),(n||s)&&eo(e,"change",()=>{e.value=Ws(e.value,n,s)}),t||(eo(e,"compositionstart",Ap),eo(e,"compositionend",Ml),eo(e,"change",Ml))},mounted(e,{value:t,modifiers:{trim:n,number:o}}){const r=t??"",s=e[jr];delete e[jr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Dr](Ws(e.value,n,o)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:r,number:s}},a){if(e[Dr]=Nl(a),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?cs(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(o&&t===n||r&&e.value.trim()===l)||(e.value=l)}},Tp=["ctrl","shift","alt","meta"],Lp={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Tp.some(n=>e[`${n}Key`]&&!t.includes(n))},to=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(r,...s)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=r=>{if(!("key"in r))return;const s=Et(r.key);if(t.some(a=>a===s||Pp[a]===s))return e(r)})},Ip=tt({patchProp:xp},ap);let Fl;function Rl(){return Fl||(Fl=jf(Ip))}const Np=(...e)=>{Rl().render(...e)},Ol=(...e)=>{const t=Rl().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=Fp(o);if(!r)return;const s=t._component;!$e(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=n(r,!1,Mp(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function Mp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Fp(e){return Ve(e)?document.querySelector(e):e}/*! +**/let Gs;const xl=typeof window<"u"&&window.trustedTypes;if(xl)try{Gs=xl.createPolicy("vue",{createHTML:e=>e})}catch{}const kl=Gs?e=>Gs.createHTML(e):e=>e,ap="http://www.w3.org/2000/svg",ip="http://www.w3.org/1998/Math/MathML",dn=typeof document<"u"?document:null,$l=dn&&dn.createElement("template"),lp={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t==="svg"?dn.createElementNS(ap,e):t==="mathml"?dn.createElementNS(ip,e):n?dn.createElement(e,{is:n}):dn.createElement(e);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>dn.createTextNode(e),createComment:e=>dn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>dn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const a=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===s||!(r=r.nextSibling)););else{$l.innerHTML=kl(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const i=$l.content;if(o==="svg"||o==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},cp=Symbol("_vtc");function up(e,t,n){const o=e[cp];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Rr=Symbol("_vod"),Sl=Symbol("_vsh"),Zt={name:"show",beforeMount(e,{value:t},{transition:n}){e[Rr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):zo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),zo(e,!0),o.enter(e)):o.leave(e,()=>{zo(e,!1)}):zo(e,t))},beforeUnmount(e,{value:t}){zo(e,t)}};function zo(e,t){e.style.display=t?e[Rr]:"none",e[Sl]=!t}const dp=Symbol(""),fp=/(?:^|;)\s*display\s*:/;function pp(e,t,n){const o=e.style,r=He(n);let s=!1;if(n&&!r){if(t)if(He(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();n[i]==null&&Bo(o,i,"")}else for(const a in t)n[a]==null&&Bo(o,a,"");for(const a in n){a==="display"&&(s=!0);const i=n[a];i!=null?hp(e,a,!He(t)&&t?t[a]:void 0,i)||Bo(o,a,i):Bo(o,a,"")}}else if(r){if(t!==n){const a=o[dp];a&&(n+=";"+a),o.cssText=n,s=fp.test(n)}}else t&&e.removeAttribute("style");Rr in e&&(e[Rr]=s?o.display:"",e[Sl]&&(o.display="none"))}const Or=/\s*!important$/;function Bo(e,t,n){if(we(n))n.forEach(o=>Bo(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Or.test(n)?e.setProperty(t,n.replace(Or,""),"important"):e.setProperty(t,n);else{const o=gp(e,t);Or.test(n)?e.setProperty(Et(o),n.replace(Or,""),"important"):e[o]=n}}const El=["Webkit","Moz","ms"],qs={};function gp(e,t){const n=qs[t];if(n)return n;let o=it(t);if(o!=="filter"&&o in e)return qs[t]=o;o=ir(o);for(let r=0;rVs||(wp.then(()=>Vs=0),Vs=Date.now());function kp(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const r=n.value;if(we(r)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const a=r.slice(),i=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,$p=(e,t,n,o,r,s)=>{const a=r==="svg";t==="class"?up(e,o,a):t==="style"?pp(e,n,o):tr(t)?nr(t)||bp(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Sp(e,t,o,a))?(Tl(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Cl(e,t,o,a,s,t!=="value")):e._isVueCE&&(Ep(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!He(o)))?Tl(e,it(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Cl(e,t,o,a))};function Sp(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pl(t)&&$e(n));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 Pl(t)&&He(n)?!1:t in e}function Ep(e,t){const n=e._def.props;if(!n)return!1;const o=it(t);return Array.isArray(n)?n.some(r=>it(r)===o):Object.keys(n).some(r=>it(r)===o)}const Il={};function Ap(e,t,n){let o=Lo(e,t);rr(o)&&(o=tt({},o,t));class r extends Hs{constructor(a){super(o,a,n)}}return r.def=o,r}const Cp=typeof HTMLElement<"u"?HTMLElement:class{};class Hs extends Cp{constructor(t,n={},o=Ol){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==Ol?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Hs){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Mn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=o;let i;if(s&&!we(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ka(this._props[l])),(i||(i=Object.create(null)))[it(l)]=!0)}this._numberProps=i,this._resolveProps(o),this.shadowRoot&&this._applyStyles(a),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)De(this,o)||Object.defineProperty(this,o,{get:()=>pe(n[o])})}_resolveProps(t){const{props:n}=t,o=we(n)?n:Object.keys(n||{});for(const r of Object.keys(this))r[0]!=="_"&&o.includes(r)&&this._setProp(r,this[r]);for(const r of o.map(it))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):Il;const r=it(t);n&&this._numberProps&&this._numberProps[r]&&(o=Ka(o)),this._setProp(r,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,r=!1){if(n!==this._props[t]&&(this._dirty=!0,n===Il?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),r&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(Et(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Et(t),n+""):n||this.removeAttribute(Et(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Fp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Ie(this._def,tt(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,rr(a[0])?tt({detail:a},a[0]):{detail:a}))};o.emit=(s,...a)=>{r(s,a),Et(s)!==s&&r(Et(s),a)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const r=this._nonce,s=this.shadowRoot,a=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[l],s.insertBefore(c,i||a),i=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{const t=e.props["onUpdate:modelValue"]||!1;return we(t)?n=>lr(t,n):t};function Tp(e){e.target.composing=!0}function Ml(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Dr=Symbol("_assign"),jr=Symbol("_initialValue");function Ws(e,t,n){return t&&(e=e.trim()),n&&(e=cs(e)),e}const Lp={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e.parentNode&&(e.type==="text"?e[jr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[jr]=e.defaultValue.replace(/\r\n?/g,` +`))),e[Dr]=Nl(r);const s=o||r.props&&r.props.type==="number";eo(e,t?"change":"input",a=>{a.target.composing||e[Dr](Ws(e.value,n,s))}),(n||s)&&eo(e,"change",()=>{e.value=Ws(e.value,n,s)}),t||(eo(e,"compositionstart",Tp),eo(e,"compositionend",Ml),eo(e,"change",Ml))},mounted(e,{value:t,modifiers:{trim:n,number:o}}){const r=t??"",s=e[jr];delete e[jr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Dr](Ws(e.value,n,o)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:r,number:s}},a){if(e[Dr]=Nl(a),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?cs(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(o&&t===n||r&&e.value.trim()===l)||(e.value=l)}},Pp=["ctrl","shift","alt","meta"],Ip={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Pp.some(n=>e[`${n}Key`]&&!t.includes(n))},to=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(r,...s)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=r=>{if(!("key"in r))return;const s=Et(r.key);if(t.some(a=>a===s||Np[a]===s))return e(r)})},Mp=tt({patchProp:$p},lp);let Fl;function Rl(){return Fl||(Fl=Bf(Mp))}const Fp=(...e)=>{Rl().render(...e)},Ol=(...e)=>{const t=Rl().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=Op(o);if(!r)return;const s=t._component;!$e(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=n(r,!1,Rp(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function Rp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Op(e){return He(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Dl;const Br=e=>Dl=e,jl=Symbol();function Ks(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Uo;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Uo||(Uo={}));function Rp(){const e=ds(!0),t=e.run(()=>ue({}));let n=[],o=[];const r=$o({install(s){Br(r),r._a=s,s.provide(jl,r),s.config.globalProperties.$pinia=r,o.forEach(a=>n.push(a)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const zl=()=>{};function Bl(e,t,n,o=zl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&ti()&&fd(r),r}function no(e,...t){e.slice().forEach(n=>{n(...t)})}const Op=e=>e(),Ul=Symbol(),Ys=Symbol();function Xs(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],r=e[n];Ks(r)&&Ks(o)&&e.hasOwnProperty(n)&&!Xe(o)&&!on(o)?e[n]=Xs(r,o):e[n]=o}return e}const Dp=Symbol();function jp(e){return!Ks(e)||!e.hasOwnProperty(Dp)}const{assign:kn}=Object;function zp(e){return!!(Xe(e)&&e.effect)}function Bp(e,t,n,o){const{state:r,actions:s,getters:a}=t,i=n.state.value[e];let l;function c(){i||(n.state.value[e]=r?r():{});const u=Md(n.state.value[e]);return kn(u,s,Object.keys(a||{}).reduce((p,b)=>(p[b]=$o(re(()=>{Br(n);const x=n._s.get(e);return a[b].call(x,x)})),p),{}))}return l=Gl(e,c,t,n,o,!0),l}function Gl(e,t,n={},o,r,s){let a;const i=kn({actions:{}},n),l={deep:!0};let c,u,p=[],b=[],x;const A=o.state.value[e];!s&&!A&&(o.state.value[e]={});let y;function v(I){let S;c=u=!1,typeof I=="function"?(I(o.state.value[e]),S={type:Uo.patchFunction,storeId:e,events:x}):(Xs(o.state.value[e],I),S={type:Uo.patchObject,payload:I,storeId:e,events:x});const R=y=Symbol();Mn().then(()=>{y===R&&(c=!0)}),u=!0,no(p,S,o.state.value[e])}const C=s?function(){const{state:S}=n,R=S?S():{};this.$patch(V=>{kn(V,R)})}:zl;function _(){a.stop(),p=[],b=[],o._s.delete(e)}const d=(I,S="")=>{if(Ul in I)return I[Ys]=S,I;const R=function(){Br(o);const V=Array.from(arguments),Z=[],he=[];function z(E){Z.push(E)}function Y(E){he.push(E)}no(b,{args:V,name:R[Ys],store:g,after:z,onError:Y});let B;try{B=I.apply(this&&this.$id===e?this:g,V)}catch(E){throw no(he,E),E}return B instanceof Promise?B.then(E=>(no(Z,E),E)).catch(E=>(no(he,E),Promise.reject(E))):(no(Z,B),B)};return R[Ul]=!0,R[Ys]=S,R},f={_p:o,$id:e,$onAction:Bl.bind(null,b),$patch:v,$reset:C,$subscribe(I,S={}){const R=Bl(p,I,S.detached,()=>V()),V=a.run(()=>mt(()=>o.state.value[e],Z=>{(S.flush==="sync"?u:c)&&I({storeId:e,type:Uo.direct,events:x},Z)},kn({},l,S)));return R},$dispose:_},g=In(f);o._s.set(e,g);const $=(o._a&&o._a.runWithContext||Op)(()=>o._e.run(()=>(a=ds()).run(()=>t({action:d}))));for(const I in $){const S=$[I];if(Xe(S)&&!zp(S)||on(S))s||(A&&jp(S)&&(Xe(S)?S.value=A[I]:Xs(S,A[I])),o.state.value[e][I]=S);else if(typeof S=="function"){const R=d(S,I);$[I]=R,i.actions[I]=S}}return kn(g,$),kn(Me(g),$),Object.defineProperty(g,"$state",{get:()=>o.state.value[e],set:I=>{v(S=>{kn(S,I)})}}),o._p.forEach(I=>{kn(g,a.run(()=>I({store:g,app:o._a,pinia:o,options:i})))}),A&&s&&n.hydrate&&n.hydrate(g.$state,A),c=!0,u=!0,g}/*! #__NO_SIDE_EFFECTS__ */function Js(e,t,n){let o,r;const s=typeof t=="function";typeof e=="string"?(o=e,r=s?n:t):(r=e,o=e.id);function a(i,l){const c=Kd();return i=i||(c?Ee(jl,null):null),i&&Br(i),i=Dl,i._s.has(o)||(s?Gl(o,t,r,i):Bp(o,r,i)),i._s.get(o)}return a.$id=o,a}const Up={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Gp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},qp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Vp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},Hp={menuComingSoon:"القائمة قادمة قريباً"},Wp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Kp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Yp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Xp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Jp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Zp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},Qp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},eg={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},tg={menuComingSoon:"Menü folgt in Kürze"},ng={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},og={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},rg={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},sg={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},ag={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ig={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},lg={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},cg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},ug={menuComingSoon:"Menu coming soon"},dg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},fg={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},pg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},gg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},hg={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},mg={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},bg={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},_g={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},yg={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},vg={menuComingSoon:"Menú próximamente"},wg={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},xg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},kg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},$g={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Sg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Eg={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},Ag={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Cg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Tg={menuComingSoon:"Menu bientôt disponible"},Lg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Pg={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Ig={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Ng={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},Mg={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},Fg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Rg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Og={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Dg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},jg={menuComingSoon:"मेनू शीघ्र आ रहा है"},zg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Bg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Ug={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Gg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},qg={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},Vg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Hg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Wg={menuComingSoon:"Menu in arrivo"},Kg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Yg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Xg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Jg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Zg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},Qg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},eh={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},th={menuComingSoon:"Menu em breve"},nh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},oh={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},rh={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},sh={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},ah={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},ih={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},lh={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},ch={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},uh={menuComingSoon:"Meniu în curând"},dh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},fh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},ph={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},gh={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},hh={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},mh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},bh={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},_h={menuComingSoon:"Меню скоро появится"},yh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},vh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},wh={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},xh={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},kh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},$h={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Sh={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Eh={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Ah={menuComingSoon:"菜单即将推出"},Ch={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Th={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Lh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Dl;const Br=e=>Dl=e,jl=Symbol();function Ks(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Uo;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Uo||(Uo={}));function Dp(){const e=ds(!0),t=e.run(()=>ue({}));let n=[],o=[];const r=$o({install(s){Br(r),r._a=s,s.provide(jl,r),s.config.globalProperties.$pinia=r,o.forEach(a=>n.push(a)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const zl=()=>{};function Bl(e,t,n,o=zl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&ti()&&gd(r),r}function no(e,...t){e.slice().forEach(n=>{n(...t)})}const jp=e=>e(),Ul=Symbol(),Ys=Symbol();function Xs(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],r=e[n];Ks(r)&&Ks(o)&&e.hasOwnProperty(n)&&!Je(o)&&!on(o)?e[n]=Xs(r,o):e[n]=o}return e}const zp=Symbol();function Bp(e){return!Ks(e)||!e.hasOwnProperty(zp)}const{assign:kn}=Object;function Up(e){return!!(Je(e)&&e.effect)}function Gp(e,t,n,o){const{state:r,actions:s,getters:a}=t,i=n.state.value[e];let l;function c(){i||(n.state.value[e]=r?r():{});const u=Rd(n.state.value[e]);return kn(u,s,Object.keys(a||{}).reduce((p,b)=>(p[b]=$o(oe(()=>{Br(n);const x=n._s.get(e);return a[b].call(x,x)})),p),{}))}return l=Gl(e,c,t,n,o,!0),l}function Gl(e,t,n={},o,r,s){let a;const i=kn({actions:{}},n),l={deep:!0};let c,u,p=[],b=[],x;const A=o.state.value[e];!s&&!A&&(o.state.value[e]={});let y;function v(I){let S;c=u=!1,typeof I=="function"?(I(o.state.value[e]),S={type:Uo.patchFunction,storeId:e,events:x}):(Xs(o.state.value[e],I),S={type:Uo.patchObject,payload:I,storeId:e,events:x});const O=y=Symbol();Mn().then(()=>{y===O&&(c=!0)}),u=!0,no(p,S,o.state.value[e])}const C=s?function(){const{state:S}=n,O=S?S():{};this.$patch(H=>{kn(H,O)})}:zl;function _(){a.stop(),p=[],b=[],o._s.delete(e)}const d=(I,S="")=>{if(Ul in I)return I[Ys]=S,I;const O=function(){Br(o);const H=Array.from(arguments),Q=[],he=[];function z(E){Q.push(E)}function Y(E){he.push(E)}no(b,{args:H,name:O[Ys],store:g,after:z,onError:Y});let B;try{B=I.apply(this&&this.$id===e?this:g,H)}catch(E){throw no(he,E),E}return B instanceof Promise?B.then(E=>(no(Q,E),E)).catch(E=>(no(he,E),Promise.reject(E))):(no(Q,B),B)};return O[Ul]=!0,O[Ys]=S,O},f={_p:o,$id:e,$onAction:Bl.bind(null,b),$patch:v,$reset:C,$subscribe(I,S={}){const O=Bl(p,I,S.detached,()=>H()),H=a.run(()=>mt(()=>o.state.value[e],Q=>{(S.flush==="sync"?u:c)&&I({storeId:e,type:Uo.direct,events:x},Q)},kn({},l,S)));return O},$dispose:_},g=In(f);o._s.set(e,g);const $=(o._a&&o._a.runWithContext||jp)(()=>o._e.run(()=>(a=ds()).run(()=>t({action:d}))));for(const I in $){const S=$[I];if(Je(S)&&!Up(S)||on(S))s||(A&&Bp(S)&&(Je(S)?S.value=A[I]:Xs(S,A[I])),o.state.value[e][I]=S);else if(typeof S=="function"){const O=d(S,I);$[I]=O,i.actions[I]=S}}return kn(g,$),kn(Fe(g),$),Object.defineProperty(g,"$state",{get:()=>o.state.value[e],set:I=>{v(S=>{kn(S,I)})}}),o._p.forEach(I=>{kn(g,a.run(()=>I({store:g,app:o._a,pinia:o,options:i})))}),A&&s&&n.hydrate&&n.hydrate(g.$state,A),c=!0,u=!0,g}/*! #__NO_SIDE_EFFECTS__ */function Js(e,t,n){let o,r;const s=typeof t=="function";typeof e=="string"?(o=e,r=s?n:t):(r=e,o=e.id);function a(i,l){const c=Xd();return i=i||(c?Se(jl,null):null),i&&Br(i),i=Dl,i._s.has(o)||(s?Gl(o,t,r,i):Gp(o,r,i)),i._s.get(o)}return a.$id=o,a}const qp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Vp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Hp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Wp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},Kp={menuComingSoon:"القائمة قادمة قريباً"},Yp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Xp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Jp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Zp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Qp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},eg={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},tg={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},ng={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},og={menuComingSoon:"Menü folgt in Kürze"},rg={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},sg={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ag={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},ig={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},lg={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},cg={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},ug={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},dg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},fg={menuComingSoon:"Menu coming soon"},pg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},gg={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},hg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},mg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},bg={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},_g={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},yg={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},vg={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},wg={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},xg={menuComingSoon:"Menú próximamente"},kg={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},$g={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Sg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Eg={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Ag={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Cg={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},Tg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Lg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Pg={menuComingSoon:"Menu bientôt disponible"},Ig={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ng={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Mg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Fg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},Rg={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},Og={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Dg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},jg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},zg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Bg={menuComingSoon:"मेनू शीघ्र आ रहा है"},Ug={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Gg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},qg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Vg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Hg={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},Wg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Kg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Yg={menuComingSoon:"Menu in arrivo"},Xg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Jg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Zg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Qg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},eh={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},th={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},nh={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},oh={menuComingSoon:"Menu em breve"},rh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},sh={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},ah={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},ih={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},lh={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},ch={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},uh={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},dh={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},fh={menuComingSoon:"Meniu în curând"},ph={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},gh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},hh={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},mh={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},bh={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},_h={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},yh={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},vh={menuComingSoon:"Меню скоро появится"},wh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},xh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},kh={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},$h={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Sh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Eh={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Ah={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Ch={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Th={menuComingSoon:"菜单即将推出"},Lh={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Ph={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Ih={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Ph(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ur=typeof window<"u",$n=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Ih=(e,t,n)=>Nh({l:e,k:t,s:n}),Nh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),Mh=e=>Kl(e)==="[object Date]",Sn=e=>Kl(e)==="[object RegExp]",Gr=e=>Ae(e)&&Object.keys(e).length===0,ft=Object.assign,Fh=Object.create,Ue=(e=null)=>Fh(e);let ql;const fn=()=>ql||(ql=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ue());function Vl(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Hl(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Rh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,r,s)=>`${r}="${Hl(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,r,s)=>`${r}='${Hl(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const Oh=Object.prototype.hasOwnProperty;function Dt(e,t){return Oh.call(e,t)}const Ke=Array.isArray,We=e=>typeof e=="function",de=e=>typeof e=="string",Te=e=>typeof e=="boolean",De=e=>e!==null&&typeof e=="object",Dh=e=>De(e)&&We(e.then)&&We(e.catch),Wl=Object.prototype.toString,Kl=e=>Wl.call(e),Ae=e=>{if(!De(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},jh=e=>e==null?"":Ke(e)||Ae(e)&&e.toString===Wl?JSON.stringify(e,null,2):String(e);function zh(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}function qr(e){let t=e;return()=>++t}const Vr=e=>!De(e)||Ke(e);function Hr(e,t){if(Vr(e)||Vr(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:r}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(De(o[s])&&!De(r[s])&&(r[s]=Array.isArray(o[s])?[]:Ue()),Vr(r[s])||Vr(o[s])?r[s]=o[s]:n.push({src:o[s],des:r[s]}))})}}/*! + */function Nh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ur=typeof window<"u",$n=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Mh=(e,t,n)=>Fh({l:e,k:t,s:n}),Fh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),Rh=e=>Kl(e)==="[object Date]",Sn=e=>Kl(e)==="[object RegExp]",Gr=e=>Ee(e)&&Object.keys(e).length===0,ft=Object.assign,Oh=Object.create,Be=(e=null)=>Oh(e);let ql;const fn=()=>ql||(ql=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Be());function Vl(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Hl(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Dh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,r,s)=>`${r}="${Hl(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,r,s)=>`${r}='${Hl(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const jh=Object.prototype.hasOwnProperty;function Dt(e,t){return jh.call(e,t)}const Ye=Array.isArray,Ke=e=>typeof e=="function",de=e=>typeof e=="string",Pe=e=>typeof e=="boolean",Re=e=>e!==null&&typeof e=="object",zh=e=>Re(e)&&Ke(e.then)&&Ke(e.catch),Wl=Object.prototype.toString,Kl=e=>Wl.call(e),Ee=e=>{if(!Re(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Bh=e=>e==null?"":Ye(e)||Ee(e)&&e.toString===Wl?JSON.stringify(e,null,2):String(e);function Uh(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}function qr(e){let t=e;return()=>++t}const Vr=e=>!Re(e)||Ye(e);function Hr(e,t){if(Vr(e)||Vr(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:r}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(Re(o[s])&&!Re(r[s])&&(r[s]=Array.isArray(o[s])?[]:Be()),Vr(r[s])||Vr(o[s])?r[s]=o[s]:n.push({src:o[s],des:r[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Bh(e,t,n){return{line:e,column:t,offset:n}}function Wr(e,t,n){return{start:e,end:t}}const Uh=/\{([0-9a-zA-Z]+)\}/g;function Yl(e,...t){return t.length===1&&Gh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Uh,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Xl=Object.assign,Jl=e=>typeof e=="string",Gh=e=>e!==null&&typeof e=="object";function Zl(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}const Zs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},qh={[Zs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Vh(e,t,...n){const o=Yl(qh[e],...n||[]),r={message:String(o),code:e};return t&&(r.location=t),r}const xe={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Hh={[xe.EXPECTED_TOKEN]:"Expected token: '{0}'",[xe.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[xe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[xe.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[xe.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[xe.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[xe.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[xe.EMPTY_PLACEHOLDER]:"Empty placeholder",[xe.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[xe.INVALID_LINKED_FORMAT]:"Invalid linked format",[xe.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[xe.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[xe.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[xe.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[xe.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[xe.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function oo(e,t,n={}){const{domain:o,messages:r,args:s}=n,a=Yl((r||Hh)[e]||"",...s||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=o,i}function Wh(e){throw e}const pn=" ",Kh="\r",vt=` -`,Yh="\u2028",Xh="\u2029";function Jh(e){const t=e;let n=0,o=1,r=1,s=0;const a=$=>t[$]===Kh&&t[$+1]===vt,i=$=>t[$]===vt,l=$=>t[$]===Xh,c=$=>t[$]===Yh,u=$=>a($)||i($)||l($)||c($),p=()=>n,b=()=>o,x=()=>r,A=()=>s,y=$=>a($)||l($)||c($)?vt:t[$],v=()=>y(n),C=()=>y(n+s);function _(){return s=0,u(n)&&(o++,r=0),a(n)&&n++,n++,r++,t[n]}function d(){return a(n+s)&&s++,s++,t[n+s]}function f(){n=0,o=1,r=1,s=0}function g($=0){s=$}function k(){const $=n+s;for(;$!==n;)_();s=0}return{index:p,line:b,column:x,peekOffset:A,charAt:y,currentChar:v,currentPeek:C,next:_,peek:d,reset:f,resetPeek:g,skipToPeek:k}}const En=void 0,Zh=".",Ql="'",Qh="tokenizer";function em(e,t={}){const n=t.location!==!1,o=Jh(e),r=()=>o.index(),s=()=>Bh(o.line(),o.column(),o.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(h,m,D,...G){const ce=c();if(m.column+=D,m.offset+=D,u){const oe=n?Wr(ce.startLoc,m):null,O=oo(h,oe,{domain:Qh,args:G});u(O)}}function b(h,m,D){h.endLoc=s(),h.currentType=m;const G={type:m};return n&&(G.loc=Wr(h.startLoc,h.endLoc)),D!=null&&(G.value=D),G}const x=h=>b(h,14);function A(h,m){return h.currentChar()===m?(h.next(),m):(p(xe.EXPECTED_TOKEN,s(),0,m),"")}function y(h){let m="";for(;h.currentPeek()===pn||h.currentPeek()===vt;)m+=h.currentPeek(),h.peek();return m}function v(h){const m=y(h);return h.skipToPeek(),m}function C(h){if(h===En)return!1;const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m===95}function _(h){if(h===En)return!1;const m=h.charCodeAt(0);return m>=48&&m<=57}function d(h,m){const{currentType:D}=m;if(D!==2)return!1;y(h);const G=C(h.currentPeek());return h.resetPeek(),G}function f(h,m){const{currentType:D}=m;if(D!==2)return!1;y(h);const G=h.currentPeek()==="-"?h.peek():h.currentPeek(),ce=_(G);return h.resetPeek(),ce}function g(h,m){const{currentType:D}=m;if(D!==2)return!1;y(h);const G=h.currentPeek()===Ql;return h.resetPeek(),G}function k(h,m){const{currentType:D}=m;if(D!==8)return!1;y(h);const G=h.currentPeek()===".";return h.resetPeek(),G}function $(h,m){const{currentType:D}=m;if(D!==9)return!1;y(h);const G=C(h.currentPeek());return h.resetPeek(),G}function I(h,m){const{currentType:D}=m;if(!(D===8||D===12))return!1;y(h);const G=h.currentPeek()===":";return h.resetPeek(),G}function S(h,m){const{currentType:D}=m;if(D!==10)return!1;const G=()=>{const oe=h.currentPeek();return oe==="{"?C(h.peek()):oe==="@"||oe==="%"||oe==="|"||oe===":"||oe==="."||oe===pn||!oe?!1:oe===vt?(h.peek(),G()):Z(h,!1)},ce=G();return h.resetPeek(),ce}function R(h){y(h);const m=h.currentPeek()==="|";return h.resetPeek(),m}function V(h){const m=y(h),D=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:D,hasSpace:m.length>0}}function Z(h,m=!0){const D=(ce=!1,oe="",O=!1)=>{const L=h.currentPeek();return L==="{"?oe==="%"?!1:ce:L==="@"||!L?oe==="%"?!0:ce:L==="%"?(h.peek(),D(ce,"%",!0)):L==="|"?oe==="%"||O?!0:!(oe===pn||oe===vt):L===pn?(h.peek(),D(!0,pn,O)):L===vt?(h.peek(),D(!0,vt,O)):!0},G=D();return m&&h.resetPeek(),G}function he(h,m){const D=h.currentChar();return D===En?En:m(D)?(h.next(),D):null}function z(h){const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m>=48&&m<=57||m===95||m===36}function Y(h){return he(h,z)}function B(h){const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m>=48&&m<=57||m===95||m===36||m===45}function E(h){return he(h,B)}function N(h){const m=h.charCodeAt(0);return m>=48&&m<=57}function X(h){return he(h,N)}function j(h){const m=h.charCodeAt(0);return m>=48&&m<=57||m>=65&&m<=70||m>=97&&m<=102}function q(h){return he(h,j)}function W(h){let m="",D="";for(;m=X(h);)D+=m;return D}function le(h){v(h);const m=h.currentChar();return m!=="%"&&p(xe.EXPECTED_TOKEN,s(),0,m),h.next(),"%"}function ge(h){let m="";for(;;){const D=h.currentChar();if(D==="{"||D==="}"||D==="@"||D==="|"||!D)break;if(D==="%")if(Z(h))m+=D,h.next();else break;else if(D===pn||D===vt)if(Z(h))m+=D,h.next();else{if(R(h))break;m+=D,h.next()}else m+=D,h.next()}return m}function Se(h){v(h);let m="",D="";for(;m=E(h);)D+=m;return h.currentChar()===En&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),D}function Ie(h){v(h);let m="";return h.currentChar()==="-"?(h.next(),m+=`-${W(h)}`):m+=W(h),h.currentChar()===En&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),m}function be(h){return h!==Ql&&h!==vt}function Ge(h){v(h),A(h,"'");let m="",D="";for(;m=he(h,be);)m==="\\"?D+=Je(h):D+=m;const G=h.currentChar();return G===vt||G===En?(p(xe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),G===vt&&(h.next(),A(h,"'")),D):(A(h,"'"),D)}function Je(h){const m=h.currentChar();switch(m){case"\\":case"'":return h.next(),`\\${m}`;case"u":return Fe(h,m,4);case"U":return Fe(h,m,6);default:return p(xe.UNKNOWN_ESCAPE_SEQUENCE,s(),0,m),""}}function Fe(h,m,D){A(h,m);let G="";for(let ce=0;ce{const G=h.currentChar();return G==="{"||G==="%"||G==="@"||G==="|"||G==="("||G===")"||!G||G===pn?D:(D+=G,h.next(),m(D))};return m("")}function U(h){v(h);const m=A(h,"|");return v(h),m}function H(h,m){let D=null;switch(h.currentChar()){case"{":return m.braceNest>=1&&p(xe.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),D=b(m,2,"{"),v(h),m.braceNest++,D;case"}":return m.braceNest>0&&m.currentType===2&&p(xe.EMPTY_PLACEHOLDER,s(),0),h.next(),D=b(m,3,"}"),m.braceNest--,m.braceNest>0&&v(h),m.inLinked&&m.braceNest===0&&(m.inLinked=!1),D;case"@":return m.braceNest>0&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),D=Q(h,m)||x(m),m.braceNest=0,D;default:{let ce=!0,oe=!0,O=!0;if(R(h))return m.braceNest>0&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),D=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,D;if(m.braceNest>0&&(m.currentType===5||m.currentType===6||m.currentType===7))return p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),m.braceNest=0,ae(h,m);if(ce=d(h,m))return D=b(m,5,Se(h)),v(h),D;if(oe=f(h,m))return D=b(m,6,Ie(h)),v(h),D;if(O=g(h,m))return D=b(m,7,Ge(h)),v(h),D;if(!ce&&!oe&&!O)return D=b(m,13,w(h)),p(xe.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,D.value),v(h),D;break}}return D}function Q(h,m){const{currentType:D}=m;let G=null;const ce=h.currentChar();switch((D===8||D===9||D===12||D===10)&&(ce===vt||ce===pn)&&p(xe.INVALID_LINKED_FORMAT,s(),0),ce){case"@":return h.next(),G=b(m,8,"@"),m.inLinked=!0,G;case".":return v(h),h.next(),b(m,9,".");case":":return v(h),h.next(),b(m,10,":");default:return R(h)?(G=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,G):k(h,m)||I(h,m)?(v(h),Q(h,m)):$(h,m)?(v(h),b(m,12,P(h))):S(h,m)?(v(h),ce==="{"?H(h,m)||G:b(m,11,T(h))):(D===8&&p(xe.INVALID_LINKED_FORMAT,s(),0),m.braceNest=0,m.inLinked=!1,ae(h,m))}}function ae(h,m){let D={type:14};if(m.braceNest>0)return H(h,m)||x(m);if(m.inLinked)return Q(h,m)||x(m);switch(h.currentChar()){case"{":return H(h,m)||x(m);case"}":return p(xe.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),b(m,3,"}");case"@":return Q(h,m)||x(m);default:{if(R(h))return D=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,D;const{isModulo:ce,hasSpace:oe}=V(h);if(ce)return oe?b(m,0,ge(h)):b(m,4,le(h));if(Z(h))return b(m,0,ge(h));break}}return D}function se(){const{currentType:h,offset:m,startLoc:D,endLoc:G}=l;return l.lastType=h,l.lastOffset=m,l.lastStartLoc=D,l.lastEndLoc=G,l.offset=r(),l.startLoc=s(),o.currentChar()===En?b(l,14):ae(o,l)}return{nextToken:se,currentOffset:r,currentPosition:s,context:c}}const tm="parser",nm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function om(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function rm(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function r(d,f,g,k,...$){const I=d.currentPosition();if(I.offset+=k,I.column+=k,n){const S=t?Wr(g,I):null,R=oo(f,S,{domain:tm,args:$});n(R)}}function s(d,f,g,k,...$){const I=d.currentPosition();if(I.offset+=k,I.column+=k,o){const S=t?Wr(g,I):null;o(Vh(f,S,$))}}function a(d,f,g){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:g,end:g}),k}function i(d,f,g,k){t&&(d.end=f,d.loc&&(d.loc.end=g))}function l(d,f){const g=d.context(),k=a(3,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,I=a(5,k,$);return I.index=parseInt(f,10),d.nextToken(),i(I,d.currentOffset(),d.currentPosition()),I}function u(d,f,g){const k=d.context(),{lastOffset:$,lastStartLoc:I}=k,S=a(4,$,I);return S.key=f,g===!0&&(S.modulo=!0),d.nextToken(),i(S,d.currentOffset(),d.currentPosition()),S}function p(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,I=a(9,k,$);return I.value=f.replace(nm,om),d.nextToken(),i(I,d.currentOffset(),d.currentPosition()),I}function b(d){const f=d.nextToken(),g=d.context(),{lastOffset:k,lastStartLoc:$}=g,I=a(8,k,$);return f.type!==12?(r(d,xe.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),I.value="",i(I,k,$),{nextConsumeToken:f,node:I}):(f.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,jt(f)),I.value=f.value||"",i(I,d.currentOffset(),d.currentPosition()),{node:I})}function x(d,f){const g=d.context(),k=a(7,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function A(d){const f=d.context(),g=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const $=b(d);g.modifier=$.node,k=$.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=x(d,k.value||"");break;case 5:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=p(d,k.value||"");break;default:{r(d,xe.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const $=d.context(),I=a(7,$.offset,$.startLoc);return I.value="",i(I,$.offset,$.startLoc),g.key=I,i(g,$.offset,$.startLoc),{nextConsumeToken:k,node:g}}}return i(g,d.currentOffset(),d.currentPosition()),{node:g}}function y(d){const f=d.context(),g=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,$=a(2,g,k);$.items=[];let I=null,S=null;do{const Z=I||d.nextToken();switch(I=null,Z.type){case 0:Z.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Z)),$.items.push(l(d,Z.value||""));break;case 6:Z.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Z)),$.items.push(c(d,Z.value||""));break;case 4:S=!0;break;case 5:Z.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Z)),$.items.push(u(d,Z.value||"",!!S)),S&&(s(d,Zs.USE_MODULO_SYNTAX,f.lastStartLoc,0,jt(Z)),S=null);break;case 7:Z.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Z)),$.items.push(p(d,Z.value||""));break;case 8:{const he=A(d);$.items.push(he.node),I=he.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const R=f.currentType===1?f.lastOffset:d.currentOffset(),V=f.currentType===1?f.lastEndLoc:d.currentPosition();return i($,R,V),$}function v(d,f,g,k){const $=d.context();let I=k.items.length===0;const S=a(1,f,g);S.cases=[],S.cases.push(k);do{const R=y(d);I||(I=R.items.length===0),S.cases.push(R)}while($.currentType!==14);return I&&r(d,xe.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),i(S,d.currentOffset(),d.currentPosition()),S}function C(d){const f=d.context(),{offset:g,startLoc:k}=f,$=y(d);return f.currentType===14?$:v(d,g,k,$)}function _(d){const f=em(d,Xl({},e)),g=f.context(),k=a(0,g.offset,g.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=C(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),g.currentType!==14&&r(f,xe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,d[g.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:_}}function jt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function sm(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function ec(e,t){for(let n=0;ntc(n)),e}function tc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;na;function l(y,v){a.code+=y}function c(y,v=!0){const C=v?o:"";l(r?C+" ".repeat(y):C)}function u(y=!0){const v=++a.indentLevel;y&&c(v)}function p(y=!0){const v=--a.indentLevel;y&&c(v)}function b(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:b,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function dm(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),so(e,t.key),t.modifier?(e.push(", "),so(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function fm(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const r=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const r=t.cases.length;for(let s=0;s{const n=Jl(t.mode)?t.mode:"normal",o=Jl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,s=t.needIndent?t.needIndent:n!=="arrow",a=e.helpers||[],i=um(e,{filename:o,breakLineCode:r,needIndent:s});i.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),a.length>0&&(i.push(`const { ${Zl(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),so(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function mm(e,t={}){const n=Xl({},t),o=!!n.jit,r=!!n.minify,s=n.optimize==null?!0:n.optimize,i=rm(n).parse(e);return o?(s&&im(i),r&&ro(i),{ast:i,code:""}):(am(i,n),hm(i,n))}/*! + */function Gh(e,t,n){return{line:e,column:t,offset:n}}function Wr(e,t,n){return{start:e,end:t}}const qh=/\{([0-9a-zA-Z]+)\}/g;function Yl(e,...t){return t.length===1&&Vh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(qh,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Xl=Object.assign,Jl=e=>typeof e=="string",Vh=e=>e!==null&&typeof e=="object";function Zl(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}const Zs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Hh={[Zs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Wh(e,t,...n){const o=Yl(Hh[e],...n||[]),r={message:String(o),code:e};return t&&(r.location=t),r}const xe={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Kh={[xe.EXPECTED_TOKEN]:"Expected token: '{0}'",[xe.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[xe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[xe.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[xe.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[xe.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[xe.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[xe.EMPTY_PLACEHOLDER]:"Empty placeholder",[xe.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[xe.INVALID_LINKED_FORMAT]:"Invalid linked format",[xe.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[xe.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[xe.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[xe.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[xe.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[xe.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function oo(e,t,n={}){const{domain:o,messages:r,args:s}=n,a=Yl((r||Kh)[e]||"",...s||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=o,i}function Yh(e){throw e}const pn=" ",Xh="\r",vt=` +`,Jh="\u2028",Zh="\u2029";function Qh(e){const t=e;let n=0,o=1,r=1,s=0;const a=$=>t[$]===Xh&&t[$+1]===vt,i=$=>t[$]===vt,l=$=>t[$]===Zh,c=$=>t[$]===Jh,u=$=>a($)||i($)||l($)||c($),p=()=>n,b=()=>o,x=()=>r,A=()=>s,y=$=>a($)||l($)||c($)?vt:t[$],v=()=>y(n),C=()=>y(n+s);function _(){return s=0,u(n)&&(o++,r=0),a(n)&&n++,n++,r++,t[n]}function d(){return a(n+s)&&s++,s++,t[n+s]}function f(){n=0,o=1,r=1,s=0}function g($=0){s=$}function k(){const $=n+s;for(;$!==n;)_();s=0}return{index:p,line:b,column:x,peekOffset:A,charAt:y,currentChar:v,currentPeek:C,next:_,peek:d,reset:f,resetPeek:g,skipToPeek:k}}const En=void 0,em=".",Ql="'",tm="tokenizer";function nm(e,t={}){const n=t.location!==!1,o=Qh(e),r=()=>o.index(),s=()=>Gh(o.line(),o.column(),o.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(h,m,D,...q){const le=c();if(m.column+=D,m.offset+=D,u){const se=n?Wr(le.startLoc,m):null,R=oo(h,se,{domain:tm,args:q});u(R)}}function b(h,m,D){h.endLoc=s(),h.currentType=m;const q={type:m};return n&&(q.loc=Wr(h.startLoc,h.endLoc)),D!=null&&(q.value=D),q}const x=h=>b(h,14);function A(h,m){return h.currentChar()===m?(h.next(),m):(p(xe.EXPECTED_TOKEN,s(),0,m),"")}function y(h){let m="";for(;h.currentPeek()===pn||h.currentPeek()===vt;)m+=h.currentPeek(),h.peek();return m}function v(h){const m=y(h);return h.skipToPeek(),m}function C(h){if(h===En)return!1;const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m===95}function _(h){if(h===En)return!1;const m=h.charCodeAt(0);return m>=48&&m<=57}function d(h,m){const{currentType:D}=m;if(D!==2)return!1;y(h);const q=C(h.currentPeek());return h.resetPeek(),q}function f(h,m){const{currentType:D}=m;if(D!==2)return!1;y(h);const q=h.currentPeek()==="-"?h.peek():h.currentPeek(),le=_(q);return h.resetPeek(),le}function g(h,m){const{currentType:D}=m;if(D!==2)return!1;y(h);const q=h.currentPeek()===Ql;return h.resetPeek(),q}function k(h,m){const{currentType:D}=m;if(D!==8)return!1;y(h);const q=h.currentPeek()===".";return h.resetPeek(),q}function $(h,m){const{currentType:D}=m;if(D!==9)return!1;y(h);const q=C(h.currentPeek());return h.resetPeek(),q}function I(h,m){const{currentType:D}=m;if(!(D===8||D===12))return!1;y(h);const q=h.currentPeek()===":";return h.resetPeek(),q}function S(h,m){const{currentType:D}=m;if(D!==10)return!1;const q=()=>{const se=h.currentPeek();return se==="{"?C(h.peek()):se==="@"||se==="%"||se==="|"||se===":"||se==="."||se===pn||!se?!1:se===vt?(h.peek(),q()):Q(h,!1)},le=q();return h.resetPeek(),le}function O(h){y(h);const m=h.currentPeek()==="|";return h.resetPeek(),m}function H(h){const m=y(h),D=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:D,hasSpace:m.length>0}}function Q(h,m=!0){const D=(le=!1,se="",R=!1)=>{const L=h.currentPeek();return L==="{"?se==="%"?!1:le:L==="@"||!L?se==="%"?!0:le:L==="%"?(h.peek(),D(le,"%",!0)):L==="|"?se==="%"||R?!0:!(se===pn||se===vt):L===pn?(h.peek(),D(!0,pn,R)):L===vt?(h.peek(),D(!0,vt,R)):!0},q=D();return m&&h.resetPeek(),q}function he(h,m){const D=h.currentChar();return D===En?En:m(D)?(h.next(),D):null}function z(h){const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m>=48&&m<=57||m===95||m===36}function Y(h){return he(h,z)}function B(h){const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m>=48&&m<=57||m===95||m===36||m===45}function E(h){return he(h,B)}function N(h){const m=h.charCodeAt(0);return m>=48&&m<=57}function J(h){return he(h,N)}function j(h){const m=h.charCodeAt(0);return m>=48&&m<=57||m>=65&&m<=70||m>=97&&m<=102}function G(h){return he(h,j)}function K(h){let m="",D="";for(;m=J(h);)D+=m;return D}function ce(h){v(h);const m=h.currentChar();return m!=="%"&&p(xe.EXPECTED_TOKEN,s(),0,m),h.next(),"%"}function ge(h){let m="";for(;;){const D=h.currentChar();if(D==="{"||D==="}"||D==="@"||D==="|"||!D)break;if(D==="%")if(Q(h))m+=D,h.next();else break;else if(D===pn||D===vt)if(Q(h))m+=D,h.next();else{if(O(h))break;m+=D,h.next()}else m+=D,h.next()}return m}function Ae(h){v(h);let m="",D="";for(;m=E(h);)D+=m;return h.currentChar()===En&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),D}function Ne(h){v(h);let m="";return h.currentChar()==="-"?(h.next(),m+=`-${K(h)}`):m+=K(h),h.currentChar()===En&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),m}function _e(h){return h!==Ql&&h!==vt}function Ue(h){v(h),A(h,"'");let m="",D="";for(;m=he(h,_e);)m==="\\"?D+=Ze(h):D+=m;const q=h.currentChar();return q===vt||q===En?(p(xe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),q===vt&&(h.next(),A(h,"'")),D):(A(h,"'"),D)}function Ze(h){const m=h.currentChar();switch(m){case"\\":case"'":return h.next(),`\\${m}`;case"u":return Oe(h,m,4);case"U":return Oe(h,m,6);default:return p(xe.UNKNOWN_ESCAPE_SEQUENCE,s(),0,m),""}}function Oe(h,m,D){A(h,m);let q="";for(let le=0;le{const q=h.currentChar();return q==="{"||q==="%"||q==="@"||q==="|"||q==="("||q===")"||!q||q===pn?D:(D+=q,h.next(),m(D))};return m("")}function U(h){v(h);const m=A(h,"|");return v(h),m}function W(h,m){let D=null;switch(h.currentChar()){case"{":return m.braceNest>=1&&p(xe.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),D=b(m,2,"{"),v(h),m.braceNest++,D;case"}":return m.braceNest>0&&m.currentType===2&&p(xe.EMPTY_PLACEHOLDER,s(),0),h.next(),D=b(m,3,"}"),m.braceNest--,m.braceNest>0&&v(h),m.inLinked&&m.braceNest===0&&(m.inLinked=!1),D;case"@":return m.braceNest>0&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),D=Z(h,m)||x(m),m.braceNest=0,D;default:{let le=!0,se=!0,R=!0;if(O(h))return m.braceNest>0&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),D=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,D;if(m.braceNest>0&&(m.currentType===5||m.currentType===6||m.currentType===7))return p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),m.braceNest=0,ie(h,m);if(le=d(h,m))return D=b(m,5,Ae(h)),v(h),D;if(se=f(h,m))return D=b(m,6,Ne(h)),v(h),D;if(R=g(h,m))return D=b(m,7,Ue(h)),v(h),D;if(!le&&!se&&!R)return D=b(m,13,w(h)),p(xe.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,D.value),v(h),D;break}}return D}function Z(h,m){const{currentType:D}=m;let q=null;const le=h.currentChar();switch((D===8||D===9||D===12||D===10)&&(le===vt||le===pn)&&p(xe.INVALID_LINKED_FORMAT,s(),0),le){case"@":return h.next(),q=b(m,8,"@"),m.inLinked=!0,q;case".":return v(h),h.next(),b(m,9,".");case":":return v(h),h.next(),b(m,10,":");default:return O(h)?(q=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,q):k(h,m)||I(h,m)?(v(h),Z(h,m)):$(h,m)?(v(h),b(m,12,P(h))):S(h,m)?(v(h),le==="{"?W(h,m)||q:b(m,11,T(h))):(D===8&&p(xe.INVALID_LINKED_FORMAT,s(),0),m.braceNest=0,m.inLinked=!1,ie(h,m))}}function ie(h,m){let D={type:14};if(m.braceNest>0)return W(h,m)||x(m);if(m.inLinked)return Z(h,m)||x(m);switch(h.currentChar()){case"{":return W(h,m)||x(m);case"}":return p(xe.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),b(m,3,"}");case"@":return Z(h,m)||x(m);default:{if(O(h))return D=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,D;const{isModulo:le,hasSpace:se}=H(h);if(le)return se?b(m,0,ge(h)):b(m,4,ce(h));if(Q(h))return b(m,0,ge(h));break}}return D}function re(){const{currentType:h,offset:m,startLoc:D,endLoc:q}=l;return l.lastType=h,l.lastOffset=m,l.lastStartLoc=D,l.lastEndLoc=q,l.offset=r(),l.startLoc=s(),o.currentChar()===En?b(l,14):ie(o,l)}return{nextToken:re,currentOffset:r,currentPosition:s,context:c}}const om="parser",rm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function sm(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function am(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function r(d,f,g,k,...$){const I=d.currentPosition();if(I.offset+=k,I.column+=k,n){const S=t?Wr(g,I):null,O=oo(f,S,{domain:om,args:$});n(O)}}function s(d,f,g,k,...$){const I=d.currentPosition();if(I.offset+=k,I.column+=k,o){const S=t?Wr(g,I):null;o(Wh(f,S,$))}}function a(d,f,g){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:g,end:g}),k}function i(d,f,g,k){t&&(d.end=f,d.loc&&(d.loc.end=g))}function l(d,f){const g=d.context(),k=a(3,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,I=a(5,k,$);return I.index=parseInt(f,10),d.nextToken(),i(I,d.currentOffset(),d.currentPosition()),I}function u(d,f,g){const k=d.context(),{lastOffset:$,lastStartLoc:I}=k,S=a(4,$,I);return S.key=f,g===!0&&(S.modulo=!0),d.nextToken(),i(S,d.currentOffset(),d.currentPosition()),S}function p(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,I=a(9,k,$);return I.value=f.replace(rm,sm),d.nextToken(),i(I,d.currentOffset(),d.currentPosition()),I}function b(d){const f=d.nextToken(),g=d.context(),{lastOffset:k,lastStartLoc:$}=g,I=a(8,k,$);return f.type!==12?(r(d,xe.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),I.value="",i(I,k,$),{nextConsumeToken:f,node:I}):(f.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,jt(f)),I.value=f.value||"",i(I,d.currentOffset(),d.currentPosition()),{node:I})}function x(d,f){const g=d.context(),k=a(7,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function A(d){const f=d.context(),g=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const $=b(d);g.modifier=$.node,k=$.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=x(d,k.value||"");break;case 5:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=p(d,k.value||"");break;default:{r(d,xe.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const $=d.context(),I=a(7,$.offset,$.startLoc);return I.value="",i(I,$.offset,$.startLoc),g.key=I,i(g,$.offset,$.startLoc),{nextConsumeToken:k,node:g}}}return i(g,d.currentOffset(),d.currentPosition()),{node:g}}function y(d){const f=d.context(),g=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,$=a(2,g,k);$.items=[];let I=null,S=null;do{const Q=I||d.nextToken();switch(I=null,Q.type){case 0:Q.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Q)),$.items.push(l(d,Q.value||""));break;case 6:Q.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Q)),$.items.push(c(d,Q.value||""));break;case 4:S=!0;break;case 5:Q.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Q)),$.items.push(u(d,Q.value||"",!!S)),S&&(s(d,Zs.USE_MODULO_SYNTAX,f.lastStartLoc,0,jt(Q)),S=null);break;case 7:Q.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Q)),$.items.push(p(d,Q.value||""));break;case 8:{const he=A(d);$.items.push(he.node),I=he.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const O=f.currentType===1?f.lastOffset:d.currentOffset(),H=f.currentType===1?f.lastEndLoc:d.currentPosition();return i($,O,H),$}function v(d,f,g,k){const $=d.context();let I=k.items.length===0;const S=a(1,f,g);S.cases=[],S.cases.push(k);do{const O=y(d);I||(I=O.items.length===0),S.cases.push(O)}while($.currentType!==14);return I&&r(d,xe.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),i(S,d.currentOffset(),d.currentPosition()),S}function C(d){const f=d.context(),{offset:g,startLoc:k}=f,$=y(d);return f.currentType===14?$:v(d,g,k,$)}function _(d){const f=nm(d,Xl({},e)),g=f.context(),k=a(0,g.offset,g.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=C(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),g.currentType!==14&&r(f,xe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,d[g.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:_}}function jt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function im(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function ec(e,t){for(let n=0;ntc(n)),e}function tc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;na;function l(y,v){a.code+=y}function c(y,v=!0){const C=v?o:"";l(r?C+" ".repeat(y):C)}function u(y=!0){const v=++a.indentLevel;y&&c(v)}function p(y=!0){const v=--a.indentLevel;y&&c(v)}function b(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:b,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function pm(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),so(e,t.key),t.modifier?(e.push(", "),so(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function gm(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const r=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const r=t.cases.length;for(let s=0;s{const n=Jl(t.mode)?t.mode:"normal",o=Jl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,s=t.needIndent?t.needIndent:n!=="arrow",a=e.helpers||[],i=fm(e,{filename:o,breakLineCode:r,needIndent:s});i.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),a.length>0&&(i.push(`const { ${Zl(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),so(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function _m(e,t={}){const n=Xl({},t),o=!!n.jit,r=!!n.minify,s=n.optimize==null?!0:n.optimize,i=am(n).parse(e);return o?(s&&cm(i),r&&ro(i),{ast:i,code:""}):(lm(i,n),bm(i,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function bm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(fn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(fn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Qt(e){return De(e)&&ea(e)===0&&(Dt(e,"b")||Dt(e,"body"))}const nc=["b","body"];function _m(e){return An(e,nc)}const oc=["c","cases"];function ym(e){return An(e,oc,[])}const rc=["s","static"];function vm(e){return An(e,rc)}const sc=["i","items"];function wm(e){return An(e,sc,[])}const ac=["t","type"];function ea(e){return An(e,ac)}const ic=["v","value"];function Kr(e,t){const n=An(e,ic);if(n!=null)return n;throw Go(t)}const lc=["m","modifier"];function xm(e){return An(e,lc)}const cc=["k","key"];function km(e){const t=An(e,cc);if(t)return t;throw Go(6)}function An(e,t,n){for(let o=0;o{a===void 0?a=i:a+=i},b[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},b[2]=()=>{b[0](),r++},b[3]=()=>{if(r>0)r--,o=4,b[0]();else{if(r=0,a===void 0||(a=Cm(a),a===!1))return!1;b[1]()}};function x(){const A=e[n+1];if(o===5&&A==="'"||o===6&&A==='"')return n++,i="\\"+A,b[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&x())){if(l=Am(s),p=Cn[o],c=p[l]||p.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=b[c[1]],u&&(i=s,u()===!1))))return;if(o===7)return t}}const dc=new Map;function Lm(e,t){return De(e)?e[t]:null}function Pm(e,t){if(!De(e))return null;let n=dc.get(t);if(n||(n=Tm(t),n&&dc.set(t,n)),!n)return null;const o=n.length;let r=e,s=0;for(;se,Nm=e=>"",Mm="text",Fm=e=>e.length===0?"":zh(e),Rm=jh;function fc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Om(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function Dm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function jm(e={}){const t=e.locale,n=Om(e),o=De(e.pluralRules)&&de(t)&&We(e.pluralRules[t])?e.pluralRules[t]:fc,r=De(e.pluralRules)&&de(t)&&We(e.pluralRules[t])?fc:void 0,s=C=>C[o(n,C.length,r)],a=e.list||[],i=C=>a[C],l=e.named||Ue();ot(e.pluralIndex)&&Dm(n,l);const c=C=>l[C];function u(C){const _=We(e.messages)?e.messages(C):De(e.messages)?e.messages[C]:!1;return _||(e.parent?e.parent.message(C):Nm)}const p=C=>e.modifiers?e.modifiers[C]:Im,b=Ae(e.processor)&&We(e.processor.normalize)?e.processor.normalize:Fm,x=Ae(e.processor)&&We(e.processor.interpolate)?e.processor.interpolate:Rm,A=Ae(e.processor)&&de(e.processor.type)?e.processor.type:Mm,v={list:i,named:c,plural:s,linked:(C,..._)=>{const[d,f]=_;let g="text",k="";_.length===1?De(d)?(k=d.modifier||k,g=d.type||g):de(d)&&(k=d||k):_.length===2&&(de(d)&&(k=d||k),de(f)&&(g=f||g));const $=u(C)(v),I=g==="vnode"&&Ke($)&&k?$[0]:$;return k?p(k)(I,g):I},message:u,type:A,interpolate:x,normalize:b,values:ft(Ue(),a,l)};return v}let qo=null;function zm(e){qo=e}function Bm(e,t,n){qo&&qo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Um=Gm("function:translate");function Gm(e){return t=>qo&&qo.emit(e,t)}const qm=Zs.__EXTEND_POINT__,jn=qr(qm),Vm={FALLBACK_TO_TRANSLATE:jn(),CANNOT_FORMAT_NUMBER:jn(),FALLBACK_TO_NUMBER_FORMAT:jn(),CANNOT_FORMAT_DATE:jn(),FALLBACK_TO_DATE_FORMAT:jn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:jn(),__EXTEND_POINT__:jn()},pc=xe.__EXTEND_POINT__,zn=qr(pc),zt={INVALID_ARGUMENT:pc,INVALID_DATE_ARGUMENT:zn(),INVALID_ISO_DATE_ARGUMENT:zn(),NOT_SUPPORT_NON_STRING_MESSAGE:zn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:zn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:zn(),NOT_SUPPORT_LOCALE_TYPE:zn(),__EXTEND_POINT__:zn()};function en(e){return oo(e,null,void 0)}function ta(e,t){return t.locale!=null?gc(t.locale):gc(e.locale)}let na;function gc(e){if(de(e))return e;if(We(e)){if(e.resolvedOnce&&na!=null)return na;if(e.constructor.name==="Function"){const t=e();if(Dh(t))throw en(zt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return na=t}else throw en(zt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw en(zt.NOT_SUPPORT_LOCALE_TYPE)}function Hm(e,t,n){return[...new Set([n,...Ke(t)?t:De(t)?Object.keys(t):de(t)?[t]:[n]])]}function hc(e,t,n){const o=de(n)?n:ao,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(o);if(!s){s=[];let a=[n];for(;Ke(a);)a=mc(s,a,t);const i=Ke(t)||!Ae(t)?t:t.default?t.default:null;a=de(i)?[i]:i,Ke(a)&&mc(s,a,!1),r.__localeChainCache.set(o,s)}return s}function mc(e,t,n){let o=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Xm(){return{upper:(e,t)=>t==="text"&&de(e)?e.toUpperCase():t==="vnode"&&De(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&de(e)?e.toLowerCase():t==="vnode"&&De(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&de(e)?_c(e):t==="vnode"&&De(e)&&"__v_isVNode"in e?_c(e.children):e}}let yc;function vc(e){yc=e}let wc;function Jm(e){wc=e}let xc;function Zm(e){xc=e}let kc=null;const Qm=e=>{kc=e},eb=()=>kc;let $c=null;const Sc=e=>{$c=e},tb=()=>$c;let Ec=0;function nb(e={}){const t=We(e.onWarn)?e.onWarn:Ph,n=de(e.version)?e.version:Ym,o=de(e.locale)||We(e.locale)?e.locale:ao,r=We(o)?ao:o,s=Ke(e.fallbackLocale)||Ae(e.fallbackLocale)||de(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Ae(e.messages)?e.messages:oa(r),i=Ae(e.datetimeFormats)?e.datetimeFormats:oa(r),l=Ae(e.numberFormats)?e.numberFormats:oa(r),c=ft(Ue(),e.modifiers,Xm()),u=e.pluralRules||Ue(),p=We(e.missing)?e.missing:null,b=Te(e.missingWarn)||Sn(e.missingWarn)?e.missingWarn:!0,x=Te(e.fallbackWarn)||Sn(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,y=!!e.unresolving,v=We(e.postTranslation)?e.postTranslation:null,C=Ae(e.processor)?e.processor:null,_=Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=We(e.messageCompiler)?e.messageCompiler:yc,g=We(e.messageResolver)?e.messageResolver:wc||Lm,k=We(e.localeFallbacker)?e.localeFallbacker:xc||Hm,$=De(e.fallbackContext)?e.fallbackContext:void 0,I=e,S=De(I.__datetimeFormatters)?I.__datetimeFormatters:new Map,R=De(I.__numberFormatters)?I.__numberFormatters:new Map,V=De(I.__meta)?I.__meta:{};Ec++;const Z={version:n,cid:Ec,locale:o,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:p,missingWarn:b,fallbackWarn:x,fallbackFormat:A,unresolving:y,postTranslation:v,processor:C,warnHtmlMessage:_,escapeParameter:d,messageCompiler:f,messageResolver:g,localeFallbacker:k,fallbackContext:$,onWarn:t,__meta:V};return Z.datetimeFormats=i,Z.numberFormats=l,Z.__datetimeFormatters=S,Z.__numberFormatters=R,__INTLIFY_PROD_DEVTOOLS__&&Bm(Z,n,V),Z}const oa=e=>({[e]:Ue()});function ra(e,t,n,o,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,n,t,r);return de(i)?i:t}else return t}function Vo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function ob(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function rb(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;osb(n,e)}function sb(e,t){const n=_m(t);if(n==null)throw Go(0);if(ea(n)===1){const s=ym(n);return e.plural(s.reduce((a,i)=>[...a,Ac(e,i)],[]))}else return Ac(e,n)}function Ac(e,t){const n=vm(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=wm(t).reduce((r,s)=>[...r,aa(e,s)],[]);return e.normalize(o)}}function aa(e,t){const n=ea(t);switch(n){case 3:return Kr(t,n);case 9:return Kr(t,n);case 4:{const o=t;if(Dt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(Dt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Go(n)}case 5:{const o=t;if(Dt(o,"i")&&ot(o.i))return e.interpolate(e.list(o.i));if(Dt(o,"index")&&ot(o.index))return e.interpolate(e.list(o.index));throw Go(n)}case 6:{const o=t,r=xm(o),s=km(o);return e.linked(aa(e,s),r?aa(e,r):void 0,e.type)}case 7:return Kr(t,n);case 8:return Kr(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Cc=e=>e;let io=Ue();function Tc(e,t={}){let n=!1;const o=t.onError||Wh;return t.onError=r=>{n=!0,o(r)},{...mm(e,t),detectError:n}}const ab=(e,t)=>{if(!de(e))throw en(zt.NOT_SUPPORT_NON_STRING_MESSAGE);{Te(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Cc)(e),r=io[o];if(r)return r;const{code:s,detectError:a}=Tc(e,t),i=new Function(`return ${s}`)();return a?i:io[o]=i}};function ib(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&de(e)){Te(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Cc)(e),r=io[o];if(r)return r;const{ast:s,detectError:a}=Tc(e,{...t,location:!1,jit:!0}),i=sa(s);return a?i:io[o]=i}else{const n=e.cacheKey;if(n){const o=io[n];return o||(io[n]=sa(e))}else return sa(e)}}const Lc=()=>"",Pt=e=>We(e);function Pc(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=ia(...t),u=Te(c.missingWarn)?c.missingWarn:e.missingWarn,p=Te(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=Te(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,A=de(c.default)||Te(c.default)?Te(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",y=n||A!=="",v=ta(e,c);b&&lb(c);let[C,_,d]=x?[l,v,i[v]||Ue()]:Ic(e,l,v,a,p,u),f=C,g=l;if(!x&&!(de(f)||Qt(f)||Pt(f))&&y&&(f=A,g=f),!x&&(!(de(f)||Qt(f)||Pt(f))||!de(_)))return r?Yr:l;let k=!1;const $=()=>{k=!0},I=Pt(f)?f:Nc(e,l,_,f,g,$);if(k)return f;const S=db(e,_,d,c),R=jm(S),V=cb(e,I,R);let Z=o?o(V,l):V;if(b&&de(Z)&&(Z=Rh(Z)),__INTLIFY_PROD_DEVTOOLS__){const he={timestamp:Date.now(),key:de(l)?l:Pt(f)?f.key:"",locale:_||(Pt(f)?f.locale:""),format:de(f)?f:Pt(f)?f.source:"",message:Z};he.meta=ft({},e.__meta,eb()||{}),Um(he)}return Z}function lb(e){Ke(e.list)?e.list=e.list.map(t=>de(t)?Vl(t):t):De(e.named)&&Object.keys(e.named).forEach(t=>{de(e.named[t])&&(e.named[t]=Vl(e.named[t]))})}function Ic(e,t,n,o,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let p=Ue(),b,x=null;const A="translate";for(let y=0;yo;return c.locale=n,c.key=t,c}const l=a(o,ub(e,n,r,o,i,s));return l.locale=n,l.key=t,l.source=o,l}function cb(e,t,n){return t(n)}function ia(...e){const[t,n,o]=e,r=Ue();if(!de(t)&&!ot(t)&&!Pt(t)&&!Qt(t))throw en(zt.INVALID_ARGUMENT);const s=ot(t)?String(t):(Pt(t),t);return ot(n)?r.plural=n:de(n)?r.default=n:Ae(n)&&!Gr(n)?r.named=n:Ke(n)&&(r.list=n),ot(o)?r.plural=o:de(o)?r.default=o:Ae(o)&&ft(r,o),[s,r]}function ub(e,t,n,o,r,s){return{locale:t,key:n,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Ih(t,n,a)}}function db(e,t,n,o){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,b={locale:t,modifiers:r,pluralRules:s,messages:x=>{let A=a(n,x);if(A==null&&u){const[,,y]=Ic(u,x,t,i,l,c);A=a(y,x)}if(de(A)||Qt(A)){let y=!1;const C=Nc(e,x,t,A,x,()=>{y=!0});return y?Lc:C}else return Pt(A)?A:Lc}};return e.processor&&(b.processor=e.processor),o.list&&(b.list=o.list),o.named&&(b.named=o.named),ot(o.plural)&&(b.pluralIndex=o.plural),b}function Mc(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=la(...t),b=Te(u.missingWarn)?u.missingWarn:e.missingWarn;Te(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,A=ta(e,u),y=a(e,r,A);if(!de(l)||l==="")return new Intl.DateTimeFormat(A,p).format(c);let v={},C,_=null;const d="datetime format";for(let k=0;k{Fc.includes(l)?a[l]=n[l]:s[l]=n[l]}),de(o)?s.locale=o:Ae(o)&&(a=o),Ae(r)&&(a=r),[s.key||"",i,s,a]}function Rc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function Oc(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,p]=ca(...t),b=Te(u.missingWarn)?u.missingWarn:e.missingWarn;Te(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,A=ta(e,u),y=a(e,r,A);if(!de(l)||l==="")return new Intl.NumberFormat(A,p).format(c);let v={},C,_=null;const d="number format";for(let k=0;k{Dc.includes(l)?a[l]=n[l]:s[l]=n[l]}),de(o)?s.locale=o:Ae(o)&&(a=o),Ae(r)&&(a=r),[s.key||"",i,s,a]}function jc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}bm();/*! + */function ym(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(fn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(fn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Qt(e){return Re(e)&&ea(e)===0&&(Dt(e,"b")||Dt(e,"body"))}const nc=["b","body"];function vm(e){return An(e,nc)}const oc=["c","cases"];function wm(e){return An(e,oc,[])}const rc=["s","static"];function xm(e){return An(e,rc)}const sc=["i","items"];function km(e){return An(e,sc,[])}const ac=["t","type"];function ea(e){return An(e,ac)}const ic=["v","value"];function Kr(e,t){const n=An(e,ic);if(n!=null)return n;throw Go(t)}const lc=["m","modifier"];function $m(e){return An(e,lc)}const cc=["k","key"];function Sm(e){const t=An(e,cc);if(t)return t;throw Go(6)}function An(e,t,n){for(let o=0;o{a===void 0?a=i:a+=i},b[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},b[2]=()=>{b[0](),r++},b[3]=()=>{if(r>0)r--,o=4,b[0]();else{if(r=0,a===void 0||(a=Lm(a),a===!1))return!1;b[1]()}};function x(){const A=e[n+1];if(o===5&&A==="'"||o===6&&A==='"')return n++,i="\\"+A,b[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&x())){if(l=Tm(s),p=Cn[o],c=p[l]||p.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=b[c[1]],u&&(i=s,u()===!1))))return;if(o===7)return t}}const dc=new Map;function Im(e,t){return Re(e)?e[t]:null}function Nm(e,t){if(!Re(e))return null;let n=dc.get(t);if(n||(n=Pm(t),n&&dc.set(t,n)),!n)return null;const o=n.length;let r=e,s=0;for(;se,Fm=e=>"",Rm="text",Om=e=>e.length===0?"":Uh(e),Dm=Bh;function fc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function jm(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function zm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Bm(e={}){const t=e.locale,n=jm(e),o=Re(e.pluralRules)&&de(t)&&Ke(e.pluralRules[t])?e.pluralRules[t]:fc,r=Re(e.pluralRules)&&de(t)&&Ke(e.pluralRules[t])?fc:void 0,s=C=>C[o(n,C.length,r)],a=e.list||[],i=C=>a[C],l=e.named||Be();ot(e.pluralIndex)&&zm(n,l);const c=C=>l[C];function u(C){const _=Ke(e.messages)?e.messages(C):Re(e.messages)?e.messages[C]:!1;return _||(e.parent?e.parent.message(C):Fm)}const p=C=>e.modifiers?e.modifiers[C]:Mm,b=Ee(e.processor)&&Ke(e.processor.normalize)?e.processor.normalize:Om,x=Ee(e.processor)&&Ke(e.processor.interpolate)?e.processor.interpolate:Dm,A=Ee(e.processor)&&de(e.processor.type)?e.processor.type:Rm,v={list:i,named:c,plural:s,linked:(C,..._)=>{const[d,f]=_;let g="text",k="";_.length===1?Re(d)?(k=d.modifier||k,g=d.type||g):de(d)&&(k=d||k):_.length===2&&(de(d)&&(k=d||k),de(f)&&(g=f||g));const $=u(C)(v),I=g==="vnode"&&Ye($)&&k?$[0]:$;return k?p(k)(I,g):I},message:u,type:A,interpolate:x,normalize:b,values:ft(Be(),a,l)};return v}let qo=null;function Um(e){qo=e}function Gm(e,t,n){qo&&qo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const qm=Vm("function:translate");function Vm(e){return t=>qo&&qo.emit(e,t)}const Hm=Zs.__EXTEND_POINT__,jn=qr(Hm),Wm={FALLBACK_TO_TRANSLATE:jn(),CANNOT_FORMAT_NUMBER:jn(),FALLBACK_TO_NUMBER_FORMAT:jn(),CANNOT_FORMAT_DATE:jn(),FALLBACK_TO_DATE_FORMAT:jn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:jn(),__EXTEND_POINT__:jn()},pc=xe.__EXTEND_POINT__,zn=qr(pc),zt={INVALID_ARGUMENT:pc,INVALID_DATE_ARGUMENT:zn(),INVALID_ISO_DATE_ARGUMENT:zn(),NOT_SUPPORT_NON_STRING_MESSAGE:zn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:zn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:zn(),NOT_SUPPORT_LOCALE_TYPE:zn(),__EXTEND_POINT__:zn()};function en(e){return oo(e,null,void 0)}function ta(e,t){return t.locale!=null?gc(t.locale):gc(e.locale)}let na;function gc(e){if(de(e))return e;if(Ke(e)){if(e.resolvedOnce&&na!=null)return na;if(e.constructor.name==="Function"){const t=e();if(zh(t))throw en(zt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return na=t}else throw en(zt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw en(zt.NOT_SUPPORT_LOCALE_TYPE)}function Km(e,t,n){return[...new Set([n,...Ye(t)?t:Re(t)?Object.keys(t):de(t)?[t]:[n]])]}function hc(e,t,n){const o=de(n)?n:ao,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(o);if(!s){s=[];let a=[n];for(;Ye(a);)a=mc(s,a,t);const i=Ye(t)||!Ee(t)?t:t.default?t.default:null;a=de(i)?[i]:i,Ye(a)&&mc(s,a,!1),r.__localeChainCache.set(o,s)}return s}function mc(e,t,n){let o=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Zm(){return{upper:(e,t)=>t==="text"&&de(e)?e.toUpperCase():t==="vnode"&&Re(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&de(e)?e.toLowerCase():t==="vnode"&&Re(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&de(e)?_c(e):t==="vnode"&&Re(e)&&"__v_isVNode"in e?_c(e.children):e}}let yc;function vc(e){yc=e}let wc;function Qm(e){wc=e}let xc;function eb(e){xc=e}let kc=null;const tb=e=>{kc=e},nb=()=>kc;let $c=null;const Sc=e=>{$c=e},ob=()=>$c;let Ec=0;function rb(e={}){const t=Ke(e.onWarn)?e.onWarn:Nh,n=de(e.version)?e.version:Jm,o=de(e.locale)||Ke(e.locale)?e.locale:ao,r=Ke(o)?ao:o,s=Ye(e.fallbackLocale)||Ee(e.fallbackLocale)||de(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Ee(e.messages)?e.messages:oa(r),i=Ee(e.datetimeFormats)?e.datetimeFormats:oa(r),l=Ee(e.numberFormats)?e.numberFormats:oa(r),c=ft(Be(),e.modifiers,Zm()),u=e.pluralRules||Be(),p=Ke(e.missing)?e.missing:null,b=Pe(e.missingWarn)||Sn(e.missingWarn)?e.missingWarn:!0,x=Pe(e.fallbackWarn)||Sn(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,y=!!e.unresolving,v=Ke(e.postTranslation)?e.postTranslation:null,C=Ee(e.processor)?e.processor:null,_=Pe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=Ke(e.messageCompiler)?e.messageCompiler:yc,g=Ke(e.messageResolver)?e.messageResolver:wc||Im,k=Ke(e.localeFallbacker)?e.localeFallbacker:xc||Km,$=Re(e.fallbackContext)?e.fallbackContext:void 0,I=e,S=Re(I.__datetimeFormatters)?I.__datetimeFormatters:new Map,O=Re(I.__numberFormatters)?I.__numberFormatters:new Map,H=Re(I.__meta)?I.__meta:{};Ec++;const Q={version:n,cid:Ec,locale:o,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:p,missingWarn:b,fallbackWarn:x,fallbackFormat:A,unresolving:y,postTranslation:v,processor:C,warnHtmlMessage:_,escapeParameter:d,messageCompiler:f,messageResolver:g,localeFallbacker:k,fallbackContext:$,onWarn:t,__meta:H};return Q.datetimeFormats=i,Q.numberFormats=l,Q.__datetimeFormatters=S,Q.__numberFormatters=O,__INTLIFY_PROD_DEVTOOLS__&&Gm(Q,n,H),Q}const oa=e=>({[e]:Be()});function ra(e,t,n,o,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,n,t,r);return de(i)?i:t}else return t}function Vo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function sb(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function ab(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oib(n,e)}function ib(e,t){const n=vm(t);if(n==null)throw Go(0);if(ea(n)===1){const s=wm(n);return e.plural(s.reduce((a,i)=>[...a,Ac(e,i)],[]))}else return Ac(e,n)}function Ac(e,t){const n=xm(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=km(t).reduce((r,s)=>[...r,aa(e,s)],[]);return e.normalize(o)}}function aa(e,t){const n=ea(t);switch(n){case 3:return Kr(t,n);case 9:return Kr(t,n);case 4:{const o=t;if(Dt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(Dt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Go(n)}case 5:{const o=t;if(Dt(o,"i")&&ot(o.i))return e.interpolate(e.list(o.i));if(Dt(o,"index")&&ot(o.index))return e.interpolate(e.list(o.index));throw Go(n)}case 6:{const o=t,r=$m(o),s=Sm(o);return e.linked(aa(e,s),r?aa(e,r):void 0,e.type)}case 7:return Kr(t,n);case 8:return Kr(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Cc=e=>e;let io=Be();function Tc(e,t={}){let n=!1;const o=t.onError||Yh;return t.onError=r=>{n=!0,o(r)},{..._m(e,t),detectError:n}}const lb=(e,t)=>{if(!de(e))throw en(zt.NOT_SUPPORT_NON_STRING_MESSAGE);{Pe(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Cc)(e),r=io[o];if(r)return r;const{code:s,detectError:a}=Tc(e,t),i=new Function(`return ${s}`)();return a?i:io[o]=i}};function cb(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&de(e)){Pe(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Cc)(e),r=io[o];if(r)return r;const{ast:s,detectError:a}=Tc(e,{...t,location:!1,jit:!0}),i=sa(s);return a?i:io[o]=i}else{const n=e.cacheKey;if(n){const o=io[n];return o||(io[n]=sa(e))}else return sa(e)}}const Lc=()=>"",Lt=e=>Ke(e);function Pc(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=ia(...t),u=Pe(c.missingWarn)?c.missingWarn:e.missingWarn,p=Pe(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=Pe(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,A=de(c.default)||Pe(c.default)?Pe(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",y=n||A!=="",v=ta(e,c);b&&ub(c);let[C,_,d]=x?[l,v,i[v]||Be()]:Ic(e,l,v,a,p,u),f=C,g=l;if(!x&&!(de(f)||Qt(f)||Lt(f))&&y&&(f=A,g=f),!x&&(!(de(f)||Qt(f)||Lt(f))||!de(_)))return r?Yr:l;let k=!1;const $=()=>{k=!0},I=Lt(f)?f:Nc(e,l,_,f,g,$);if(k)return f;const S=pb(e,_,d,c),O=Bm(S),H=db(e,I,O);let Q=o?o(H,l):H;if(b&&de(Q)&&(Q=Dh(Q)),__INTLIFY_PROD_DEVTOOLS__){const he={timestamp:Date.now(),key:de(l)?l:Lt(f)?f.key:"",locale:_||(Lt(f)?f.locale:""),format:de(f)?f:Lt(f)?f.source:"",message:Q};he.meta=ft({},e.__meta,nb()||{}),qm(he)}return Q}function ub(e){Ye(e.list)?e.list=e.list.map(t=>de(t)?Vl(t):t):Re(e.named)&&Object.keys(e.named).forEach(t=>{de(e.named[t])&&(e.named[t]=Vl(e.named[t]))})}function Ic(e,t,n,o,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let p=Be(),b,x=null;const A="translate";for(let y=0;yo;return c.locale=n,c.key=t,c}const l=a(o,fb(e,n,r,o,i,s));return l.locale=n,l.key=t,l.source=o,l}function db(e,t,n){return t(n)}function ia(...e){const[t,n,o]=e,r=Be();if(!de(t)&&!ot(t)&&!Lt(t)&&!Qt(t))throw en(zt.INVALID_ARGUMENT);const s=ot(t)?String(t):(Lt(t),t);return ot(n)?r.plural=n:de(n)?r.default=n:Ee(n)&&!Gr(n)?r.named=n:Ye(n)&&(r.list=n),ot(o)?r.plural=o:de(o)?r.default=o:Ee(o)&&ft(r,o),[s,r]}function fb(e,t,n,o,r,s){return{locale:t,key:n,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Mh(t,n,a)}}function pb(e,t,n,o){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,b={locale:t,modifiers:r,pluralRules:s,messages:x=>{let A=a(n,x);if(A==null&&u){const[,,y]=Ic(u,x,t,i,l,c);A=a(y,x)}if(de(A)||Qt(A)){let y=!1;const C=Nc(e,x,t,A,x,()=>{y=!0});return y?Lc:C}else return Lt(A)?A:Lc}};return e.processor&&(b.processor=e.processor),o.list&&(b.list=o.list),o.named&&(b.named=o.named),ot(o.plural)&&(b.pluralIndex=o.plural),b}function Mc(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=la(...t),b=Pe(u.missingWarn)?u.missingWarn:e.missingWarn;Pe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,A=ta(e,u),y=a(e,r,A);if(!de(l)||l==="")return new Intl.DateTimeFormat(A,p).format(c);let v={},C,_=null;const d="datetime format";for(let k=0;k{Fc.includes(l)?a[l]=n[l]:s[l]=n[l]}),de(o)?s.locale=o:Ee(o)&&(a=o),Ee(r)&&(a=r),[s.key||"",i,s,a]}function Rc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function Oc(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,p]=ca(...t),b=Pe(u.missingWarn)?u.missingWarn:e.missingWarn;Pe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,A=ta(e,u),y=a(e,r,A);if(!de(l)||l==="")return new Intl.NumberFormat(A,p).format(c);let v={},C,_=null;const d="number format";for(let k=0;k{Dc.includes(l)?a[l]=n[l]:s[l]=n[l]}),de(o)?s.locale=o:Ee(o)&&(a=o),Ee(r)&&(a=r),[s.key||"",i,s,a]}function jc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}ym();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const fb="9.14.5";function pb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(fn().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(fn().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(fn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(fn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1)}const gb=Vm.__EXTEND_POINT__,gn=qr(gb);gn(),gn(),gn(),gn(),gn(),gn(),gn(),gn(),gn();const zc=zt.__EXTEND_POINT__,kt=qr(zc),at={UNEXPECTED_RETURN_TYPE:zc,INVALID_ARGUMENT:kt(),MUST_BE_CALL_SETUP_TOP:kt(),NOT_INSTALLED:kt(),NOT_AVAILABLE_IN_LEGACY_MODE:kt(),REQUIRED_VALUE:kt(),INVALID_VALUE:kt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:kt(),NOT_INSTALLED_WITH_PROVIDE:kt(),UNEXPECTED_ERROR:kt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:kt(),BRIDGE_SUPPORT_VUE_2_ONLY:kt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:kt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:kt(),__EXTEND_POINT__:kt()};function lt(e,...t){return oo(e,null,void 0)}const ua=$n("__translateVNode"),da=$n("__datetimeParts"),fa=$n("__numberParts"),Bc=$n("__setPluralRules"),Uc=$n("__injectWithOption"),pa=$n("__dispose");function Ho(e){if(!De(e)||Qt(e))return e;for(const t in e)if(Dt(e,t))if(!t.includes("."))De(e[t])&&Ho(e[t]);else{const n=t.split("."),o=n.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||Ue(),Hr(c,a[l])):Hr(c,a)}else de(i)&&Hr(JSON.parse(i),a)}),r==null&&s)for(const i in a)Dt(a,i)&&Ho(a[i]);return a}function Gc(e){return e.type}function qc(e,t,n){let o=De(t.messages)?t.messages:Ue();"__i18nGlobal"in n&&(o=Xr(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const r=Object.keys(o);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(De(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(De(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Vc(e){return Pe(Mo,null,e,0)}const Hc="__INTLIFY_META__",Wc=()=>[],hb=()=>!1;let Kc=0;function Yc(e){return(t,n,o,r)=>e(n,o,un()||void 0,r)}const mb=()=>{const e=un();let t=null;return e&&(t=Gc(e)[Hc])?{[Hc]:t}:null};function ga(e={},t){const{__root:n,__injectWithOption:o}=e,r=n===void 0,s=e.flatJson,a=Ur?ue:So,i=!!e.translateExistCompatible;let l=Te(e.inheritLocale)?e.inheritLocale:!0;const c=a(n&&l?n.locale.value:de(e.locale)?e.locale:ao),u=a(n&&l?n.fallbackLocale.value:de(e.fallbackLocale)||Ke(e.fallbackLocale)||Ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=a(Xr(c.value,e)),b=a(Ae(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=a(Ae(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=n?n.missingWarn:Te(e.missingWarn)||Sn(e.missingWarn)?e.missingWarn:!0,y=n?n.fallbackWarn:Te(e.fallbackWarn)||Sn(e.fallbackWarn)?e.fallbackWarn:!0,v=n?n.fallbackRoot:Te(e.fallbackRoot)?e.fallbackRoot:!0,C=!!e.fallbackFormat,_=We(e.missing)?e.missing:null,d=We(e.missing)?Yc(e.missing):null,f=We(e.postTranslation)?e.postTranslation:null,g=n?n.warnHtmlMessage:Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const $=n?n.modifiers:Ae(e.modifiers)?e.modifiers:{};let I=e.pluralRules||n&&n.pluralRules,S;S=(()=>{r&&Sc(null);const O={version:fb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:$,pluralRules:I,missing:d===null?void 0:d,missingWarn:A,fallbackWarn:y,fallbackFormat:C,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:g,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=b.value,O.numberFormats=x.value,O.__datetimeFormatters=Ae(S)?S.__datetimeFormatters:void 0,O.__numberFormatters=Ae(S)?S.__numberFormatters:void 0;const L=nb(O);return r&&Sc(L),L})(),Vo(S,c.value,u.value);function V(){return[c.value,u.value,p.value,b.value,x.value]}const Z=re({get:()=>c.value,set:O=>{c.value=O,S.locale=c.value}}),he=re({get:()=>u.value,set:O=>{u.value=O,S.fallbackLocale=u.value,Vo(S,c.value,O)}}),z=re(()=>p.value),Y=re(()=>b.value),B=re(()=>x.value);function E(){return We(f)?f:null}function N(O){f=O,S.postTranslation=O}function X(){return _}function j(O){O!==null&&(d=Yc(O)),_=O,S.missing=d}const q=(O,L,J,ne,me,ve)=>{V();let Re;try{__INTLIFY_PROD_DEVTOOLS__,r||(S.fallbackContext=n?tb():void 0),Re=O(S)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(S.fallbackContext=void 0)}if(J!=="translate exists"&&ot(Re)&&Re===Yr||J==="translate exists"&&!Re){const[et,wt]=L();return n&&v?ne(n):me(et)}else{if(ve(Re))return Re;throw lt(at.UNEXPECTED_RETURN_TYPE)}};function W(...O){return q(L=>Reflect.apply(Pc,null,[L,...O]),()=>ia(...O),"translate",L=>Reflect.apply(L.t,L,[...O]),L=>L,L=>de(L))}function le(...O){const[L,J,ne]=O;if(ne&&!De(ne))throw lt(at.INVALID_ARGUMENT);return W(L,J,ft({resolvedMessage:!0},ne||{}))}function ge(...O){return q(L=>Reflect.apply(Mc,null,[L,...O]),()=>la(...O),"datetime format",L=>Reflect.apply(L.d,L,[...O]),()=>bc,L=>de(L))}function Se(...O){return q(L=>Reflect.apply(Oc,null,[L,...O]),()=>ca(...O),"number format",L=>Reflect.apply(L.n,L,[...O]),()=>bc,L=>de(L))}function Ie(O){return O.map(L=>de(L)||ot(L)||Te(L)?Vc(String(L)):L)}const Ge={normalize:Ie,interpolate:O=>O,type:"vnode"};function Je(...O){return q(L=>{let J;const ne=L;try{ne.processor=Ge,J=Reflect.apply(Pc,null,[ne,...O])}finally{ne.processor=null}return J},()=>ia(...O),"translate",L=>L[ua](...O),L=>[Vc(L)],L=>Ke(L))}function Fe(...O){return q(L=>Reflect.apply(Oc,null,[L,...O]),()=>ca(...O),"number format",L=>L[fa](...O),Wc,L=>de(L)||Ke(L))}function rt(...O){return q(L=>Reflect.apply(Mc,null,[L,...O]),()=>la(...O),"datetime format",L=>L[da](...O),Wc,L=>de(L)||Ke(L))}function w(O){I=O,S.pluralRules=I}function P(O,L){return q(()=>{if(!O)return!1;const J=de(L)?L:c.value,ne=H(J),me=S.messageResolver(ne,O);return i?me!=null:Qt(me)||Pt(me)||de(me)},()=>[O],"translate exists",J=>Reflect.apply(J.te,J,[O,L]),hb,J=>Te(J))}function T(O){let L=null;const J=hc(S,u.value,c.value);for(let ne=0;ne{l&&(c.value=O,S.locale=O,Vo(S,c.value,u.value))}),mt(n.fallbackLocale,O=>{l&&(u.value=O,S.fallbackLocale=O,Vo(S,c.value,u.value))}));const oe={id:Kc,locale:Z,fallbackLocale:he,get inheritLocale(){return l},set inheritLocale(O){l=O,O&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,Vo(S,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:z,get modifiers(){return $},get pluralRules(){return I||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(O){A=O,S.missingWarn=A},get fallbackWarn(){return y},set fallbackWarn(O){y=O,S.fallbackWarn=y},get fallbackRoot(){return v},set fallbackRoot(O){v=O},get fallbackFormat(){return C},set fallbackFormat(O){C=O,S.fallbackFormat=C},get warnHtmlMessage(){return g},set warnHtmlMessage(O){g=O,S.warnHtmlMessage=O},get escapeParameter(){return k},set escapeParameter(O){k=O,S.escapeParameter=O},t:W,getLocaleMessage:H,setLocaleMessage:Q,mergeLocaleMessage:ae,getPostTranslationHandler:E,setPostTranslationHandler:N,getMissingHandler:X,setMissingHandler:j,[Bc]:w};return oe.datetimeFormats=Y,oe.numberFormats=B,oe.rt=le,oe.te=P,oe.tm=U,oe.d=ge,oe.n=Se,oe.getDateTimeFormat=se,oe.setDateTimeFormat=h,oe.mergeDateTimeFormat=m,oe.getNumberFormat=D,oe.setNumberFormat=G,oe.mergeNumberFormat=ce,oe[Uc]=o,oe[ua]=Je,oe[da]=rt,oe[fa]=Fe,oe}function bb(e){const t=de(e.locale)?e.locale:ao,n=de(e.fallbackLocale)||Ke(e.fallbackLocale)||Ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=We(e.missing)?e.missing:void 0,r=Te(e.silentTranslationWarn)||Sn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Te(e.silentFallbackWarn)||Sn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Te(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ae(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=We(e.postTranslation)?e.postTranslation:void 0,p=de(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,b=!!e.escapeParameterHtml,x=Te(e.sync)?e.sync:!0;let A=e.messages;if(Ae(e.sharedMessages)){const k=e.sharedMessages;A=Object.keys(k).reduce((I,S)=>{const R=I[S]||(I[S]={});return ft(R,k[S]),I},A||{})}const{__i18n:y,__root:v,__injectWithOption:C}=e,_=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,g=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:A,flatJson:f,datetimeFormats:_,numberFormats:d,missing:o,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:g,__i18n:y,__root:v,__injectWithOption:C}}function ha(e={},t){{const n=ga(bb(e)),{__extender:o}=e,r={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return Te(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=Te(s)?!s:s},get silentFallbackWarn(){return Te(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=Te(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[a,i,l]=s,c={};let u=null,p=null;if(!de(a))throw lt(at.INVALID_ARGUMENT);const b=a;return de(i)?c.locale=i:Ke(i)?u=i:Ae(i)&&(p=i),Ke(l)?u=l:Ae(l)&&(p=l),Reflect.apply(n.t,n,[b,u||p||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,p=null;if(!de(a))throw lt(at.INVALID_ARGUMENT);const b=a;return de(i)?c.locale=i:ot(i)?c.plural=i:Ke(i)?u=i:Ae(i)&&(p=i),de(l)?c.locale=l:Ke(l)?u=l:Ae(l)&&(p=l),Reflect.apply(n.t,n,[b,u||p||{},c])},te(s,a){return n.te(s,a)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,a){n.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){n.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,a){n.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){n.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,a){n.setNumberFormat(s,a)},mergeNumberFormat(s,a){n.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=o,r}}const ma={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function _b({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,r)=>[...o,...r.type===Ce?r.children:[r]],[]):t.reduce((n,o)=>{const r=e[o];return r&&(n[o]=r()),n},Ue())}function Xc(e){return Ce}const Jc=Lo({name:"i18n-t",props:ft({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},ma),setup(e,t){const{slots:n,attrs:o}=t,r=e.i18n||lo({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(p=>p!=="_"),a=Ue();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=de(e.plural)?+e.plural:e.plural);const i=_b(t,s),l=r[ua](e.keypath,i,a),c=ft(Ue(),o),u=de(e.tag)||De(e.tag)?e.tag:Xc();return wl(u,c,l)}}});function yb(e){return Ke(e)&&!de(e[0])}function Zc(e,t,n,o){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=Ue();e.locale&&(a.locale=e.locale),de(e.format)?a.key=e.format:De(e.format)&&(de(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((b,x)=>n.includes(x)?ft(Ue(),b,{[x]:e.format[x]}):b,Ue()));const l=o(e.value,a,i);let c=[a.key];Ke(l)?c=l.map((b,x)=>{const A=r[b.type],y=A?A({[b.type]:b.value,index:x,parts:l}):[b.value];return yb(y)&&(y[0].key=`${b.type}-${x}`),y}):de(l)&&(c=[l]);const u=ft(Ue(),s),p=de(e.tag)||De(e.tag)?e.tag:Xc();return wl(p,u,c)}}const Qc=Lo({name:"i18n-n",props:ft({value:{type:Number,required:!0},format:{type:[String,Object]}},ma),setup(e,t){const n=e.i18n||lo({useScope:e.scope,__useComponent:!0});return Zc(e,t,Dc,(...o)=>n[fa](...o))}}),eu=Lo({name:"i18n-d",props:ft({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ma),setup(e,t){const n=e.i18n||lo({useScope:e.scope,__useComponent:!0});return Zc(e,t,Fc,(...o)=>n[da](...o))}});function vb(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function wb(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw lt(at.UNEXPECTED_ERROR);const u=vb(e,i.$),p=tu(c);return[Reflect.apply(u.t,u,[...nu(p)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Ur&&e.global===c&&(a.__i18nWatcher=mt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Ur&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=tu(i);a.textContent=Reflect.apply(l.t,l,[...nu(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function tu(e){if(de(e))return{path:e};if(Ae(e)){if(!("path"in e))throw lt(at.REQUIRED_VALUE,"path");return e}else throw lt(at.INVALID_VALUE)}function nu(e){const{path:t,locale:n,args:o,choice:r,plural:s}=e,a={},i=o||{};return de(n)&&(a.locale=n),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,i,a]}function xb(e,t,...n){const o=Ae(n[0])?n[0]:{},r=!!o.useI18nComponentName;(Te(o.globalInstall)?o.globalInstall:!0)&&([r?"i18n":Jc.name,"I18nT"].forEach(a=>e.component(a,Jc)),[Qc.name,"I18nN"].forEach(a=>e.component(a,Qc)),[eu.name,"I18nD"].forEach(a=>e.component(a,eu))),e.directive("t",wb(t))}function kb(e,t,n){return{beforeCreate(){const o=un();if(!o)throw lt(at.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=ou(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ha(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=ou(e,r);else{this.$i18n=ha({__i18n:r.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&qc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=un();if(!o)throw lt(at.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),n.__deleteInstance(o),delete this.$i18n}}}function ou(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Bc](t.pluralizationRules||e.pluralizationRules);const n=Xr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const $b=$n("global-vue-i18n");function Sb(e={},t){const n=__VUE_I18N_LEGACY_API__&&Te(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=Te(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[a,i]=Eb(e,n),l=$n("");function c(b){return s.get(b)||null}function u(b,x){s.set(b,x)}function p(b){s.delete(b)}{const b={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return r},async install(x,...A){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,b),Ae(A[0])){const C=A[0];b.__composerExtend=C.__composerExtend,b.__vueI18nExtend=C.__vueI18nExtend}let y=null;!n&&o&&(y=Fb(x,b.global)),__VUE_I18N_FULL_INSTALL__&&xb(x,b,...A),__VUE_I18N_LEGACY_API__&&n&&x.mixin(kb(i,i.__composer,b));const v=x.unmount;x.unmount=()=>{y&&y(),b.dispose(),v()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return b}}function lo(e={}){const t=un();if(t==null)throw lt(at.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(at.NOT_INSTALLED);const n=Ab(t),o=Tb(n),r=Gc(t),s=Cb(e,r);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw lt(at.NOT_AVAILABLE_IN_LEGACY_MODE);return Nb(t,s,o,e)}if(s==="global")return qc(o,e,r),o;if(s==="parent"){let l=Lb(n,t,e.__useComponent);return l==null&&(l=o),l}const a=n;let i=a.__getInstance(t);if(i==null){const l=ft({},e);"__i18n"in r&&(l.__i18n=r.__i18n),o&&(l.__root=o),i=ga(l),a.__composerExtend&&(i[pa]=a.__composerExtend(i)),Ib(a,t,i),a.__setInstance(t,i)}return i}function Eb(e,t,n){const o=ds();{const r=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ha(e)):o.run(()=>ga(e));if(r==null)throw lt(at.UNEXPECTED_ERROR);return[o,r]}}function Ab(e){{const t=Ee(e.isCE?$b:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?at.NOT_INSTALLED_WITH_PROVIDE:at.UNEXPECTED_ERROR);return t}}function Cb(e,t){return Gr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Tb(e){return e.mode==="composition"?e.global:e.global.__composer}function Lb(e,t,n=!1){let o=null;const r=t.root;let s=Pb(t,n);for(;s!=null;){const a=e;if(e.mode==="composition")o=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(o=i.__composer,n&&o&&!o[Uc]&&(o=null))}if(o!=null||r===s)break;s=s.parent}return o}function Pb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Ib(e,t,n){xt(()=>{},t),Cr(()=>{const o=n;e.__deleteInstance(t);const r=o[pa];r&&(r(),delete o[pa])},t)}function Nb(e,t,n,o={}){const r=t==="local",s=So(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(at.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Te(o.inheritLocale)?o.inheritLocale:!de(o.locale),i=ue(!r||a?n.locale.value:de(o.locale)?o.locale:ao),l=ue(!r||a?n.fallbackLocale.value:de(o.fallbackLocale)||Ke(o.fallbackLocale)||Ae(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:i.value),c=ue(Xr(i.value,o)),u=ue(Ae(o.datetimeFormats)?o.datetimeFormats:{[i.value]:{}}),p=ue(Ae(o.numberFormats)?o.numberFormats:{[i.value]:{}}),b=r?n.missingWarn:Te(o.missingWarn)||Sn(o.missingWarn)?o.missingWarn:!0,x=r?n.fallbackWarn:Te(o.fallbackWarn)||Sn(o.fallbackWarn)?o.fallbackWarn:!0,A=r?n.fallbackRoot:Te(o.fallbackRoot)?o.fallbackRoot:!0,y=!!o.fallbackFormat,v=We(o.missing)?o.missing:null,C=We(o.postTranslation)?o.postTranslation:null,_=r?n.warnHtmlMessage:Te(o.warnHtmlMessage)?o.warnHtmlMessage:!0,d=!!o.escapeParameter,f=r?n.modifiers:Ae(o.modifiers)?o.modifiers:{},g=o.pluralRules||r&&n.pluralRules;function k(){return[i.value,l.value,c.value,u.value,p.value]}const $=re({get:()=>s.value?s.value.locale.value:i.value,set:T=>{s.value&&(s.value.locale.value=T),i.value=T}}),I=re({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:T=>{s.value&&(s.value.fallbackLocale.value=T),l.value=T}}),S=re(()=>s.value?s.value.messages.value:c.value),R=re(()=>u.value),V=re(()=>p.value);function Z(){return s.value?s.value.getPostTranslationHandler():C}function he(T){s.value&&s.value.setPostTranslationHandler(T)}function z(){return s.value?s.value.getMissingHandler():v}function Y(T){s.value&&s.value.setMissingHandler(T)}function B(T){return k(),T()}function E(...T){return s.value?B(()=>Reflect.apply(s.value.t,null,[...T])):B(()=>"")}function N(...T){return s.value?Reflect.apply(s.value.rt,null,[...T]):""}function X(...T){return s.value?B(()=>Reflect.apply(s.value.d,null,[...T])):B(()=>"")}function j(...T){return s.value?B(()=>Reflect.apply(s.value.n,null,[...T])):B(()=>"")}function q(T){return s.value?s.value.tm(T):{}}function W(T,U){return s.value?s.value.te(T,U):!1}function le(T){return s.value?s.value.getLocaleMessage(T):{}}function ge(T,U){s.value&&(s.value.setLocaleMessage(T,U),c.value[T]=U)}function Se(T,U){s.value&&s.value.mergeLocaleMessage(T,U)}function Ie(T){return s.value?s.value.getDateTimeFormat(T):{}}function be(T,U){s.value&&(s.value.setDateTimeFormat(T,U),u.value[T]=U)}function Ge(T,U){s.value&&s.value.mergeDateTimeFormat(T,U)}function Je(T){return s.value?s.value.getNumberFormat(T):{}}function Fe(T,U){s.value&&(s.value.setNumberFormat(T,U),p.value[T]=U)}function rt(T,U){s.value&&s.value.mergeNumberFormat(T,U)}const w={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:I,messages:S,datetimeFormats:R,numberFormats:V,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(T){s.value&&(s.value.inheritLocale=T)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:g},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:b},set missingWarn(T){s.value&&(s.value.missingWarn=T)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(T){s.value&&(s.value.missingWarn=T)},get fallbackRoot(){return s.value?s.value.fallbackRoot:A},set fallbackRoot(T){s.value&&(s.value.fallbackRoot=T)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(T){s.value&&(s.value.fallbackFormat=T)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:_},set warnHtmlMessage(T){s.value&&(s.value.warnHtmlMessage=T)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(T){s.value&&(s.value.escapeParameter=T)},t:E,getPostTranslationHandler:Z,setPostTranslationHandler:he,getMissingHandler:z,setMissingHandler:Y,rt:N,d:X,n:j,tm:q,te:W,getLocaleMessage:le,setLocaleMessage:ge,mergeLocaleMessage:Se,getDateTimeFormat:Ie,setDateTimeFormat:be,mergeDateTimeFormat:Ge,getNumberFormat:Je,setNumberFormat:Fe,mergeNumberFormat:rt};function P(T){T.locale.value=i.value,T.fallbackLocale.value=l.value,Object.keys(c.value).forEach(U=>{T.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{T.mergeDateTimeFormat(U,u.value[U])}),Object.keys(p.value).forEach(U=>{T.mergeNumberFormat(U,p.value[U])}),T.escapeParameter=d,T.fallbackFormat=y,T.fallbackRoot=A,T.fallbackWarn=x,T.missingWarn=b,T.warnHtmlMessage=_}return Di(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(at.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const T=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=T.locale.value,l.value=T.fallbackLocale.value,c.value=T.messages.value,u.value=T.datetimeFormats.value,p.value=T.numberFormats.value):r&&P(T)}),w}const Mb=["locale","fallbackLocale","availableLocales"],ru=["t","rt","d","n","tm","te"];function Fb(e,t){const n=Object.create(null);return Mb.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(at.UNEXPECTED_ERROR);const a=Xe(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,r,a)}),e.config.globalProperties.$i18n=n,ru.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(at.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,ru.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(pb(),__INTLIFY_JIT_COMPILATION__?vc(ib):vc(ab),Jm(Pm),Zm(hc),__INTLIFY_PROD_DEVTOOLS__){const e=fn();e.__INTLIFY__=!0,zm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Rb=Object.assign({"./locales/ar/aria.json":Up,"./locales/ar/buttons.json":Gp,"./locales/ar/detail.json":qp,"./locales/ar/legend.json":Vp,"./locales/ar/messages.json":Hp,"./locales/ar/options.json":Wp,"./locales/ar/prayerLaps.json":Kp,"./locales/ar/search.json":Yp,"./locales/ar/tabs.json":Xp,"./locales/de/aria.json":Jp,"./locales/de/buttons.json":Zp,"./locales/de/detail.json":Qp,"./locales/de/legend.json":eg,"./locales/de/messages.json":tg,"./locales/de/options.json":ng,"./locales/de/prayerLaps.json":og,"./locales/de/search.json":rg,"./locales/de/tabs.json":sg,"./locales/en/aria.json":ag,"./locales/en/buttons.json":ig,"./locales/en/detail.json":lg,"./locales/en/legend.json":cg,"./locales/en/messages.json":ug,"./locales/en/options.json":dg,"./locales/en/popup.json":fg,"./locales/en/prayerLaps.json":pg,"./locales/en/search.json":gg,"./locales/en/tabs.json":hg,"./locales/es/aria.json":mg,"./locales/es/buttons.json":bg,"./locales/es/detail.json":_g,"./locales/es/legend.json":yg,"./locales/es/messages.json":vg,"./locales/es/options.json":wg,"./locales/es/prayerLaps.json":xg,"./locales/es/search.json":kg,"./locales/es/tabs.json":$g,"./locales/fr/aria.json":Sg,"./locales/fr/buttons.json":Eg,"./locales/fr/detail.json":Ag,"./locales/fr/legend.json":Cg,"./locales/fr/messages.json":Tg,"./locales/fr/options.json":Lg,"./locales/fr/popup.json":Pg,"./locales/fr/prayerLaps.json":Ig,"./locales/fr/search.json":Ng,"./locales/fr/tabs.json":Mg,"./locales/hi/aria.json":Fg,"./locales/hi/buttons.json":Rg,"./locales/hi/detail.json":Og,"./locales/hi/legend.json":Dg,"./locales/hi/messages.json":jg,"./locales/hi/options.json":zg,"./locales/hi/prayerLaps.json":Bg,"./locales/hi/search.json":Ug,"./locales/it/aria.json":Gg,"./locales/it/buttons.json":qg,"./locales/it/detail.json":Vg,"./locales/it/legend.json":Hg,"./locales/it/messages.json":Wg,"./locales/it/options.json":Kg,"./locales/it/prayerLaps.json":Yg,"./locales/it/search.json":Xg,"./locales/pt/aria.json":Jg,"./locales/pt/buttons.json":Zg,"./locales/pt/detail.json":Qg,"./locales/pt/legend.json":eh,"./locales/pt/messages.json":th,"./locales/pt/options.json":nh,"./locales/pt/prayerLaps.json":oh,"./locales/pt/search.json":rh,"./locales/pt/tabs.json":sh,"./locales/ro/aria.json":ah,"./locales/ro/buttons.json":ih,"./locales/ro/detail.json":lh,"./locales/ro/legend.json":ch,"./locales/ro/messages.json":uh,"./locales/ro/options.json":dh,"./locales/ro/prayerLaps.json":fh,"./locales/ro/search.json":ph,"./locales/ru/aria.json":gh,"./locales/ru/buttons.json":hh,"./locales/ru/detail.json":mh,"./locales/ru/legend.json":bh,"./locales/ru/messages.json":_h,"./locales/ru/options.json":yh,"./locales/ru/prayerLaps.json":vh,"./locales/ru/search.json":wh,"./locales/ru/tabs.json":xh,"./locales/zh/aria.json":kh,"./locales/zh/buttons.json":$h,"./locales/zh/detail.json":Sh,"./locales/zh/legend.json":Eh,"./locales/zh/messages.json":Ah,"./locales/zh/options.json":Ch,"./locales/zh/prayerLaps.json":Th,"./locales/zh/search.json":Lh}),Wo={};for(const[e,t]of Object.entries(Rb)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,r]=n;Wo[o]??(Wo[o]={}),Wo[o][r]=t}const su=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Ob(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return su.includes(t)?t:"en"}function Db(){return Sb({legacy:!1,globalInjection:!0,locale:Ob(),fallbackLocale:"en",messages:Wo,missingWarn:!1,fallbackWarn:!1})}function Tt(e,t){const n=t||jb(e);xt(()=>{var i;const o=un();if(!o)return;const r=(i=o.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",n),a.textContent=e,s.appendChild(a)})}function jb(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),r=re(()=>{var v;return((v=n==null?void 0:n.value)==null?void 0:v.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),s=ue(!1),a=ue(null);let i=null,l=null,c=null,u=null,p=null;function b(){s.value=!1}function x(v,C){var d;let _=v==null?void 0:v.parentElement;for(let f=0;_&&f<12;f++,_=_.parentElement){if(_===C||(d=_.classList)!=null&&d.contains("profile-loader"))return null;let g="";try{g=getComputedStyle(_).position}catch{}if(g&&g!=="static"){const k=_.getBoundingClientRect();if(k.height>=120&&k.width>=160)return _}}return null}function A(){const v=a.value;if(v)try{v.style.removeProperty("--pin-hint-lift");const C=v.getBoundingClientRect();if(!C.height)return;const _=Math.round(C.bottom-window.innerHeight);_>0&&v.style.setProperty("--pin-hint-lift",_+8+"px")}catch{}}function y(v){const C=a.value;if(!C||!(v!=null&&v.querySelector))return;let _=0;try{const f=v.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const g=f.getBoundingClientRect(),k=C.parentElement,$=k?k.getBoundingClientRect():null;if(_=$?Math.max(g.height||0,$.bottom-g.top):g.height||0,p!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=f,c=new ResizeObserver(()=>y(v)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(_)||20,20),72);C.style.setProperty("--pin-hint-attrib-clear",d+"px"),A()}return xt(()=>{var d,f,g;const v=un(),C=(g=(f=(d=v==null?void 0:v.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:g.call(f);if(!C||typeof C.querySelector!="function")return;let _=0;i=setInterval(()=>{_++;const k=C.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Mn(()=>{const $=x(k,C),I=a.value;if($&&I&&I.parentElement!==$)try{$.appendChild(I),l=$}catch{}y(C),A();try{const S=a.value&&a.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>A()),u.observe(S)}}catch{}})):_>40&&(clearInterval(i),i=null)},300)}),Ot(()=>{var v;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((v=a.value)==null?void 0:v.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Tt(` + */const gb="9.14.5";function hb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(fn().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(fn().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(fn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(fn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1)}const mb=Wm.__EXTEND_POINT__,gn=qr(mb);gn(),gn(),gn(),gn(),gn(),gn(),gn(),gn(),gn();const zc=zt.__EXTEND_POINT__,kt=qr(zc),at={UNEXPECTED_RETURN_TYPE:zc,INVALID_ARGUMENT:kt(),MUST_BE_CALL_SETUP_TOP:kt(),NOT_INSTALLED:kt(),NOT_AVAILABLE_IN_LEGACY_MODE:kt(),REQUIRED_VALUE:kt(),INVALID_VALUE:kt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:kt(),NOT_INSTALLED_WITH_PROVIDE:kt(),UNEXPECTED_ERROR:kt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:kt(),BRIDGE_SUPPORT_VUE_2_ONLY:kt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:kt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:kt(),__EXTEND_POINT__:kt()};function lt(e,...t){return oo(e,null,void 0)}const ua=$n("__translateVNode"),da=$n("__datetimeParts"),fa=$n("__numberParts"),Bc=$n("__setPluralRules"),Uc=$n("__injectWithOption"),pa=$n("__dispose");function Ho(e){if(!Re(e)||Qt(e))return e;for(const t in e)if(Dt(e,t))if(!t.includes("."))Re(e[t])&&Ho(e[t]);else{const n=t.split("."),o=n.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||Be(),Hr(c,a[l])):Hr(c,a)}else de(i)&&Hr(JSON.parse(i),a)}),r==null&&s)for(const i in a)Dt(a,i)&&Ho(a[i]);return a}function Gc(e){return e.type}function qc(e,t,n){let o=Re(t.messages)?t.messages:Be();"__i18nGlobal"in n&&(o=Xr(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const r=Object.keys(o);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(Re(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(Re(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Vc(e){return Ie(Mo,null,e,0)}const Hc="__INTLIFY_META__",Wc=()=>[],bb=()=>!1;let Kc=0;function Yc(e){return(t,n,o,r)=>e(n,o,un()||void 0,r)}const _b=()=>{const e=un();let t=null;return e&&(t=Gc(e)[Hc])?{[Hc]:t}:null};function ga(e={},t){const{__root:n,__injectWithOption:o}=e,r=n===void 0,s=e.flatJson,a=Ur?ue:So,i=!!e.translateExistCompatible;let l=Pe(e.inheritLocale)?e.inheritLocale:!0;const c=a(n&&l?n.locale.value:de(e.locale)?e.locale:ao),u=a(n&&l?n.fallbackLocale.value:de(e.fallbackLocale)||Ye(e.fallbackLocale)||Ee(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=a(Xr(c.value,e)),b=a(Ee(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=a(Ee(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=n?n.missingWarn:Pe(e.missingWarn)||Sn(e.missingWarn)?e.missingWarn:!0,y=n?n.fallbackWarn:Pe(e.fallbackWarn)||Sn(e.fallbackWarn)?e.fallbackWarn:!0,v=n?n.fallbackRoot:Pe(e.fallbackRoot)?e.fallbackRoot:!0,C=!!e.fallbackFormat,_=Ke(e.missing)?e.missing:null,d=Ke(e.missing)?Yc(e.missing):null,f=Ke(e.postTranslation)?e.postTranslation:null,g=n?n.warnHtmlMessage:Pe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const $=n?n.modifiers:Ee(e.modifiers)?e.modifiers:{};let I=e.pluralRules||n&&n.pluralRules,S;S=(()=>{r&&Sc(null);const R={version:gb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:$,pluralRules:I,missing:d===null?void 0:d,missingWarn:A,fallbackWarn:y,fallbackFormat:C,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:g,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};R.datetimeFormats=b.value,R.numberFormats=x.value,R.__datetimeFormatters=Ee(S)?S.__datetimeFormatters:void 0,R.__numberFormatters=Ee(S)?S.__numberFormatters:void 0;const L=rb(R);return r&&Sc(L),L})(),Vo(S,c.value,u.value);function H(){return[c.value,u.value,p.value,b.value,x.value]}const Q=oe({get:()=>c.value,set:R=>{c.value=R,S.locale=c.value}}),he=oe({get:()=>u.value,set:R=>{u.value=R,S.fallbackLocale=u.value,Vo(S,c.value,R)}}),z=oe(()=>p.value),Y=oe(()=>b.value),B=oe(()=>x.value);function E(){return Ke(f)?f:null}function N(R){f=R,S.postTranslation=R}function J(){return _}function j(R){R!==null&&(d=Yc(R)),_=R,S.missing=d}const G=(R,L,X,te,me,ve)=>{H();let Ge;try{__INTLIFY_PROD_DEVTOOLS__,r||(S.fallbackContext=n?ob():void 0),Ge=R(S)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(S.fallbackContext=void 0)}if(X!=="translate exists"&&ot(Ge)&&Ge===Yr||X==="translate exists"&&!Ge){const[Ve,wt]=L();return n&&v?te(n):me(Ve)}else{if(ve(Ge))return Ge;throw lt(at.UNEXPECTED_RETURN_TYPE)}};function K(...R){return G(L=>Reflect.apply(Pc,null,[L,...R]),()=>ia(...R),"translate",L=>Reflect.apply(L.t,L,[...R]),L=>L,L=>de(L))}function ce(...R){const[L,X,te]=R;if(te&&!Re(te))throw lt(at.INVALID_ARGUMENT);return K(L,X,ft({resolvedMessage:!0},te||{}))}function ge(...R){return G(L=>Reflect.apply(Mc,null,[L,...R]),()=>la(...R),"datetime format",L=>Reflect.apply(L.d,L,[...R]),()=>bc,L=>de(L))}function Ae(...R){return G(L=>Reflect.apply(Oc,null,[L,...R]),()=>ca(...R),"number format",L=>Reflect.apply(L.n,L,[...R]),()=>bc,L=>de(L))}function Ne(R){return R.map(L=>de(L)||ot(L)||Pe(L)?Vc(String(L)):L)}const Ue={normalize:Ne,interpolate:R=>R,type:"vnode"};function Ze(...R){return G(L=>{let X;const te=L;try{te.processor=Ue,X=Reflect.apply(Pc,null,[te,...R])}finally{te.processor=null}return X},()=>ia(...R),"translate",L=>L[ua](...R),L=>[Vc(L)],L=>Ye(L))}function Oe(...R){return G(L=>Reflect.apply(Oc,null,[L,...R]),()=>ca(...R),"number format",L=>L[fa](...R),Wc,L=>de(L)||Ye(L))}function rt(...R){return G(L=>Reflect.apply(Mc,null,[L,...R]),()=>la(...R),"datetime format",L=>L[da](...R),Wc,L=>de(L)||Ye(L))}function w(R){I=R,S.pluralRules=I}function P(R,L){return G(()=>{if(!R)return!1;const X=de(L)?L:c.value,te=W(X),me=S.messageResolver(te,R);return i?me!=null:Qt(me)||Lt(me)||de(me)},()=>[R],"translate exists",X=>Reflect.apply(X.te,X,[R,L]),bb,X=>Pe(X))}function T(R){let L=null;const X=hc(S,u.value,c.value);for(let te=0;te{l&&(c.value=R,S.locale=R,Vo(S,c.value,u.value))}),mt(n.fallbackLocale,R=>{l&&(u.value=R,S.fallbackLocale=R,Vo(S,c.value,u.value))}));const se={id:Kc,locale:Q,fallbackLocale:he,get inheritLocale(){return l},set inheritLocale(R){l=R,R&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,Vo(S,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:z,get modifiers(){return $},get pluralRules(){return I||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(R){A=R,S.missingWarn=A},get fallbackWarn(){return y},set fallbackWarn(R){y=R,S.fallbackWarn=y},get fallbackRoot(){return v},set fallbackRoot(R){v=R},get fallbackFormat(){return C},set fallbackFormat(R){C=R,S.fallbackFormat=C},get warnHtmlMessage(){return g},set warnHtmlMessage(R){g=R,S.warnHtmlMessage=R},get escapeParameter(){return k},set escapeParameter(R){k=R,S.escapeParameter=R},t:K,getLocaleMessage:W,setLocaleMessage:Z,mergeLocaleMessage:ie,getPostTranslationHandler:E,setPostTranslationHandler:N,getMissingHandler:J,setMissingHandler:j,[Bc]:w};return se.datetimeFormats=Y,se.numberFormats=B,se.rt=ce,se.te=P,se.tm=U,se.d=ge,se.n=Ae,se.getDateTimeFormat=re,se.setDateTimeFormat=h,se.mergeDateTimeFormat=m,se.getNumberFormat=D,se.setNumberFormat=q,se.mergeNumberFormat=le,se[Uc]=o,se[ua]=Ze,se[da]=rt,se[fa]=Oe,se}function yb(e){const t=de(e.locale)?e.locale:ao,n=de(e.fallbackLocale)||Ye(e.fallbackLocale)||Ee(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=Ke(e.missing)?e.missing:void 0,r=Pe(e.silentTranslationWarn)||Sn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Pe(e.silentFallbackWarn)||Sn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Pe(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ee(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ke(e.postTranslation)?e.postTranslation:void 0,p=de(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,b=!!e.escapeParameterHtml,x=Pe(e.sync)?e.sync:!0;let A=e.messages;if(Ee(e.sharedMessages)){const k=e.sharedMessages;A=Object.keys(k).reduce((I,S)=>{const O=I[S]||(I[S]={});return ft(O,k[S]),I},A||{})}const{__i18n:y,__root:v,__injectWithOption:C}=e,_=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,g=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:A,flatJson:f,datetimeFormats:_,numberFormats:d,missing:o,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:g,__i18n:y,__root:v,__injectWithOption:C}}function ha(e={},t){{const n=ga(yb(e)),{__extender:o}=e,r={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return Pe(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=Pe(s)?!s:s},get silentFallbackWarn(){return Pe(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=Pe(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[a,i,l]=s,c={};let u=null,p=null;if(!de(a))throw lt(at.INVALID_ARGUMENT);const b=a;return de(i)?c.locale=i:Ye(i)?u=i:Ee(i)&&(p=i),Ye(l)?u=l:Ee(l)&&(p=l),Reflect.apply(n.t,n,[b,u||p||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,p=null;if(!de(a))throw lt(at.INVALID_ARGUMENT);const b=a;return de(i)?c.locale=i:ot(i)?c.plural=i:Ye(i)?u=i:Ee(i)&&(p=i),de(l)?c.locale=l:Ye(l)?u=l:Ee(l)&&(p=l),Reflect.apply(n.t,n,[b,u||p||{},c])},te(s,a){return n.te(s,a)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,a){n.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){n.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,a){n.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){n.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,a){n.setNumberFormat(s,a)},mergeNumberFormat(s,a){n.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=o,r}}const ma={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function vb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,r)=>[...o,...r.type===Ce?r.children:[r]],[]):t.reduce((n,o)=>{const r=e[o];return r&&(n[o]=r()),n},Be())}function Xc(e){return Ce}const Jc=Lo({name:"i18n-t",props:ft({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},ma),setup(e,t){const{slots:n,attrs:o}=t,r=e.i18n||lo({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(p=>p!=="_"),a=Be();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=de(e.plural)?+e.plural:e.plural);const i=vb(t,s),l=r[ua](e.keypath,i,a),c=ft(Be(),o),u=de(e.tag)||Re(e.tag)?e.tag:Xc();return wl(u,c,l)}}});function wb(e){return Ye(e)&&!de(e[0])}function Zc(e,t,n,o){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=Be();e.locale&&(a.locale=e.locale),de(e.format)?a.key=e.format:Re(e.format)&&(de(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((b,x)=>n.includes(x)?ft(Be(),b,{[x]:e.format[x]}):b,Be()));const l=o(e.value,a,i);let c=[a.key];Ye(l)?c=l.map((b,x)=>{const A=r[b.type],y=A?A({[b.type]:b.value,index:x,parts:l}):[b.value];return wb(y)&&(y[0].key=`${b.type}-${x}`),y}):de(l)&&(c=[l]);const u=ft(Be(),s),p=de(e.tag)||Re(e.tag)?e.tag:Xc();return wl(p,u,c)}}const Qc=Lo({name:"i18n-n",props:ft({value:{type:Number,required:!0},format:{type:[String,Object]}},ma),setup(e,t){const n=e.i18n||lo({useScope:e.scope,__useComponent:!0});return Zc(e,t,Dc,(...o)=>n[fa](...o))}}),eu=Lo({name:"i18n-d",props:ft({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ma),setup(e,t){const n=e.i18n||lo({useScope:e.scope,__useComponent:!0});return Zc(e,t,Fc,(...o)=>n[da](...o))}});function xb(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function kb(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw lt(at.UNEXPECTED_ERROR);const u=xb(e,i.$),p=tu(c);return[Reflect.apply(u.t,u,[...nu(p)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Ur&&e.global===c&&(a.__i18nWatcher=mt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Ur&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=tu(i);a.textContent=Reflect.apply(l.t,l,[...nu(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function tu(e){if(de(e))return{path:e};if(Ee(e)){if(!("path"in e))throw lt(at.REQUIRED_VALUE,"path");return e}else throw lt(at.INVALID_VALUE)}function nu(e){const{path:t,locale:n,args:o,choice:r,plural:s}=e,a={},i=o||{};return de(n)&&(a.locale=n),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,i,a]}function $b(e,t,...n){const o=Ee(n[0])?n[0]:{},r=!!o.useI18nComponentName;(Pe(o.globalInstall)?o.globalInstall:!0)&&([r?"i18n":Jc.name,"I18nT"].forEach(a=>e.component(a,Jc)),[Qc.name,"I18nN"].forEach(a=>e.component(a,Qc)),[eu.name,"I18nD"].forEach(a=>e.component(a,eu))),e.directive("t",kb(t))}function Sb(e,t,n){return{beforeCreate(){const o=un();if(!o)throw lt(at.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=ou(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ha(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=ou(e,r);else{this.$i18n=ha({__i18n:r.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&qc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=un();if(!o)throw lt(at.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),n.__deleteInstance(o),delete this.$i18n}}}function ou(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Bc](t.pluralizationRules||e.pluralizationRules);const n=Xr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const Eb=$n("global-vue-i18n");function Ab(e={},t){const n=__VUE_I18N_LEGACY_API__&&Pe(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=Pe(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[a,i]=Cb(e,n),l=$n("");function c(b){return s.get(b)||null}function u(b,x){s.set(b,x)}function p(b){s.delete(b)}{const b={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return r},async install(x,...A){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,b),Ee(A[0])){const C=A[0];b.__composerExtend=C.__composerExtend,b.__vueI18nExtend=C.__vueI18nExtend}let y=null;!n&&o&&(y=Ob(x,b.global)),__VUE_I18N_FULL_INSTALL__&&$b(x,b,...A),__VUE_I18N_LEGACY_API__&&n&&x.mixin(Sb(i,i.__composer,b));const v=x.unmount;x.unmount=()=>{y&&y(),b.dispose(),v()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return b}}function lo(e={}){const t=un();if(t==null)throw lt(at.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(at.NOT_INSTALLED);const n=Tb(t),o=Pb(n),r=Gc(t),s=Lb(e,r);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw lt(at.NOT_AVAILABLE_IN_LEGACY_MODE);return Fb(t,s,o,e)}if(s==="global")return qc(o,e,r),o;if(s==="parent"){let l=Ib(n,t,e.__useComponent);return l==null&&(l=o),l}const a=n;let i=a.__getInstance(t);if(i==null){const l=ft({},e);"__i18n"in r&&(l.__i18n=r.__i18n),o&&(l.__root=o),i=ga(l),a.__composerExtend&&(i[pa]=a.__composerExtend(i)),Mb(a,t,i),a.__setInstance(t,i)}return i}function Cb(e,t,n){const o=ds();{const r=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ha(e)):o.run(()=>ga(e));if(r==null)throw lt(at.UNEXPECTED_ERROR);return[o,r]}}function Tb(e){{const t=Se(e.isCE?Eb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?at.NOT_INSTALLED_WITH_PROVIDE:at.UNEXPECTED_ERROR);return t}}function Lb(e,t){return Gr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Pb(e){return e.mode==="composition"?e.global:e.global.__composer}function Ib(e,t,n=!1){let o=null;const r=t.root;let s=Nb(t,n);for(;s!=null;){const a=e;if(e.mode==="composition")o=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(o=i.__composer,n&&o&&!o[Uc]&&(o=null))}if(o!=null||r===s)break;s=s.parent}return o}function Nb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Mb(e,t,n){xt(()=>{},t),Cr(()=>{const o=n;e.__deleteInstance(t);const r=o[pa];r&&(r(),delete o[pa])},t)}function Fb(e,t,n,o={}){const r=t==="local",s=So(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(at.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Pe(o.inheritLocale)?o.inheritLocale:!de(o.locale),i=ue(!r||a?n.locale.value:de(o.locale)?o.locale:ao),l=ue(!r||a?n.fallbackLocale.value:de(o.fallbackLocale)||Ye(o.fallbackLocale)||Ee(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:i.value),c=ue(Xr(i.value,o)),u=ue(Ee(o.datetimeFormats)?o.datetimeFormats:{[i.value]:{}}),p=ue(Ee(o.numberFormats)?o.numberFormats:{[i.value]:{}}),b=r?n.missingWarn:Pe(o.missingWarn)||Sn(o.missingWarn)?o.missingWarn:!0,x=r?n.fallbackWarn:Pe(o.fallbackWarn)||Sn(o.fallbackWarn)?o.fallbackWarn:!0,A=r?n.fallbackRoot:Pe(o.fallbackRoot)?o.fallbackRoot:!0,y=!!o.fallbackFormat,v=Ke(o.missing)?o.missing:null,C=Ke(o.postTranslation)?o.postTranslation:null,_=r?n.warnHtmlMessage:Pe(o.warnHtmlMessage)?o.warnHtmlMessage:!0,d=!!o.escapeParameter,f=r?n.modifiers:Ee(o.modifiers)?o.modifiers:{},g=o.pluralRules||r&&n.pluralRules;function k(){return[i.value,l.value,c.value,u.value,p.value]}const $=oe({get:()=>s.value?s.value.locale.value:i.value,set:T=>{s.value&&(s.value.locale.value=T),i.value=T}}),I=oe({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:T=>{s.value&&(s.value.fallbackLocale.value=T),l.value=T}}),S=oe(()=>s.value?s.value.messages.value:c.value),O=oe(()=>u.value),H=oe(()=>p.value);function Q(){return s.value?s.value.getPostTranslationHandler():C}function he(T){s.value&&s.value.setPostTranslationHandler(T)}function z(){return s.value?s.value.getMissingHandler():v}function Y(T){s.value&&s.value.setMissingHandler(T)}function B(T){return k(),T()}function E(...T){return s.value?B(()=>Reflect.apply(s.value.t,null,[...T])):B(()=>"")}function N(...T){return s.value?Reflect.apply(s.value.rt,null,[...T]):""}function J(...T){return s.value?B(()=>Reflect.apply(s.value.d,null,[...T])):B(()=>"")}function j(...T){return s.value?B(()=>Reflect.apply(s.value.n,null,[...T])):B(()=>"")}function G(T){return s.value?s.value.tm(T):{}}function K(T,U){return s.value?s.value.te(T,U):!1}function ce(T){return s.value?s.value.getLocaleMessage(T):{}}function ge(T,U){s.value&&(s.value.setLocaleMessage(T,U),c.value[T]=U)}function Ae(T,U){s.value&&s.value.mergeLocaleMessage(T,U)}function Ne(T){return s.value?s.value.getDateTimeFormat(T):{}}function _e(T,U){s.value&&(s.value.setDateTimeFormat(T,U),u.value[T]=U)}function Ue(T,U){s.value&&s.value.mergeDateTimeFormat(T,U)}function Ze(T){return s.value?s.value.getNumberFormat(T):{}}function Oe(T,U){s.value&&(s.value.setNumberFormat(T,U),p.value[T]=U)}function rt(T,U){s.value&&s.value.mergeNumberFormat(T,U)}const w={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:I,messages:S,datetimeFormats:O,numberFormats:H,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(T){s.value&&(s.value.inheritLocale=T)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:g},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:b},set missingWarn(T){s.value&&(s.value.missingWarn=T)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(T){s.value&&(s.value.missingWarn=T)},get fallbackRoot(){return s.value?s.value.fallbackRoot:A},set fallbackRoot(T){s.value&&(s.value.fallbackRoot=T)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(T){s.value&&(s.value.fallbackFormat=T)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:_},set warnHtmlMessage(T){s.value&&(s.value.warnHtmlMessage=T)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(T){s.value&&(s.value.escapeParameter=T)},t:E,getPostTranslationHandler:Q,setPostTranslationHandler:he,getMissingHandler:z,setMissingHandler:Y,rt:N,d:J,n:j,tm:G,te:K,getLocaleMessage:ce,setLocaleMessage:ge,mergeLocaleMessage:Ae,getDateTimeFormat:Ne,setDateTimeFormat:_e,mergeDateTimeFormat:Ue,getNumberFormat:Ze,setNumberFormat:Oe,mergeNumberFormat:rt};function P(T){T.locale.value=i.value,T.fallbackLocale.value=l.value,Object.keys(c.value).forEach(U=>{T.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{T.mergeDateTimeFormat(U,u.value[U])}),Object.keys(p.value).forEach(U=>{T.mergeNumberFormat(U,p.value[U])}),T.escapeParameter=d,T.fallbackFormat=y,T.fallbackRoot=A,T.fallbackWarn=x,T.missingWarn=b,T.warnHtmlMessage=_}return Di(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(at.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const T=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=T.locale.value,l.value=T.fallbackLocale.value,c.value=T.messages.value,u.value=T.datetimeFormats.value,p.value=T.numberFormats.value):r&&P(T)}),w}const Rb=["locale","fallbackLocale","availableLocales"],ru=["t","rt","d","n","tm","te"];function Ob(e,t){const n=Object.create(null);return Rb.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(at.UNEXPECTED_ERROR);const a=Je(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,r,a)}),e.config.globalProperties.$i18n=n,ru.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(at.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,ru.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(hb(),__INTLIFY_JIT_COMPILATION__?vc(cb):vc(lb),Qm(Nm),eb(hc),__INTLIFY_PROD_DEVTOOLS__){const e=fn();e.__INTLIFY__=!0,Um(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Db=Object.assign({"./locales/ar/aria.json":qp,"./locales/ar/buttons.json":Vp,"./locales/ar/detail.json":Hp,"./locales/ar/legend.json":Wp,"./locales/ar/messages.json":Kp,"./locales/ar/options.json":Yp,"./locales/ar/prayerLaps.json":Xp,"./locales/ar/search.json":Jp,"./locales/ar/tabs.json":Zp,"./locales/de/aria.json":Qp,"./locales/de/buttons.json":eg,"./locales/de/detail.json":tg,"./locales/de/legend.json":ng,"./locales/de/messages.json":og,"./locales/de/options.json":rg,"./locales/de/prayerLaps.json":sg,"./locales/de/search.json":ag,"./locales/de/tabs.json":ig,"./locales/en/aria.json":lg,"./locales/en/buttons.json":cg,"./locales/en/detail.json":ug,"./locales/en/legend.json":dg,"./locales/en/messages.json":fg,"./locales/en/options.json":pg,"./locales/en/popup.json":gg,"./locales/en/prayerLaps.json":hg,"./locales/en/search.json":mg,"./locales/en/tabs.json":bg,"./locales/es/aria.json":_g,"./locales/es/buttons.json":yg,"./locales/es/detail.json":vg,"./locales/es/legend.json":wg,"./locales/es/messages.json":xg,"./locales/es/options.json":kg,"./locales/es/prayerLaps.json":$g,"./locales/es/search.json":Sg,"./locales/es/tabs.json":Eg,"./locales/fr/aria.json":Ag,"./locales/fr/buttons.json":Cg,"./locales/fr/detail.json":Tg,"./locales/fr/legend.json":Lg,"./locales/fr/messages.json":Pg,"./locales/fr/options.json":Ig,"./locales/fr/popup.json":Ng,"./locales/fr/prayerLaps.json":Mg,"./locales/fr/search.json":Fg,"./locales/fr/tabs.json":Rg,"./locales/hi/aria.json":Og,"./locales/hi/buttons.json":Dg,"./locales/hi/detail.json":jg,"./locales/hi/legend.json":zg,"./locales/hi/messages.json":Bg,"./locales/hi/options.json":Ug,"./locales/hi/prayerLaps.json":Gg,"./locales/hi/search.json":qg,"./locales/it/aria.json":Vg,"./locales/it/buttons.json":Hg,"./locales/it/detail.json":Wg,"./locales/it/legend.json":Kg,"./locales/it/messages.json":Yg,"./locales/it/options.json":Xg,"./locales/it/prayerLaps.json":Jg,"./locales/it/search.json":Zg,"./locales/pt/aria.json":Qg,"./locales/pt/buttons.json":eh,"./locales/pt/detail.json":th,"./locales/pt/legend.json":nh,"./locales/pt/messages.json":oh,"./locales/pt/options.json":rh,"./locales/pt/prayerLaps.json":sh,"./locales/pt/search.json":ah,"./locales/pt/tabs.json":ih,"./locales/ro/aria.json":lh,"./locales/ro/buttons.json":ch,"./locales/ro/detail.json":uh,"./locales/ro/legend.json":dh,"./locales/ro/messages.json":fh,"./locales/ro/options.json":ph,"./locales/ro/prayerLaps.json":gh,"./locales/ro/search.json":hh,"./locales/ru/aria.json":mh,"./locales/ru/buttons.json":bh,"./locales/ru/detail.json":_h,"./locales/ru/legend.json":yh,"./locales/ru/messages.json":vh,"./locales/ru/options.json":wh,"./locales/ru/prayerLaps.json":xh,"./locales/ru/search.json":kh,"./locales/ru/tabs.json":$h,"./locales/zh/aria.json":Sh,"./locales/zh/buttons.json":Eh,"./locales/zh/detail.json":Ah,"./locales/zh/legend.json":Ch,"./locales/zh/messages.json":Th,"./locales/zh/options.json":Lh,"./locales/zh/prayerLaps.json":Ph,"./locales/zh/search.json":Ih}),Wo={};for(const[e,t]of Object.entries(Db)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,r]=n;Wo[o]??(Wo[o]={}),Wo[o][r]=t}const su=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function jb(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return su.includes(t)?t:"en"}function zb(){return Ab({legacy:!1,globalInjection:!0,locale:jb(),fallbackLocale:"en",messages:Wo,missingWarn:!1,fallbackWarn:!1})}function Tt(e,t){const n=t||Bb(e);xt(()=>{var i;const o=un();if(!o)return;const r=(i=o.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",n),a.textContent=e,s.appendChild(a)})}function Bb(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),r=oe(()=>{var v;return((v=n==null?void 0:n.value)==null?void 0:v.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),s=ue(!1),a=ue(null);let i=null,l=null,c=null,u=null,p=null;function b(){s.value=!1}function x(v,C){var d;let _=v==null?void 0:v.parentElement;for(let f=0;_&&f<12;f++,_=_.parentElement){if(_===C||(d=_.classList)!=null&&d.contains("profile-loader"))return null;let g="";try{g=getComputedStyle(_).position}catch{}if(g&&g!=="static"){const k=_.getBoundingClientRect();if(k.height>=120&&k.width>=160)return _}}return null}function A(){const v=a.value;if(v)try{v.style.removeProperty("--pin-hint-lift");const C=v.getBoundingClientRect();if(!C.height)return;const _=Math.round(C.bottom-window.innerHeight);_>0&&v.style.setProperty("--pin-hint-lift",_+8+"px")}catch{}}function y(v){const C=a.value;if(!C||!(v!=null&&v.querySelector))return;let _=0;try{const f=v.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const g=f.getBoundingClientRect(),k=C.parentElement,$=k?k.getBoundingClientRect():null;if(_=$?Math.max(g.height||0,$.bottom-g.top):g.height||0,p!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=f,c=new ResizeObserver(()=>y(v)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(_)||20,20),72);C.style.setProperty("--pin-hint-attrib-clear",d+"px"),A()}return xt(()=>{var d,f,g;const v=un(),C=(g=(f=(d=v==null?void 0:v.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:g.call(f);if(!C||typeof C.querySelector!="function")return;let _=0;i=setInterval(()=>{_++;const k=C.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Mn(()=>{const $=x(k,C),I=a.value;if($&&I&&I.parentElement!==$)try{$.appendChild(I),l=$}catch{}y(C),A();try{const S=a.value&&a.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>A()),u.observe(S)}}catch{}})):_>40&&(clearInterval(i),i=null)},300)}),Ot(()=>{var v;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((v=a.value)==null?void 0:v.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Tt(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -69,11 +69,11 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(v,C)=>s.value?(ee(),te("div",{key:0,ref_key:"hintEl",ref:a,class:Ne(["pin-hint",{dark:o.value}]),role:"status"},[F("span",zb,[C[0]||(C[0]=F("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),nt(" "+fe(r.value)+" ",1),F("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:b},"×")])],2)):Be("",!0)}};let Ub=0;const Gb=Js("ui",{state:()=>({_storeInstanceId:++Ub,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:n,duration:o,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&o>0&&setTimeout(()=>{this.removeToast(a.id)},o),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),qb=Js("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let r=[0,0];if(n.center)r=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Vb=Js("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=$o({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=$o({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),It={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Hb=".profile-loader[data-v-931b414b]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Jr=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n},Wb={class:"profile-loader"},Kb={key:0,class:"profile-error"},Yb={key:1,class:"profile-error"},Xb=Jr({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const n=e,o=Ee("profileConfig",null),r=re(()=>{var k;if(!n.profileConfig)return null;let g;try{g=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(g&&g.assetsBase===void 0){const $=(k=o==null?void 0:o.value)==null?void 0:k.assetsBase;typeof $=="string"&&$&&(g.assetsBase=$)}return g}),s=re(()=>{var g;return((g=r.value)==null?void 0:g.profile)||null}),a=re(()=>{var k;const g=(k=r.value)==null?void 0:k.tk;return typeof g=="string"&&g?g:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=re(()=>{var g;return((g=r.value)==null?void 0:g.dataSource)||It.activeSource||"doxa-csv"}),l=re(()=>{var g;return((g=r.value)==null?void 0:g.colorSet)||"default"}),c=re(()=>!1),u=re(()=>{var g;return((g=r.value)==null?void 0:g.pinHint)!==!1}),p=re(()=>{var k,$;const g=(((k=r.value)==null?void 0:k.locale)||(($=r.value)==null?void 0:$.lang)||"").split("-")[0].toLowerCase();return su.includes(g)?g:""}),b=Ee("appI18n",null);Jd(()=>{p.value&&b&&(b.global.locale.value=p.value)});const x=re(()=>{var g,k;return p.value||((k=(g=b==null?void 0:b.global)==null?void 0:g.locale)==null?void 0:k.value)||"en"}),A=re(()=>{var g;return((g=r.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Ee("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const v=re(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return y[g]?sf(y[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});ut("mapboxToken",a),ut("dataSource",i),ut("colorSet",l),ut("profileConfig",r),ut("instanceId",A),ut("lang",x);const C=Gb(),_=qb(),d=Vb();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((f=C.setTheme)==null||f.call(C,g))}catch{}return ut("uiStore",C),ut("mapStore",_),ut("dataStore",d),(g,k)=>(ee(),te("div",Wb,[r.value?v.value?(ee(),Yt(zi(v.value),{key:2})):(ee(),te("div",Yb,[F("p",null,[k[1]||(k[1]=nt("⚠️ Profile ",-1)),F("strong",null,'"'+fe(s.value)+'"',1),k[2]||(k[2]=nt(" not found.",-1))])])):(ee(),te("div",Kb,[...k[0]||(k[0]=[F("p",null,[nt("⚠️ "),F("strong",null,"doxa-map"),nt(": missing or invalid "),F("code",null,"profile-config"),nt(" prop.")],-1),F("p",null,[nt("Example: "),F("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),v.value&&c.value?(ee(),Yt(zi(pe(null)),{key:3})):Be("",!0),v.value&&u.value?(ee(),Yt(Bb,{key:4})):Be("",!0)]))}},[["styles",[Hb]],["__scopeId","data-v-931b414b"]]),au="adoptionStatus",hn={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Jb=hn,ba={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Zb=ba;function iu(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?hn.hasAdoption:hn.notAdopted}function _a({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],hn.hasAdoption,["==",t,1],hn.hasAdoption,hn.notAdopted]}const lu=_a,Qb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Jb,ADOPTION_LABELS:Zb,LABELS:ba,PALETTE:hn,PROPERTY_KEY:au,applyColor:_a,buildColorExpression:lu,default:{name:"Adoption Progress",propertyKey:au,palette:hn,colors:hn,labels:ba,getColor:iu,applyColor:_a,buildColorExpression:lu},getColor:iu},Symbol.toStringTag,{value:"Module"})),cu="engagementStatus",mn={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},e_=mn,ya={notEngaged:"Unengaged",hasEngagement:"Engaged"},t_=ya;function uu(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?mn.hasEngagement:mn.notEngaged}function va({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],mn.hasEngagement,["==",t,1],mn.hasEngagement,mn.notEngaged]}const du=va,n_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:e_,ENGAGEMENT_LABELS:t_,LABELS:ya,PALETTE:mn,PROPERTY_KEY:cu,applyColor:va,buildColorExpression:du,default:{name:"Engagement Progress",propertyKey:cu,palette:mn,colors:mn,labels:ya,getColor:uu,applyColor:va,buildColorExpression:du},getColor:uu},Symbol.toStringTag,{value:"Module"})),wa="languageFamily",o_="#000000",bn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},r_=bn;function xa(e){return bn[e]||o_}const s_=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(bn))t[e(n)]=n;return t})(),a_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zr(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return a_[n]||s_[n]||t}function fu(e){var t;return xa(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function ka(){const e=["match",["get",wa]];return Object.entries(bn).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const pu=ka,i_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:r_,PALETTE:bn,PROPERTY_KEY:wa,applyColor:ka,buildColorExpression:pu,canonicalFamilyName:Zr,default:{name:"Language Family",propertyKey:wa,palette:bn,colors:bn,getColor:fu,applyColor:ka,buildColorExpression:pu,getLanguageFamilyColor:xa,canonicalFamilyName:Zr},defaultFamilyColor:"#95a5a6",getColor:fu,getLanguageFamilyColor:xa,languageFamilyColors:bn},Symbol.toStringTag,{value:"Module"})),gu="peoplePraying",Qr=144,Tn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},l_=Tn,Ko={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},c_=Ko;function co(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=Qr?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function $a(e){return Tn[co(e)]}function hu(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function mu(e){return co(e)==="fullPrayer"}function bu(e){return $a(e)}function es({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qr],Tn.fullPrayer,[">",t,0],Tn.hasPrayer,Tn.noPrayer]}const _u=es,u_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qr,LABELS:Ko,PALETTE:Tn,PRAYER_COLORS:l_,PRAYER_LABELS:c_,PROPERTY_KEY:gu,applyColor:es,buildColorExpression:_u,checkHasFullPrayer:mu,checkHasPrayer:hu,default:{name:"Prayer Progress",propertyKey:gu,palette:Tn,colors:Tn,labels:Ko,threshold:Qr,getColor:bu,applyColor:es,buildColorExpression:_u,getPrayerLevel:co,getPrayerColor:$a,checkHasPrayer:hu,checkHasFullPrayer:mu},getColor:bu,getPrayerColor:$a,getPrayerLevel:co},Symbol.toStringTag,{value:"Module"})),yu="religion",Sa="#94a3b8",Bn={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},$t={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ea(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Bn[t]?t:"U"}function vu(e){var n,o,r;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return $t[Ea(t)]||Sa}function Aa(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",$t.C,"M",$t.M,"H",$t.H,"B",$t.B,"E",$t.E,"J",$t.J,"S",$t.S,"N",$t.N,"O",$t.O,Sa]}const wu=Aa,d_=Object.assign({"./adoption.js":Qb,"./engagement.js":n_,"./language-family.js":i_,"./prayer-progress.js":u_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:$t,PROPERTY_KEY:yu,RELIGION_FAMILIES:Bn,applyColor:Aa,buildColorExpression:wu,default:{name:"Religion",propertyKey:yu,palette:$t,families:Bn,getColor:vu,applyColor:Aa,buildColorExpression:wu,fallback:Sa},getColor:vu,getReligionFamily:Ea},Symbol.toStringTag,{value:"Module"}))}),f_=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),p_=e=>e.replace(/-/g,"_").toUpperCase(),_n={...{STATUS:"status",CUSTOM:"custom"}},Ca={};function xu(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith("."))continue;const o=e[t].default;if(!o)continue;const r=f_(n);_n[p_(n)]=r,Ca[r]=o}}xu(d_);function g_(e){e&&xu(e)}function ts(e){return Ca[e]||Ca[_n.LANGUAGE_FAMILY]}const h_="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function m_(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(h_,null,!0),!0}catch{return!1}}const ku="affinityBlock",uo="#95a5a6",fo={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},Ta={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},po=Ta;Object.entries(fo).reduce((e,[t,n])=>(e[n]=t,e),{});const b_=Object.entries(fo).reduce((e,[t,n])=>(e[n]=po[t],e),{}),__=fo;function $u(e){return fo[e]||"Unknown"}function Su(e){return po[e]||uo}function y_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?po[e]||uo:b_[e]||uo:uo}function v_(){return Object.entries(fo).map(([e,t])=>({code:e,name:t,color:po[e]}))}function w_(e){return{code:e,name:fo[e]||"Unknown",color:po[e]||uo}}function x_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return Su(t)}function k_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return $u(t)}function Eu(){const e=["match",["get",ku]];return Object.entries(po).forEach(([t,n])=>{e.push(t,n)}),e.push(uo),e}const $_={name:"Affinity Block",propertyKey:ku,palette:Ta,colors:Ta,names:__,getColor:x_,applyColor:Eu,buildColorExpression:Eu,getName:k_,getAffinityBlockName:$u,getAffinityBlockColor:y_,getAffinityBlockColorByCode:Su,getAffinityBlocksArray:v_,getAffinityBlockData:w_};function S_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let o=0;o{e.push(t,n)}),e.push(La),e}const C_={name:"DOXA Region",propertyKey:Au,palette:Tu,colors:Tu,slugColors:Pa,aliases:Pu,fallback:La,getColor:A_,applyColor:Iu,buildColorExpression:Iu,getRegionColor:E_,getRegionColorBySlug:Lu},T_=Object.assign({"./research-dashboard.vue":()=>td(()=>Promise.resolve().then(()=>jw),void 0)});g_({"./affinity-block.js":{default:$_},"./doxa-region.js":{default:C_}}),m_();function L_(){return Sp(Xb,{configureApp(e){e.use(Rp()),e.use(Db()),e.provide("profileModules",T_)}})}const P_=L_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",P_));function I_(e){const t={};for(const n of(e==null?void 0:e.facetRail)||[]){const o=Array.isArray(n.drill)?n.drill.filter(Boolean):[];for(let r=0;r!t[o[r]].includes(a))):s}}return t}function N_(){const e=In({}),t=new Set,n=ue(0),o=ue(""),r=new Map;function s(_,d){return r.has(_)||r.set(_,new Set),r.get(_).add(d),()=>{var f;return(f=r.get(_))==null?void 0:f.delete(d)}}function a(_,d){var f;(f=r.get(_))==null||f.forEach(g=>{try{g(d)}catch{}})}let i={};function l(_){i=I_(_)}function c(_,d){if(d==null){delete e[_];for(const f of i[_]||[])delete e[f]}else e[_]=d;a("filter",e)}function u(){Object.keys(e).forEach(_=>delete e[_]),a("filter",e)}function p(_){o.value=_==null?"":String(_),a("search",o.value)}function b(){n.value++,a("select",t)}function x(_){t.has(_)?t.delete(_):t.add(_),b()}function A(){t.size&&(t.clear(),b())}function y(_,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const g of _)t.has(g)||(t.add(g),f=!0);return f&&b(),f}function v(_){let d=!1;for(const f of _)t.delete(f)&&(d=!0);return d&&b(),d}function C(_){const d=_ instanceof Set?_:new Set(_);if(d.size===t.size){let f=!0;for(const g of d)if(!t.has(g)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return b(),!0}return{filterSet:e,selectionSet:t,selectionVersion:n,searchTerm:o,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:p,configureHierarchy:l,toggleSelect:x,clearSelection:A,selectMany:y,deselectMany:v,setSelection:C}}const Ia={};function Na(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Gn&&Gn.tagName.toUpperCase()==="SCRIPT"&&Gn.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&(Ia==null?void 0:Ia.VITE_API_BASE_URL)||""}function M_(e={}){const t=ue(!1),n=ue(null),o=So(new Map),r=So([]),s=ue(null),a=ue(0),i=e.source||It.activeSource;async function l(){var c,u,p,b;t.value=!0,n.value=null;try{const x=((c=It==null?void 0:It.sources)==null?void 0:c[i])||{},A=Na(),y=((u=x.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",v=(x.defaultFields||[]).join(","),C=((p=x.queryParams)==null?void 0:p.lang)||"en",_=`${A}${y}?${v?`fields=${v}&`:""}lang=${C}&_=${Date.now()}`,d=await fetch(_,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),g=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const I of g){const S=I&&(I.slug||I.id);S&&k.set(S,I)}o.value=k,r.value=g,a.value=k.size;const $=((b=x.endpoints)==null?void 0:b.statistics)||"/api/people-groups/statistics";try{const I=await fetch(`${A}${$}?_=${Date.now()}`,{cache:"no-store"});I.ok&&(I.headers.get("content-type")||"").includes("json")&&(s.value=await I.json())}catch{}a.value===0&&(n.value="No records loaded from the live API.")}catch(x){n.value=x&&x.message?x.message:String(x)}finally{t.value=!1}}return{loading:t,error:n,rowStore:o,rows:r,stats:s,total:a,load:l,sourceId:i}}const ns=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function Ma({rowStore:e,rows:t,selectionSet:n,filterSet:o,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var Y,B,E;const g=s.source||It.activeSource,k=((Y=It==null?void 0:It.sources)==null?void 0:Y[g])||{},$=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:ns,I=((B=k.endpoints)==null?void 0:B.bulk)||"/api/people-groups/list",S=((E=k.queryParams)==null?void 0:E.lang)||"en",R=`${Na()}${I}?fields=${$.join(",")}&lang=${S}`,V=await fetch(R,{cache:"no-store"});if(!V.ok)throw new Error(`export list HTTP ${V.status}`);const Z=await V.json(),he=Array.isArray(Z)?Z:Z.posts||Z.data||Z.results||[],z=new Map;for(const N of he){const X=N&&(N.slug||N.id);X&&z.set(X,N)}return i=z,z})().catch(g=>{throw l=null,g}),l)}function u(g){if(!i)return g;const k=i.get(g&&(g.slug||g.id));return k?{...g,...k}:g}function p(){if(n&&n.size)return[...n].map(k=>e.value.get(k)).filter(Boolean);const g=Object.keys(o);return g.length?(t.value||[]).filter(k=>g.every($=>{const I=r[$];return I?I(k)===o[$]:!0})):t.value||[]}function b(){return n&&n.size?`selection (${n.size})`:Object.keys(o).length?"filter result":"all"}function x(g){return g==null?g:Array.isArray(g)?g.map(k=>x(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof g=="object"?g.label??g.value??g.text??g.name??g.link??JSON.stringify(g):g}function A(g){const k={};for(const $ of Object.keys(g))k[$]=x(g[$]);return k}function y(g){let k=g==null?"":String(g);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function v(){const g=p().map(u).map(A),k=g.reduce((V,Z)=>(Object.keys(Z).forEach(he=>V.add(he)),V),new Set),$=[...ns.filter(V=>k.has(V)),...[...k].filter(V=>!ns.includes(V))],I=Object.entries(o).map(([V,Z])=>`${V}=${a?a(V,Z):Z}`).join(" | ")||"none",S=`# Research Dashboard export — scope: ${b()}; filters: ${I}; rows: ${g.length}`;return[$.map(y).join(","),...g.map(V=>$.map(Z=>y(V[Z])).join(",")),S].join(`\r +`,"pin-hint"),(v,C)=>s.value?(ee(),ne("div",{key:0,ref_key:"hintEl",ref:a,class:Me(["pin-hint",{dark:o.value}]),role:"status"},[F("span",Ub,[C[0]||(C[0]=F("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),nt(" "+fe(r.value)+" ",1),F("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:b},"×")])],2)):ze("",!0)}};let qb=0;const Vb=Js("ui",{state:()=>({_storeInstanceId:++qb,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:n,duration:o,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&o>0&&setTimeout(()=>{this.removeToast(a.id)},o),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),Hb=Js("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let r=[0,0];if(n.center)r=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Wb=Js("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=$o({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=$o({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Pt={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Kb=".profile-loader[data-v-931b414b]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Jr=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n},Yb={class:"profile-loader"},Xb={key:0,class:"profile-error"},Jb={key:1,class:"profile-error"},Zb=Jr({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const n=e,o=Se("profileConfig",null),r=oe(()=>{var k;if(!n.profileConfig)return null;let g;try{g=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(g&&g.assetsBase===void 0){const $=(k=o==null?void 0:o.value)==null?void 0:k.assetsBase;typeof $=="string"&&$&&(g.assetsBase=$)}return g}),s=oe(()=>{var g;return((g=r.value)==null?void 0:g.profile)||null}),a=oe(()=>{var k;const g=(k=r.value)==null?void 0:k.tk;return typeof g=="string"&&g?g:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=oe(()=>{var g;return((g=r.value)==null?void 0:g.dataSource)||Pt.activeSource||"doxa-csv"}),l=oe(()=>{var g;return((g=r.value)==null?void 0:g.colorSet)||"default"}),c=oe(()=>!1),u=oe(()=>{var g;return((g=r.value)==null?void 0:g.pinHint)!==!1}),p=oe(()=>{var k,$;const g=(((k=r.value)==null?void 0:k.locale)||(($=r.value)==null?void 0:$.lang)||"").split("-")[0].toLowerCase();return su.includes(g)?g:""}),b=Se("appI18n",null);Qd(()=>{p.value&&b&&(b.global.locale.value=p.value)});const x=oe(()=>{var g,k;return p.value||((k=(g=b==null?void 0:b.global)==null?void 0:g.locale)==null?void 0:k.value)||"en"}),A=oe(()=>{var g;return((g=r.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Se("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const v=oe(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return y[g]?lf(y[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});ut("mapboxToken",a),ut("dataSource",i),ut("colorSet",l),ut("profileConfig",r),ut("instanceId",A),ut("lang",x);const C=Vb(),_=Hb(),d=Wb();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((f=C.setTheme)==null||f.call(C,g))}catch{}return ut("uiStore",C),ut("mapStore",_),ut("dataStore",d),(g,k)=>(ee(),ne("div",Yb,[r.value?v.value?(ee(),Yt(zi(v.value),{key:2})):(ee(),ne("div",Jb,[F("p",null,[k[1]||(k[1]=nt("⚠️ Profile ",-1)),F("strong",null,'"'+fe(s.value)+'"',1),k[2]||(k[2]=nt(" not found.",-1))])])):(ee(),ne("div",Xb,[...k[0]||(k[0]=[F("p",null,[nt("⚠️ "),F("strong",null,"doxa-map"),nt(": missing or invalid "),F("code",null,"profile-config"),nt(" prop.")],-1),F("p",null,[nt("Example: "),F("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),v.value&&c.value?(ee(),Yt(zi(pe(null)),{key:3})):ze("",!0),v.value&&u.value?(ee(),Yt(Gb,{key:4})):ze("",!0)]))}},[["styles",[Kb]],["__scopeId","data-v-931b414b"]]),au="adoptionStatus",hn={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Qb=hn,ba={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},e_=ba;function iu(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?hn.hasAdoption:hn.notAdopted}function _a({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],hn.hasAdoption,["==",t,1],hn.hasAdoption,hn.notAdopted]}const lu=_a,t_=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Qb,ADOPTION_LABELS:e_,LABELS:ba,PALETTE:hn,PROPERTY_KEY:au,applyColor:_a,buildColorExpression:lu,default:{name:"Adoption Progress",propertyKey:au,palette:hn,colors:hn,labels:ba,getColor:iu,applyColor:_a,buildColorExpression:lu},getColor:iu},Symbol.toStringTag,{value:"Module"})),cu="engagementStatus",mn={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},n_=mn,ya={notEngaged:"Unengaged",hasEngagement:"Engaged"},o_=ya;function uu(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?mn.hasEngagement:mn.notEngaged}function va({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],mn.hasEngagement,["==",t,1],mn.hasEngagement,mn.notEngaged]}const du=va,r_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:n_,ENGAGEMENT_LABELS:o_,LABELS:ya,PALETTE:mn,PROPERTY_KEY:cu,applyColor:va,buildColorExpression:du,default:{name:"Engagement Progress",propertyKey:cu,palette:mn,colors:mn,labels:ya,getColor:uu,applyColor:va,buildColorExpression:du},getColor:uu},Symbol.toStringTag,{value:"Module"})),wa="languageFamily",s_="#000000",bn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},a_=bn;function xa(e){return bn[e]||s_}const i_=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(bn))t[e(n)]=n;return t})(),l_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zr(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return l_[n]||i_[n]||t}function fu(e){var t;return xa(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function ka(){const e=["match",["get",wa]];return Object.entries(bn).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const pu=ka,c_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:a_,PALETTE:bn,PROPERTY_KEY:wa,applyColor:ka,buildColorExpression:pu,canonicalFamilyName:Zr,default:{name:"Language Family",propertyKey:wa,palette:bn,colors:bn,getColor:fu,applyColor:ka,buildColorExpression:pu,getLanguageFamilyColor:xa,canonicalFamilyName:Zr},defaultFamilyColor:"#95a5a6",getColor:fu,getLanguageFamilyColor:xa,languageFamilyColors:bn},Symbol.toStringTag,{value:"Module"})),gu="peoplePraying",Qr=144,Tn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},u_=Tn,Ko={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},d_=Ko;function co(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=Qr?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function $a(e){return Tn[co(e)]}function hu(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function mu(e){return co(e)==="fullPrayer"}function bu(e){return $a(e)}function es({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qr],Tn.fullPrayer,[">",t,0],Tn.hasPrayer,Tn.noPrayer]}const _u=es,f_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qr,LABELS:Ko,PALETTE:Tn,PRAYER_COLORS:u_,PRAYER_LABELS:d_,PROPERTY_KEY:gu,applyColor:es,buildColorExpression:_u,checkHasFullPrayer:mu,checkHasPrayer:hu,default:{name:"Prayer Progress",propertyKey:gu,palette:Tn,colors:Tn,labels:Ko,threshold:Qr,getColor:bu,applyColor:es,buildColorExpression:_u,getPrayerLevel:co,getPrayerColor:$a,checkHasPrayer:hu,checkHasFullPrayer:mu},getColor:bu,getPrayerColor:$a,getPrayerLevel:co},Symbol.toStringTag,{value:"Module"})),yu="religion",Sa="#94a3b8",Bn={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},$t={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ea(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Bn[t]?t:"U"}function vu(e){var n,o,r;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return $t[Ea(t)]||Sa}function Aa(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",$t.C,"M",$t.M,"H",$t.H,"B",$t.B,"E",$t.E,"J",$t.J,"S",$t.S,"N",$t.N,"O",$t.O,Sa]}const wu=Aa,p_=Object.assign({"./adoption.js":t_,"./engagement.js":r_,"./language-family.js":c_,"./prayer-progress.js":f_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:$t,PROPERTY_KEY:yu,RELIGION_FAMILIES:Bn,applyColor:Aa,buildColorExpression:wu,default:{name:"Religion",propertyKey:yu,palette:$t,families:Bn,getColor:vu,applyColor:Aa,buildColorExpression:wu,fallback:Sa},getColor:vu,getReligionFamily:Ea},Symbol.toStringTag,{value:"Module"}))}),g_=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),h_=e=>e.replace(/-/g,"_").toUpperCase(),_n={...{STATUS:"status",CUSTOM:"custom"}},Ca={};function xu(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith("."))continue;const o=e[t].default;if(!o)continue;const r=g_(n);_n[h_(n)]=r,Ca[r]=o}}xu(p_);function m_(e){e&&xu(e)}function ts(e){return Ca[e]||Ca[_n.LANGUAGE_FAMILY]}const b_="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function __(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(b_,null,!0),!0}catch{return!1}}const ku="affinityBlock",uo="#95a5a6",fo={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},Ta={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},po=Ta;Object.entries(fo).reduce((e,[t,n])=>(e[n]=t,e),{});const y_=Object.entries(fo).reduce((e,[t,n])=>(e[n]=po[t],e),{}),v_=fo;function $u(e){return fo[e]||"Unknown"}function Su(e){return po[e]||uo}function w_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?po[e]||uo:y_[e]||uo:uo}function x_(){return Object.entries(fo).map(([e,t])=>({code:e,name:t,color:po[e]}))}function k_(e){return{code:e,name:fo[e]||"Unknown",color:po[e]||uo}}function $_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return Su(t)}function S_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return $u(t)}function Eu(){const e=["match",["get",ku]];return Object.entries(po).forEach(([t,n])=>{e.push(t,n)}),e.push(uo),e}const E_={name:"Affinity Block",propertyKey:ku,palette:Ta,colors:Ta,names:v_,getColor:$_,applyColor:Eu,buildColorExpression:Eu,getName:S_,getAffinityBlockName:$u,getAffinityBlockColor:w_,getAffinityBlockColorByCode:Su,getAffinityBlocksArray:x_,getAffinityBlockData:k_};function A_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let o=0;o{e.push(t,n)}),e.push(La),e}const L_={name:"DOXA Region",propertyKey:Au,palette:Tu,colors:Tu,slugColors:Pa,aliases:Pu,fallback:La,getColor:T_,applyColor:Iu,buildColorExpression:Iu,getRegionColor:C_,getRegionColorBySlug:Lu},P_=Object.assign({"./research-dashboard.vue":()=>od(()=>Promise.resolve().then(()=>Uw),void 0)});m_({"./affinity-block.js":{default:E_},"./doxa-region.js":{default:L_}}),__();function I_(){return Ap(Zb,{configureApp(e){e.use(Dp()),e.use(zb()),e.provide("profileModules",P_)}})}const N_=I_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",N_));function M_(e){const t={};for(const n of(e==null?void 0:e.facetRail)||[]){const o=Array.isArray(n.drill)?n.drill.filter(Boolean):[];for(let r=0;r!t[o[r]].includes(a))):s}}return t}function F_(){const e=In({}),t=new Set,n=ue(0),o=ue(""),r=new Map;function s(_,d){return r.has(_)||r.set(_,new Set),r.get(_).add(d),()=>{var f;return(f=r.get(_))==null?void 0:f.delete(d)}}function a(_,d){var f;(f=r.get(_))==null||f.forEach(g=>{try{g(d)}catch{}})}let i={};function l(_){i=M_(_)}function c(_,d){if(d==null){delete e[_];for(const f of i[_]||[])delete e[f]}else e[_]=d;a("filter",e)}function u(){Object.keys(e).forEach(_=>delete e[_]),a("filter",e)}function p(_){o.value=_==null?"":String(_),a("search",o.value)}function b(){n.value++,a("select",t)}function x(_){t.has(_)?t.delete(_):t.add(_),b()}function A(){t.size&&(t.clear(),b())}function y(_,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const g of _)t.has(g)||(t.add(g),f=!0);return f&&b(),f}function v(_){let d=!1;for(const f of _)t.delete(f)&&(d=!0);return d&&b(),d}function C(_){const d=_ instanceof Set?_:new Set(_);if(d.size===t.size){let f=!0;for(const g of d)if(!t.has(g)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return b(),!0}return{filterSet:e,selectionSet:t,selectionVersion:n,searchTerm:o,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:p,configureHierarchy:l,toggleSelect:x,clearSelection:A,selectMany:y,deselectMany:v,setSelection:C}}const Ia={};function Na(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Gn&&Gn.tagName.toUpperCase()==="SCRIPT"&&Gn.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&(Ia==null?void 0:Ia.VITE_API_BASE_URL)||""}function R_(e={}){const t=ue(!1),n=ue(null),o=So(new Map),r=So([]),s=ue(null),a=ue(0),i=e.source||Pt.activeSource;async function l(){var c,u,p,b;t.value=!0,n.value=null;try{const x=((c=Pt==null?void 0:Pt.sources)==null?void 0:c[i])||{},A=Na(),y=((u=x.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",v=(x.defaultFields||[]).join(","),C=((p=x.queryParams)==null?void 0:p.lang)||"en",_=`${A}${y}?${v?`fields=${v}&`:""}lang=${C}&_=${Date.now()}`,d=await fetch(_,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),g=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const I of g){const S=I&&(I.slug||I.id);S&&k.set(S,I)}o.value=k,r.value=g,a.value=k.size;const $=((b=x.endpoints)==null?void 0:b.statistics)||"/api/people-groups/statistics";try{const I=await fetch(`${A}${$}?_=${Date.now()}`,{cache:"no-store"});I.ok&&(I.headers.get("content-type")||"").includes("json")&&(s.value=await I.json())}catch{}a.value===0&&(n.value="No records loaded from the live API.")}catch(x){n.value=x&&x.message?x.message:String(x)}finally{t.value=!1}}return{loading:t,error:n,rowStore:o,rows:r,stats:s,total:a,load:l,sourceId:i}}const ns=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function Ma({rowStore:e,rows:t,selectionSet:n,filterSet:o,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var Y,B,E;const g=s.source||Pt.activeSource,k=((Y=Pt==null?void 0:Pt.sources)==null?void 0:Y[g])||{},$=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:ns,I=((B=k.endpoints)==null?void 0:B.bulk)||"/api/people-groups/list",S=((E=k.queryParams)==null?void 0:E.lang)||"en",O=`${Na()}${I}?fields=${$.join(",")}&lang=${S}`,H=await fetch(O,{cache:"no-store"});if(!H.ok)throw new Error(`export list HTTP ${H.status}`);const Q=await H.json(),he=Array.isArray(Q)?Q:Q.posts||Q.data||Q.results||[],z=new Map;for(const N of he){const J=N&&(N.slug||N.id);J&&z.set(J,N)}return i=z,z})().catch(g=>{throw l=null,g}),l)}function u(g){if(!i)return g;const k=i.get(g&&(g.slug||g.id));return k?{...g,...k}:g}function p(){if(n&&n.size)return[...n].map(k=>e.value.get(k)).filter(Boolean);const g=Object.keys(o);return g.length?(t.value||[]).filter(k=>g.every($=>{const I=r[$];return I?I(k)===o[$]:!0})):t.value||[]}function b(){return n&&n.size?`selection (${n.size})`:Object.keys(o).length?"filter result":"all"}function x(g){return g==null?g:Array.isArray(g)?g.map(k=>x(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof g=="object"?g.label??g.value??g.text??g.name??g.link??JSON.stringify(g):g}function A(g){const k={};for(const $ of Object.keys(g))k[$]=x(g[$]);return k}function y(g){let k=g==null?"":String(g);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function v(){const g=p().map(u).map(A),k=g.reduce((H,Q)=>(Object.keys(Q).forEach(he=>H.add(he)),H),new Set),$=[...ns.filter(H=>k.has(H)),...[...k].filter(H=>!ns.includes(H))],I=Object.entries(o).map(([H,Q])=>`${H}=${a?a(H,Q):Q}`).join(" | ")||"none",S=`# Research Dashboard export — scope: ${b()}; filters: ${I}; rows: ${g.length}`;return[$.map(y).join(","),...g.map(H=>$.map(Q=>y(H[Q])).join(",")),S].join(`\r `)}const C={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function _(){const g=v(),k=p().length,$=(g.split(`\r -`)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=g)}catch{}let I=!1,S=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(g).catch(()=>{}),I=!0)}catch{}try{const R=new Blob([g],{type:"text/csv;charset=utf-8"}),V=URL.createObjectURL(R),Z=document.createElement("a");Z.href=V,Z.download="research-dashboard.csv",Z.style.display="none",document.body.appendChild(Z),Z.click(),S=!0,setTimeout(()=>{try{URL.revokeObjectURL(V),Z.remove()}catch{}},200)}catch{}Object.assign(C,{rows:k,clipboard:I,downloaded:S,fields:$,wide:!!i,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:I,downloaded:S,fields:$,wide:!!i}}catch{}return{csv:g,rows:k,clipboard:I,downloaded:S,fields:$,wide:!!i}}async function d(){try{await c()}catch{}return _()}function f(){try{return c()}catch{return null}}return{exportCsv:_,exportCsvAsync:d,buildCsv:v,pickRows:p,scopeLabel:b,lastExport:C,prefetchExportFields:f,EXPORT_FIELDS:ns}}const F_="#6b7280";function R_(){const e=ts(_n.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function O_(e,t){const n=R_();return e&&n[e]?n[e]:F_}function D_(e){return(e==null?void 0:e.properties)||e||{}}function Fa(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function j_(e){var t;return String(e.affinityBlock||Fa((t=e._raw)==null?void 0:t.rop1)||"").trim()}function z_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function B_(e){var t;return String(e.cluster||Fa((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function U_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function G_(e){var t;return String(e.peopleGroup||Fa((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function q_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function V_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function H_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function W_(e){var n;const t=Number(e.population??e.populationNum??((n=e._raw)==null?void 0:n.population)??0);return Number.isFinite(t)?t:0}function K_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function Y_(e){const t=re(()=>{const s=e&&e.value||[],a=new Map;for(const i of s){const l=D_(i),c=j_(l),u=z_(l)||c||"— Unknown —",p=B_(l),b=U_(l)||p||"— Unknown —",x=G_(l),A=q_(l)||x||"— Unknown —",y=V_(l),v=H_(l)||y,C=W_(l),_=K_(l);if(!y)continue;let d=a.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",d)),d.count+=1,d.pop+=C,d.memberIds.push(y);let f=d.clusters.get(p||"__unknown__");f||(f={code:p,label:b,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(p||"__unknown__",f)),f.count+=1,f.pop+=C,f.memberIds.push(y);let g=f.peopleGroups.get(x||"__unknown__");g||(g={code:x,label:A,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(x||"__unknown__",g)),g.count+=1,g.pop+=C,g.memberIds.push(y),g.instances.push({id:y,name:v,country:_,pop:C})}return a}),n=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],o=re(()=>{const s=t.value,a=[];for(const i of s.values()){const l=O_(i.code,i.label),c={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:n(i.memberIds),children:[]};for(const u of i.clusters.values()){const p={id:`cluster:${i.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:l,count:u.count,pop:u.pop,filter:n(u.memberIds),children:[]};for(const b of u.peopleGroups.values()){const x={id:`pg:${i.code}__${u.code}__${b.code||b.label}`,label:`${b.label} (PG)`,color:l,count:b.count,pop:b.pop,filter:n(b.memberIds),children:[]};b.instances.sort((A,y)=>y.pop-A.pop||A.country.localeCompare(y.country));for(const A of b.instances)x.children.push({id:`pgic:${A.id}`,label:`${A.country?`${A.name}, ${A.country}`:A.name} (PGIC)`,color:l,count:1,pop:A.pop,filter:["==",["get","uniqueId"],A.id],children:[]});p.children.push(x)}p.children.sort((b,x)=>x.count-b.count||x.pop-b.pop),c.children.push(p)}c.children.sort((u,p)=>p.count-u.count||p.pop-u.pop),a.push(c)}return a.sort((i,l)=>l.count-i.count||l.pop-i.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),i={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?i.kind="bloc":a.startsWith("cluster:")?i.kind="cluster":a.startsWith("pg:")?i.kind="people-group":a.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:o,highlight:r}}function Yo(e,t,n){const o=re(()=>{const l=t&&n&&t.sources&&t.sources[n];return l&&l.features||[]}),{aggregated:r}=Y_(o),s=re(()=>{const l=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return l&&l.drill||[]}),a=re(()=>{const[l,c,u]=s.value,p=new Map,b=new Map,x=new Map;for(const y of r.value.values()){y.code&&p.set(y.code,y.label);for(const v of y.clusters.values()){v.code&&b.set(v.code,v.label);for(const C of v.peopleGroups.values())C.code&&x.set(C.code,C.label)}}const A={};return l&&(A[l]=p),c&&(A[c]=b),u&&(A[u]=x),A});function i(l,c){const u=a.value[l];return u&&u.get(c)||c}return{normalizedFeatures:o,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:i}}class Nu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=It,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let r="",s=!1,a=[],i=!0;for(let l=0;l{}),I=!0)}catch{}try{const O=new Blob([g],{type:"text/csv;charset=utf-8"}),H=URL.createObjectURL(O),Q=document.createElement("a");Q.href=H,Q.download="research-dashboard.csv",Q.style.display="none",document.body.appendChild(Q),Q.click(),S=!0,setTimeout(()=>{try{URL.revokeObjectURL(H),Q.remove()}catch{}},200)}catch{}Object.assign(C,{rows:k,clipboard:I,downloaded:S,fields:$,wide:!!i,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:I,downloaded:S,fields:$,wide:!!i}}catch{}return{csv:g,rows:k,clipboard:I,downloaded:S,fields:$,wide:!!i}}async function d(){try{await c()}catch{}return _()}function f(){try{return c()}catch{return null}}return{exportCsv:_,exportCsvAsync:d,buildCsv:v,pickRows:p,scopeLabel:b,lastExport:C,prefetchExportFields:f,EXPORT_FIELDS:ns}}const O_="#6b7280";function D_(){const e=ts(_n.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function j_(e,t){const n=D_();return e&&n[e]?n[e]:O_}function z_(e){return(e==null?void 0:e.properties)||e||{}}function Fa(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function B_(e){var t;return String(e.affinityBlock||Fa((t=e._raw)==null?void 0:t.rop1)||"").trim()}function U_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function G_(e){var t;return String(e.cluster||Fa((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function q_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function V_(e){var t;return String(e.peopleGroup||Fa((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function H_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function W_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function K_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function Y_(e){var n;const t=Number(e.population??e.populationNum??((n=e._raw)==null?void 0:n.population)??0);return Number.isFinite(t)?t:0}function X_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function J_(e){const t=oe(()=>{const s=e&&e.value||[],a=new Map;for(const i of s){const l=z_(i),c=B_(l),u=U_(l)||c||"— Unknown —",p=G_(l),b=q_(l)||p||"— Unknown —",x=V_(l),A=H_(l)||x||"— Unknown —",y=W_(l),v=K_(l)||y,C=Y_(l),_=X_(l);if(!y)continue;let d=a.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",d)),d.count+=1,d.pop+=C,d.memberIds.push(y);let f=d.clusters.get(p||"__unknown__");f||(f={code:p,label:b,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(p||"__unknown__",f)),f.count+=1,f.pop+=C,f.memberIds.push(y);let g=f.peopleGroups.get(x||"__unknown__");g||(g={code:x,label:A,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(x||"__unknown__",g)),g.count+=1,g.pop+=C,g.memberIds.push(y),g.instances.push({id:y,name:v,country:_,pop:C})}return a}),n=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],o=oe(()=>{const s=t.value,a=[];for(const i of s.values()){const l=j_(i.code,i.label),c={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:n(i.memberIds),children:[]};for(const u of i.clusters.values()){const p={id:`cluster:${i.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:l,count:u.count,pop:u.pop,filter:n(u.memberIds),children:[]};for(const b of u.peopleGroups.values()){const x={id:`pg:${i.code}__${u.code}__${b.code||b.label}`,label:`${b.label} (PG)`,color:l,count:b.count,pop:b.pop,filter:n(b.memberIds),children:[]};b.instances.sort((A,y)=>y.pop-A.pop||A.country.localeCompare(y.country));for(const A of b.instances)x.children.push({id:`pgic:${A.id}`,label:`${A.country?`${A.name}, ${A.country}`:A.name} (PGIC)`,color:l,count:1,pop:A.pop,filter:["==",["get","uniqueId"],A.id],children:[]});p.children.push(x)}p.children.sort((b,x)=>x.count-b.count||x.pop-b.pop),c.children.push(p)}c.children.sort((u,p)=>p.count-u.count||p.pop-u.pop),a.push(c)}return a.sort((i,l)=>l.count-i.count||l.pop-i.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),i={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?i.kind="bloc":a.startsWith("cluster:")?i.kind="cluster":a.startsWith("pg:")?i.kind="people-group":a.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:o,highlight:r}}function Yo(e,t,n){const o=oe(()=>{const l=t&&n&&t.sources&&t.sources[n];return l&&l.features||[]}),{aggregated:r}=J_(o),s=oe(()=>{const l=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return l&&l.drill||[]}),a=oe(()=>{const[l,c,u]=s.value,p=new Map,b=new Map,x=new Map;for(const y of r.value.values()){y.code&&p.set(y.code,y.label);for(const v of y.clusters.values()){v.code&&b.set(v.code,v.label);for(const C of v.peopleGroups.values())C.code&&x.set(C.code,C.label)}}const A={};return l&&(A[l]=p),c&&(A[c]=b),u&&(A[u]=x),A});function i(l,c){const u=a.value[l];return u&&u.get(c)||c}return{normalizedFeatures:o,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:i}}class Nu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Pt,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let r="",s=!1,a=[],i=!0;for(let l=0;l0){if(a.push(r.trim()),r="",i)o.push(...a),i=!1;else if(a.length>1){const p={};o.forEach((b,x)=>{p[b]=a[x]||""}),n.push(p)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};o.forEach((c,u)=>{l[c]=a[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const r=new Set(n.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=Na(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,p]of Object.entries(a))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${n}${o}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${n} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const r={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(o,p));r[l]=u.join("_")}else r[l]=this.getFieldValue(o,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=o,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const r of Object.keys(t))if(r.trim()===o||r.includes(o)||o.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",r=t[n.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Nu;const Mu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([n,o])=>[n,t(o,n)])),Fu=e=>e==null?"—":Number(e).toLocaleString("en-US");function Xo(e){const t=Mu(e.facets,r=>r.get),n=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),o=Array.isArray(e.searchKeys)?e.searchKeys:null;return o?o.map(r=>t[r]||n[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Jo(e,t){return n=>{var r;const o=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!o)return!0;for(const s of t){const a=s(n);if(a!=null&&String(a).toLowerCase().includes(o))return!0}return!1}}function X_(e,t,n,o,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,n.length-t.length));else if(s.kind==="sum")a=t.reduce((u,p)=>u+(Number(p[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:o[s.field],p=new Set;t.forEach(b=>{const x=u?u(b):b[s.field];x&&p.add(x)}),a=p.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function J_(e){const t=ue(null),n=ue(!1),o=ue(!1),r=ue(!1),s=ue("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=ue(!1),c=ue(!1),u=ue(!1);xt(()=>{t.value&&(i=new ResizeObserver(()=>{const v=t.value.clientWidth;n.value=v<760,o.value=v>=760&&v<1180,r.value=v>=760&&v<980}),i.observe(t.value)),e&&e.on("toggleTable",v=>{l.value=!!v}),e&&e.on("toggleFacet",v=>{c.value=!!v}),e&&e.on("toggleRail",v=>{u.value=!!v})}),Ot(()=>i&&i.disconnect());function p(v){const C=v.target.closest("[data-view]");C&&(s.value=C.getAttribute("data-view"))}const b=re(()=>!n.value||s.value==="facets"),x=re(()=>!n.value||s.value==="map"),A=re(()=>!n.value||s.value==="table"),y=re(()=>!n.value||s.value==="charts");return{shell:t,isNarrow:n,slimRail:o,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:p,showFacets:b,showMap:x,showTable:A,showCharts:y}}function Z_(e){function t(){try{const n=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+n)}catch{}}mt(()=>({...e.filterSet}),t,{deep:!0}),xt(()=>{try{const n=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(n){const o=JSON.parse(decodeURIComponent(n[1]));Object.entries(o).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function Q_(e){var y;const t=N_();t.configureHierarchy(e);const n=M_(e.data),o=Mu(e.facets,v=>v.get),r=Jo(t,Xo(e)),s=re(()=>{var d;const v=n.rows.value||[],C=Object.keys(t.filterSet),_=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!C.length&&!_?v:v.filter(f=>C.every(g=>{const k=o[g];return k?k(f)===t.filterSet[g]:!0})&&r(f))}),a=re(()=>X_(e.kpis,s.value,n.rows.value||[],o,e)),i=J_(t);Z_(t);const l=n.sourceId||It.activeSource,c=((y=It.sources)==null?void 0:y[l])||{},u=new Nu,p=re(()=>{const v=n.rows.value||[];return v.length?(u.rawData=v.slice(),u.normalizeData(c),u.normalizedData):[]}),b={sources:{[l]:{get features(){return p.value}}}},{labelFor:x}=Yo(e,b,l),A=Ma({rowStore:n.rowStore,rows:n.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:o,dataOpts:e.data,labelFor:x});return ut("selectionBus",t),ut("dashboardData",n),ut("dashboardConfig",e),ut("dataStore",b),ut("searchSourceId",l),xt(()=>n.load()),{bus:t,data:n,FACET_ACC:o,filteredRows:s,kpis:a,exporter:A,responsive:i}}const ey={facetW:296,railW:264,tableH:"34%"},ty={facetW:[160,420],railW:[200,520],tableH:[12,70]},go=(e,[t,n])=>Math.min(n,Math.max(t,e)),Ru=(e,t)=>{const n=parseFloat(String(e));return Number.isFinite(n)?n:t};function ny(e={}){const{shellRef:t,bus:n=null,isNarrow:o=!1,storageKey:r="rd-dashboard-layout"}=e,s={...ey,...e.defaults||{}},a={...ty,...e.clamps||{}},i=ue(s.facetW),l=ue(s.railW),c=ue(s.tableH),u=ue(!1),p=()=>!!pe(o);function b(){const S=t&&t.value;!S||!u.value||(S.style.setProperty("--facet-w",i.value+"px"),S.style.setProperty("--rail-w",l.value+"px"),S.style.setProperty("--table-h",c.value))}function x(){const S=t&&t.value;S&&(S.style.removeProperty("--facet-w"),S.style.removeProperty("--rail-w"),S.style.removeProperty("--table-h"))}function A(){try{localStorage.setItem(r,JSON.stringify({facetW:i.value,railW:l.value,tableH:c.value}))}catch{}}function y(){try{const S=localStorage.getItem(r);if(!S)return!1;const R=JSON.parse(S);return Number.isFinite(R.facetW)&&(i.value=go(R.facetW,a.facetW)),Number.isFinite(R.railW)&&(l.value=go(R.railW,a.railW)),R.tableH!=null&&(c.value=go(Ru(R.tableH,Ru(s.tableH,34)),a.tableH)+"%"),u.value=!0,!0}catch{return!1}}function v(){try{localStorage.removeItem(r)}catch{}i.value=s.facetW,l.value=s.railW,c.value=s.tableH,u.value=!1,x()}const C=ue(!1);function _(){if(C.value)return;C.value=!0;const S=t&&t.value;if(S&&S.setAttribute("data-rd-resizing","1"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!0)}catch{}}function d(){if(!C.value)return;C.value=!1;const S=t&&t.value;if(S&&S.removeAttribute("data-rd-resizing"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!1)}catch{}}function f(S,R){if(p())return;const V=t&&t.value;if(!V)return;R.preventDefault();const Z=V.getBoundingClientRect(),he=R.clientX,z=i.value,Y=l.value,B=R.currentTarget;try{B&&B.setPointerCapture&&B.setPointerCapture(R.pointerId)}catch{}_();let E=0,N=null;function X(){if(E=0,!N)return;const W=N;if(N=null,S==="facet")i.value=Math.round(go(z+(W.clientX-he),a.facetW));else if(S==="rail")l.value=Math.round(go(Y-(W.clientX-he),a.railW));else if(S==="table"){const le=(Z.bottom-W.clientY)/Z.height*100;c.value=Math.round(go(le,a.tableH))+"%"}u.value=!0,b()}function j(W){N={clientX:W.clientX,clientY:W.clientY},E||(E=requestAnimationFrame(X))}function q(W){window.removeEventListener("pointermove",j),window.removeEventListener("pointerup",q),window.removeEventListener("pointercancel",q),E&&(cancelAnimationFrame(E),E=0),X();try{B&&B.releasePointerCapture&&B.releasePointerCapture(W.pointerId)}catch{}A(),d()}window.addEventListener("pointermove",j),window.addEventListener("pointerup",q),window.addEventListener("pointercancel",q)}const g=S=>f("facet",S),k=S=>f("rail",S),$=S=>f("table",S);let I=null;return xt(()=>{y()&&b(),n&&typeof n.on=="function"&&(I=n.on("resetLayout",v))}),Ot(()=>{try{I&&I()}catch{}try{d()}catch{}}),{facetW:i,railW:l,tableH:c,customized:u,resizing:C,startFacetResize:g,startRailResize:k,startTableResize:$,startResize:f,reset:v,applyVars:b}}const oy=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",ry=["value","placeholder","aria-label"],Ou=Jr({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const n=e,o=t,r=re(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function s(a){const i=a.target.value??"";o("update:modelValue",i),o("search",{value:i})}return(a,i)=>(ee(),te("div",{class:"search-box",style:gt(r.value)},[i[0]||(i[0]=F("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[F("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),F("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),F("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,ry)],4))}},[["styles",[oy]]]),sy=Gn&&Gn.tagName.toUpperCase()==="SCRIPT"&&Gn.src||new URL("research-dashboard.js",document.baseURI).href,Ra=e=>String(e||"").trim().replace(/\/+$/,"");function ay(){try{const t=String(sy||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function iy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Ra(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return Ra(n)}return Ra(ay()||"")}function ly({shareUrl:e,embedPath:t,profileConfig:n}={}){const o=n||null,r=typeof window<"u",s=e||(o==null?void 0:o.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=iy(o),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const cy=["title","aria-label","disabled"],Oa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Tt(` +`&&l++,r||a.length>0){if(a.push(r.trim()),r="",i)o.push(...a),i=!1;else if(a.length>1){const p={};o.forEach((b,x)=>{p[b]=a[x]||""}),n.push(p)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};o.forEach((c,u)=>{l[c]=a[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const r=new Set(n.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=Na(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,p]of Object.entries(a))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${n}${o}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${n} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const r={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(o,p));r[l]=u.join("_")}else r[l]=this.getFieldValue(o,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=o,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const r of Object.keys(t))if(r.trim()===o||r.includes(o)||o.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",r=t[n.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Nu;const Mu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([n,o])=>[n,t(o,n)])),Fu=e=>e==null?"—":Number(e).toLocaleString("en-US");function Xo(e){const t=Mu(e.facets,r=>r.get),n=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),o=Array.isArray(e.searchKeys)?e.searchKeys:null;return o?o.map(r=>t[r]||n[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Jo(e,t){return n=>{var r;const o=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!o)return!0;for(const s of t){const a=s(n);if(a!=null&&String(a).toLowerCase().includes(o))return!0}return!1}}function Z_(e,t,n,o,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,n.length-t.length));else if(s.kind==="sum")a=t.reduce((u,p)=>u+(Number(p[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:o[s.field],p=new Set;t.forEach(b=>{const x=u?u(b):b[s.field];x&&p.add(x)}),a=p.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function Q_(e){const t=ue(null),n=ue(!1),o=ue(!1),r=ue(!1),s=ue("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=ue(!1),c=ue(!1),u=ue(!1);xt(()=>{t.value&&(i=new ResizeObserver(()=>{const v=t.value.clientWidth;n.value=v<760,o.value=v>=760&&v<1180,r.value=v>=760&&v<980}),i.observe(t.value)),e&&e.on("toggleTable",v=>{l.value=!!v}),e&&e.on("toggleFacet",v=>{c.value=!!v}),e&&e.on("toggleRail",v=>{u.value=!!v})}),Ot(()=>i&&i.disconnect());function p(v){const C=v.target.closest("[data-view]");C&&(s.value=C.getAttribute("data-view"))}const b=oe(()=>!n.value||s.value==="facets"),x=oe(()=>!n.value||s.value==="map"),A=oe(()=>!n.value||s.value==="table"),y=oe(()=>!n.value||s.value==="charts");return{shell:t,isNarrow:n,slimRail:o,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:p,showFacets:b,showMap:x,showTable:A,showCharts:y}}function ey(e){function t(){try{const n=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+n)}catch{}}mt(()=>({...e.filterSet}),t,{deep:!0}),xt(()=>{try{const n=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(n){const o=JSON.parse(decodeURIComponent(n[1]));Object.entries(o).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function ty(e){var y;const t=F_();t.configureHierarchy(e);const n=R_(e.data),o=Mu(e.facets,v=>v.get),r=Jo(t,Xo(e)),s=oe(()=>{var d;const v=n.rows.value||[],C=Object.keys(t.filterSet),_=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!C.length&&!_?v:v.filter(f=>C.every(g=>{const k=o[g];return k?k(f)===t.filterSet[g]:!0})&&r(f))}),a=oe(()=>Z_(e.kpis,s.value,n.rows.value||[],o,e)),i=Q_(t);ey(t);const l=n.sourceId||Pt.activeSource,c=((y=Pt.sources)==null?void 0:y[l])||{},u=new Nu,p=oe(()=>{const v=n.rows.value||[];return v.length?(u.rawData=v.slice(),u.normalizeData(c),u.normalizedData):[]}),b={sources:{[l]:{get features(){return p.value}}}},{labelFor:x}=Yo(e,b,l),A=Ma({rowStore:n.rowStore,rows:n.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:o,dataOpts:e.data,labelFor:x});return ut("selectionBus",t),ut("dashboardData",n),ut("dashboardConfig",e),ut("dataStore",b),ut("searchSourceId",l),xt(()=>n.load()),{bus:t,data:n,FACET_ACC:o,filteredRows:s,kpis:a,exporter:A,responsive:i}}const ny={facetW:296,railW:264,tableH:"34%"},oy={facetW:[160,420],railW:[200,520],tableH:[12,70]},go=(e,[t,n])=>Math.min(n,Math.max(t,e)),Ru=(e,t)=>{const n=parseFloat(String(e));return Number.isFinite(n)?n:t};function ry(e={}){const{shellRef:t,bus:n=null,isNarrow:o=!1,storageKey:r="rd-dashboard-layout"}=e,s={...ny,...e.defaults||{}},a={...oy,...e.clamps||{}},i=ue(s.facetW),l=ue(s.railW),c=ue(s.tableH),u=ue(!1),p=()=>!!pe(o);function b(){const S=t&&t.value;!S||!u.value||(S.style.setProperty("--facet-w",i.value+"px"),S.style.setProperty("--rail-w",l.value+"px"),S.style.setProperty("--table-h",c.value))}function x(){const S=t&&t.value;S&&(S.style.removeProperty("--facet-w"),S.style.removeProperty("--rail-w"),S.style.removeProperty("--table-h"))}function A(){try{localStorage.setItem(r,JSON.stringify({facetW:i.value,railW:l.value,tableH:c.value}))}catch{}}function y(){try{const S=localStorage.getItem(r);if(!S)return!1;const O=JSON.parse(S);return Number.isFinite(O.facetW)&&(i.value=go(O.facetW,a.facetW)),Number.isFinite(O.railW)&&(l.value=go(O.railW,a.railW)),O.tableH!=null&&(c.value=go(Ru(O.tableH,Ru(s.tableH,34)),a.tableH)+"%"),u.value=!0,!0}catch{return!1}}function v(){try{localStorage.removeItem(r)}catch{}i.value=s.facetW,l.value=s.railW,c.value=s.tableH,u.value=!1,x()}const C=ue(!1);function _(){if(C.value)return;C.value=!0;const S=t&&t.value;if(S&&S.setAttribute("data-rd-resizing","1"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!0)}catch{}}function d(){if(!C.value)return;C.value=!1;const S=t&&t.value;if(S&&S.removeAttribute("data-rd-resizing"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!1)}catch{}}function f(S,O){if(p())return;const H=t&&t.value;if(!H)return;O.preventDefault();const Q=H.getBoundingClientRect(),he=O.clientX,z=i.value,Y=l.value,B=O.currentTarget;try{B&&B.setPointerCapture&&B.setPointerCapture(O.pointerId)}catch{}_();let E=0,N=null;function J(){if(E=0,!N)return;const K=N;if(N=null,S==="facet")i.value=Math.round(go(z+(K.clientX-he),a.facetW));else if(S==="rail")l.value=Math.round(go(Y-(K.clientX-he),a.railW));else if(S==="table"){const ce=(Q.bottom-K.clientY)/Q.height*100;c.value=Math.round(go(ce,a.tableH))+"%"}u.value=!0,b()}function j(K){N={clientX:K.clientX,clientY:K.clientY},E||(E=requestAnimationFrame(J))}function G(K){window.removeEventListener("pointermove",j),window.removeEventListener("pointerup",G),window.removeEventListener("pointercancel",G),E&&(cancelAnimationFrame(E),E=0),J();try{B&&B.releasePointerCapture&&B.releasePointerCapture(K.pointerId)}catch{}A(),d()}window.addEventListener("pointermove",j),window.addEventListener("pointerup",G),window.addEventListener("pointercancel",G)}const g=S=>f("facet",S),k=S=>f("rail",S),$=S=>f("table",S);let I=null;return xt(()=>{y()&&b(),n&&typeof n.on=="function"&&(I=n.on("resetLayout",v))}),Ot(()=>{try{I&&I()}catch{}try{d()}catch{}}),{facetW:i,railW:l,tableH:c,customized:u,resizing:C,startFacetResize:g,startRailResize:k,startTableResize:$,startResize:f,reset:v,applyVars:b}}const sy=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",ay=["value","placeholder","aria-label"],Ou=Jr({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const n=e,o=t,r=oe(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function s(a){const i=a.target.value??"";o("update:modelValue",i),o("search",{value:i})}return(a,i)=>(ee(),ne("div",{class:"search-box",style:gt(r.value)},[i[0]||(i[0]=F("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[F("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),F("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),F("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,ay)],4))}},[["styles",[sy]]]),iy=Gn&&Gn.tagName.toUpperCase()==="SCRIPT"&&Gn.src||new URL("research-dashboard.js",document.baseURI).href,Ra=e=>String(e||"").trim().replace(/\/+$/,"");function ly(){try{const t=String(iy||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function cy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Ra(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return Ra(n)}return Ra(ly()||"")}function uy({shareUrl:e,embedPath:t,profileConfig:n}={}){const o=n||null,r=typeof window<"u",s=e||(o==null?void 0:o.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=cy(o),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const dy=["title","aria-label","disabled"],Oa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Tt(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -97,7 +97,7 @@ .mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);} .mcb.dark.active{background:#4e594f;color:#92b195;} @media(max-width:767px){.mcb{width:36px;height:36px;}} -`,"map-control-button"),(t,n)=>(ee(),te("button",{class:Ne(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[Ps(t.$slots,"default")],10,cy))}},uy=["aria-label"],dy={class:"mcm-header"},fy={class:"mcm-title"},py={class:"mcm-body"},gy=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Da="doxa-map-menu-open",hy={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Tt(` +`,"map-control-button"),(t,n)=>(ee(),ne("button",{class:Me(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[Ps(t.$slots,"default")],10,dy))}},fy=["aria-label"],py={class:"mcm-header"},gy={class:"mcm-title"},hy={class:"mcm-body"},my=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Da="doxa-map-menu-open",by={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Tt(` .mcm{position:absolute;z-index:var(--z-menu,3000);display:flex;flex-direction:column;box-sizing:border-box; background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.45); color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px; @@ -113,7 +113,7 @@ .mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} .mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;} .mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;} -`,"map-control-menu");const n=e,o=t,r=Ee("mapToolbar",null),s=ue(null),a=ue(null),i=ue({});function l(){var I;const x=(I=r==null?void 0:r.el)==null?void 0:I.value,A=s.value;if(!x||!A){i.value={};return}const y=A.getBoundingClientRect(),v=x.getBoundingClientRect(),C=(v.left+v.right)/2>(y.left+y.right)/2,_=8,d=12,f=C?y.right-v.left+_:v.right-y.left+_,g=Math.max(200,Math.min(n.width,y.width-f-d)),k=Math.max(0,v.top-y.top);let $=Math.max(120,y.height-k-d);n.matchToolbar&&($=Math.max(120,Math.min($,v.height))),n.maxHeight&&($=Math.min($,n.maxHeight)),i.value={top:`${Math.round(k)}px`,[C?"right":"left"]:`${Math.round(f)}px`,width:`${Math.round(g)}px`,maxHeight:`${Math.round($)}px`,...n.height?{height:`${Math.round(Math.min(n.height,$))}px`}:{}}}function c(x){n.open&&x.detail!==a.value&&o("close")}mt(()=>n.open,async x=>{var A;if(x){await Mn(),l();try{(A=s.value)==null||A.dispatchEvent(new CustomEvent(Da,{detail:a.value}))}catch{}}});function u(){n.open&&l()}function p(x){x.key==="Escape"&&n.open&&o("close")}function b(x){var y;if(!n.open)return;const A=x.composedPath?x.composedPath():[x.target];a.value&&A.includes(a.value)||(y=r==null?void 0:r.el)!=null&&y.value&&A.includes(r.el.value)||A.some(v=>{var C,_,d,f;return((_=(C=v==null?void 0:v.classList)==null?void 0:C.contains)==null?void 0:_.call(C,"mapboxgl-canvas"))||((f=(d=v==null?void 0:v.classList)==null?void 0:d.contains)==null?void 0:f.call(d,"maplibregl-canvas"))})&&o("close")}return xt(()=>{var x,A,y;s.value=((A=(x=r==null?void 0:r.el)==null?void 0:x.value)==null?void 0:A.closest(gy))||null,(y=s.value)==null||y.addEventListener(Da,c),window.addEventListener("resize",u),document.addEventListener("click",b,!0),document.addEventListener("keydown",p)}),Ot(()=>{var x;(x=s.value)==null||x.removeEventListener(Da,c),window.removeEventListener("resize",u),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",p)}),(x,A)=>(ee(),Yt(nf,{to:s.value,disabled:!s.value},[e.open?(ee(),te("div",{key:0,ref_key:"el",ref:a,class:Ne(["mcm",{light:!e.isDark}]),style:gt(i.value),role:"dialog","aria-label":e.title},[F("div",dy,[F("span",fy,fe(e.title),1),F("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:A[0]||(A[0]=y=>o("close"))},[...A[1]||(A[1]=[F("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[F("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),F("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),F("div",py,[Ps(x.$slots,"default")])],14,uy)):Be("",!0)],8,["to","disabled"]))}},my={class:"share-steps"},by={class:"share-tabs"},_y={key:0,class:"share-body"},yy={class:"share-url-box"},vy={class:"share-url-text"},wy={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},xy={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},ky={key:1,class:"share-body"},$y={class:"share-size-pills"},Sy=["onClick"],Ey={class:"share-code-box"},Ay={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Cy={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Ty={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Tt(` +`,"map-control-menu");const n=e,o=t,r=Se("mapToolbar",null),s=ue(null),a=ue(null),i=ue({});function l(){var I;const x=(I=r==null?void 0:r.el)==null?void 0:I.value,A=s.value;if(!x||!A){i.value={};return}const y=A.getBoundingClientRect(),v=x.getBoundingClientRect(),C=(v.left+v.right)/2>(y.left+y.right)/2,_=8,d=12,f=C?y.right-v.left+_:v.right-y.left+_,g=Math.max(200,Math.min(n.width,y.width-f-d)),k=Math.max(0,v.top-y.top);let $=Math.max(120,y.height-k-d);n.matchToolbar&&($=Math.max(120,Math.min($,v.height))),n.maxHeight&&($=Math.min($,n.maxHeight)),i.value={top:`${Math.round(k)}px`,[C?"right":"left"]:`${Math.round(f)}px`,width:`${Math.round(g)}px`,maxHeight:`${Math.round($)}px`,...n.height?{height:`${Math.round(Math.min(n.height,$))}px`}:{}}}function c(x){n.open&&x.detail!==a.value&&o("close")}mt(()=>n.open,async x=>{var A;if(x){await Mn(),l();try{(A=s.value)==null||A.dispatchEvent(new CustomEvent(Da,{detail:a.value}))}catch{}}});function u(){n.open&&l()}function p(x){x.key==="Escape"&&n.open&&o("close")}function b(x){var y;if(!n.open)return;const A=x.composedPath?x.composedPath():[x.target];a.value&&A.includes(a.value)||(y=r==null?void 0:r.el)!=null&&y.value&&A.includes(r.el.value)||A.some(v=>{var C,_,d,f;return((_=(C=v==null?void 0:v.classList)==null?void 0:C.contains)==null?void 0:_.call(C,"mapboxgl-canvas"))||((f=(d=v==null?void 0:v.classList)==null?void 0:d.contains)==null?void 0:f.call(d,"maplibregl-canvas"))})&&o("close")}return xt(()=>{var x,A,y;s.value=((A=(x=r==null?void 0:r.el)==null?void 0:x.value)==null?void 0:A.closest(my))||null,(y=s.value)==null||y.addEventListener(Da,c),window.addEventListener("resize",u),document.addEventListener("click",b,!0),document.addEventListener("keydown",p)}),Ot(()=>{var x;(x=s.value)==null||x.removeEventListener(Da,c),window.removeEventListener("resize",u),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",p)}),(x,A)=>(ee(),Yt(rf,{to:s.value,disabled:!s.value},[e.open?(ee(),ne("div",{key:0,ref_key:"el",ref:a,class:Me(["mcm",{light:!e.isDark}]),style:gt(i.value),role:"dialog","aria-label":e.title},[F("div",py,[F("span",gy,fe(e.title),1),F("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:A[0]||(A[0]=y=>o("close"))},[...A[1]||(A[1]=[F("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[F("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),F("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),F("div",hy,[Ps(x.$slots,"default")])],14,fy)):ze("",!0)],8,["to","disabled"]))}},_y={class:"share-steps"},yy={class:"share-tabs"},vy={key:0,class:"share-body"},wy={class:"share-url-box"},xy={class:"share-url-text"},ky={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},$y={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Sy={key:1,class:"share-body"},Ey={class:"share-size-pills"},Ay=["onClick"],Cy={class:"share-code-box"},Ty={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Ly={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Py={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Tt(` .share-wrap{position:relative;display:inline-block;border-radius:50%;} .share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none; background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b); @@ -366,7 +366,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:n,rt:o}=lo(),r=e,s=ue(null),a=ue(!1),i=ue(null),l=ue(null),c=ue("link"),u=ue(!1),p=ue(!1),b=ue("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},A=Ee("profileConfig",null),y=re(()=>ly({embedPath:r.embedPath,profileConfig:pe(A)||null})),v=re(()=>{const R=x[b.value].height;return''});function C(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,p.value=!1)}function _(){a.value=!1}async function d(R){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(R),!0}catch{}try{const V=document.createElement("textarea");V.value=R,V.setAttribute("readonly",""),V.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(V),V.select();const Z=document.execCommand("copy");return document.body.removeChild(V),Z}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function g(){await d(v.value)&&(p.value=!0,setTimeout(()=>{p.value=!1},2e3))}const k=Ee("mapToolbar",null),$=ue(null);ut("mapToolbar",k||{el:$});const I=!k;function S(R){if(s.value=R||null,!I||!R){R||($.value=null);return}const V=R.offsetParent||R.parentElement;V&&!V.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&V.setAttribute("data-map-area","share-fallback"),$.value=R}return(R,V)=>(ee(),te("div",{ref:S,class:"share-wrap","data-share-root":""},[Pe(Oa,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:pe(t)("buttons.share"),onClick:C},{default:Xn(()=>[...V[2]||(V[2]=[F("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[F("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),F("polyline",{points:"16 6 12 2 8 6"}),F("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Pe(hy,{open:a.value,title:pe(t)("buttons.share"),"is-dark":e.isDark,onClose:_},{default:Xn(()=>[F("div",{ref_key:"popoverEl",ref:i,class:Ne(["share-pop",{light:!e.isDark}])},[F("ul",my,[(ee(!0),te(Ce,null,Qe(pe(n)("buttons.shareSteps"),(Z,he)=>(ee(),te("li",{key:he},fe(pe(o)(Z)),1))),128))]),F("div",by,[F("button",{class:Ne(["share-tab",{active:c.value==="link"}]),onClick:V[0]||(V[0]=Z=>c.value="link")},"Embed link",2),F("button",{class:Ne(["share-tab",{active:c.value==="embed"}]),onClick:V[1]||(V[1]=Z=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ee(),te("div",_y,[F("div",yy,[F("div",vy,fe(y.value),1)]),F("button",{class:Ne(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(ee(),te("svg",xy,[...V[4]||(V[4]=[F("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),te("svg",wy,[...V[3]||(V[3]=[F("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),F("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+fe(u.value?"Copied!":"Copy Link"),1)],2)])):Be("",!0),c.value==="embed"?(ee(),te("div",ky,[V[7]||(V[7]=F("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),F("div",$y,[(ee(),te(Ce,null,Qe(x,(Z,he)=>F("button",{key:he,class:Ne(["share-size-pill",{active:b.value===he}]),onClick:z=>b.value=he},fe(Z.label),11,Sy)),64))]),F("div",Ey,fe(v.value),1),F("button",{class:Ne(["share-secondary-btn",{copied:p.value}]),onClick:g},[p.value?(ee(),te("svg",Cy,[...V[6]||(V[6]=[F("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),te("svg",Ay,[...V[5]||(V[5]=[F("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),F("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+fe(p.value?"Copied!":"Copy Code"),1)],2)])):Be("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},yn="#c4c8c0",Ye=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,Ly=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function os(e,t){const n=ts(e);return n&&n.propertyKey===t?n:null}function Py(e,t){const n=String(e||"").trim();if(!n)return"U";const o=Object.keys(t),r=o.find(i=>t[i]===n);if(r)return r;let s=null,a=0;for(const i of o){const l=t[i];l&&n.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(n)?Ea(n):"U")}function ja(e,t,n){const o=new Map;for(const s of e){const a=t(s);a==null||a===""||o.set(a,(o.get(a)||0)+1)}let r=[...o.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(n&&r.length>n){const s=r.slice(0,n),a=r.slice(n).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function Iy(e,t,n){const o=new Map;for(const s of e||[]){const a=t&&t(s),i=n&&n(s);if(!a||!i)continue;o.has(a)||o.set(a,new Map);const l=o.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of o){let i=null,l=0,c=!1;for(const[u,p]of a)p>l?(i=u,l=p,c=!1):p===l&&(c=!0);r.set(s,i&&!c?ju("wagf_region",i):yn)}return r}function Ny(e,t=132,n=.58,o="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*n,c=e.reduce((p,b)=>p+b.value,0)||1;let u=-Math.PI/2;return e.map((p,b)=>{const x=u,A=u+p.value/c*Math.PI*2;u=A;const y=A-x>Math.PI?1:0,v=(_,d)=>`${(s+d*Math.cos(_)).toFixed(2)},${(a+d*Math.sin(_)).toFixed(2)}`,C=`M${v(x,i)} A${i},${i} 0 ${y} 1 ${v(A,i)} L${v(A,l)} A${l},${l} 0 ${y} 0 ${v(x,l)} Z`;return{...p,path:C,pct:Math.round(p.value/c*100),color:Du(o,p.key,r)}})}function My(e,t="",n=null){const o=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/o,color:Du(t,r.key,n)}))}function Du(e,t,n){if(n&&t!=="Other"){const o=n.get?n.get(t):n[t];if(o)return o}return ju(e,t)}function ju(e,t){if(t==null||t===""||t==="Other")return yn;if(e==="religion"||e==="religion_family"){const n=os(_n.RELIGION,"religion"),o=n&&n.palette||$t,r=n&&n.families||Bn;return o[Py(t,r)]||yn}if(e==="wagf_region"){const n=os(_n.DOXA_REGION,"doxaRegion");if(!n)return yn;const o=n.slugColors&&n.slugColors[Ly(t)];return o||n.aliases&&n.aliases[t]||yn}if(e==="affinity_bloc"){const n=os(_n.AFFINITY_BLOCK,"affinityBlock");return n&&n.palette&&n.palette[t]||yn}if(e==="language_family"){const n=os(_n.LANGUAGE_FAMILY,"languageFamily");return n&&n.palette&&n.palette[t]||yn}return yn}const Fy={class:"rd-left"},Ry={class:"rd-brand"},Oy={class:"rd-ttl"},Dy={class:"rd-filter-search","data-filter-search":""},jy={key:0,class:"rd-search","data-search":""},zy=["data-slug"],By={class:"nm"},Uy={class:"sub"},Gy={key:1,class:"rd-empty"},qy=["onKeydown"],Vy="research-dashboard/research-dashboard/index.html",Hy={__name:"DashboardTopBar",setup(e){const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("dashboardConfig",{}),r=re(()=>o.showTopBarSearch===!0);function s(){n&&n.emit("resetLayout")}const a=re(()=>{var d;return((d=n==null?void 0:n.searchTerm)==null?void 0:d.value)||""}),i=re(()=>{var d;return((d=o.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){n==null||n.setSearch((d==null?void 0:d.value)??"")}const c=ue(""),u=ue(!1),p=ue(0),b=re(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],g=[];for(const $ of f)if(($.name||"").toLowerCase().includes(d)&&(g.push($),g.length>=8))break;return g});function x(d){!d||!n||(d.slug&&(n.toggleSelect(d.slug),n.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,p.value=0)}function A(){u.value=!0,p.value=0}function y(d){if(!b.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),p.value=(p.value+1)%b.value.length):d.key==="ArrowUp"?(d.preventDefault(),p.value=(p.value-1+b.value.length)%b.value.length):d.key==="Enter"?(d.preventDefault(),x(b.value[p.value])):d.key==="Escape"&&(c.value="",u.value=!1,p.value=0)}function v(d){var $;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const g=f.getAttribute("data-slug"),k=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(I=>I.slug===g);k&&x(k)}const C=ue(null);function _(d){C.value&&!C.value.contains(d.target)&&(u.value=!1)}return xt(()=>{var d,f;try{(f=(d=C.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",_)}catch{}}),Ot(()=>{var d,f;try{(f=(d=C.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",_)}catch{}}),Tt(` +`,"share-button");const{t,tm:n,rt:o}=lo(),r=e,s=ue(null),a=ue(!1),i=ue(null),l=ue(null),c=ue("link"),u=ue(!1),p=ue(!1),b=ue("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},A=Se("profileConfig",null),y=oe(()=>uy({embedPath:r.embedPath,profileConfig:pe(A)||null})),v=oe(()=>{const O=x[b.value].height;return''});function C(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,p.value=!1)}function _(){a.value=!1}async function d(O){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(O),!0}catch{}try{const H=document.createElement("textarea");H.value=O,H.setAttribute("readonly",""),H.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(H),H.select();const Q=document.execCommand("copy");return document.body.removeChild(H),Q}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function g(){await d(v.value)&&(p.value=!0,setTimeout(()=>{p.value=!1},2e3))}const k=Se("mapToolbar",null),$=ue(null);ut("mapToolbar",k||{el:$});const I=!k;function S(O){if(s.value=O||null,!I||!O){O||($.value=null);return}const H=O.offsetParent||O.parentElement;H&&!H.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&H.setAttribute("data-map-area","share-fallback"),$.value=O}return(O,H)=>(ee(),ne("div",{ref:S,class:"share-wrap","data-share-root":""},[Ie(Oa,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:pe(t)("buttons.share"),onClick:C},{default:Xn(()=>[...H[2]||(H[2]=[F("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[F("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),F("polyline",{points:"16 6 12 2 8 6"}),F("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Ie(by,{open:a.value,title:pe(t)("buttons.share"),"is-dark":e.isDark,onClose:_},{default:Xn(()=>[F("div",{ref_key:"popoverEl",ref:i,class:Me(["share-pop",{light:!e.isDark}])},[F("ul",_y,[(ee(!0),ne(Ce,null,et(pe(n)("buttons.shareSteps"),(Q,he)=>(ee(),ne("li",{key:he},fe(pe(o)(Q)),1))),128))]),F("div",yy,[F("button",{class:Me(["share-tab",{active:c.value==="link"}]),onClick:H[0]||(H[0]=Q=>c.value="link")},"Embed link",2),F("button",{class:Me(["share-tab",{active:c.value==="embed"}]),onClick:H[1]||(H[1]=Q=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ee(),ne("div",vy,[F("div",wy,[F("div",xy,fe(y.value),1)]),F("button",{class:Me(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(ee(),ne("svg",$y,[...H[4]||(H[4]=[F("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",ky,[...H[3]||(H[3]=[F("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),F("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+fe(u.value?"Copied!":"Copy Link"),1)],2)])):ze("",!0),c.value==="embed"?(ee(),ne("div",Sy,[H[7]||(H[7]=F("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),F("div",Ey,[(ee(),ne(Ce,null,et(x,(Q,he)=>F("button",{key:he,class:Me(["share-size-pill",{active:b.value===he}]),onClick:z=>b.value=he},fe(Q.label),11,Ay)),64))]),F("div",Cy,fe(v.value),1),F("button",{class:Me(["share-secondary-btn",{copied:p.value}]),onClick:g},[p.value?(ee(),ne("svg",Ly,[...H[6]||(H[6]=[F("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),ne("svg",Ty,[...H[5]||(H[5]=[F("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),F("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+fe(p.value?"Copied!":"Copy Code"),1)],2)])):ze("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},yn="#c4c8c0",Xe=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,Iy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function os(e,t){const n=ts(e);return n&&n.propertyKey===t?n:null}function Ny(e,t){const n=String(e||"").trim();if(!n)return"U";const o=Object.keys(t),r=o.find(i=>t[i]===n);if(r)return r;let s=null,a=0;for(const i of o){const l=t[i];l&&n.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(n)?Ea(n):"U")}function ja(e,t,n){const o=new Map;for(const s of e){const a=t(s);a==null||a===""||o.set(a,(o.get(a)||0)+1)}let r=[...o.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(n&&r.length>n){const s=r.slice(0,n),a=r.slice(n).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function My(e,t,n){const o=new Map;for(const s of e||[]){const a=t&&t(s),i=n&&n(s);if(!a||!i)continue;o.has(a)||o.set(a,new Map);const l=o.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of o){let i=null,l=0,c=!1;for(const[u,p]of a)p>l?(i=u,l=p,c=!1):p===l&&(c=!0);r.set(s,i&&!c?ju("wagf_region",i):yn)}return r}function Fy(e,t=132,n=.58,o="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*n,c=e.reduce((p,b)=>p+b.value,0)||1;let u=-Math.PI/2;return e.map((p,b)=>{const x=u,A=u+p.value/c*Math.PI*2;u=A;const y=A-x>Math.PI?1:0,v=(_,d)=>`${(s+d*Math.cos(_)).toFixed(2)},${(a+d*Math.sin(_)).toFixed(2)}`,C=`M${v(x,i)} A${i},${i} 0 ${y} 1 ${v(A,i)} L${v(A,l)} A${l},${l} 0 ${y} 0 ${v(x,l)} Z`;return{...p,path:C,pct:Math.round(p.value/c*100),color:Du(o,p.key,r)}})}function Ry(e,t="",n=null){const o=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/o,color:Du(t,r.key,n)}))}function Du(e,t,n){if(n&&t!=="Other"){const o=n.get?n.get(t):n[t];if(o)return o}return ju(e,t)}function ju(e,t){if(t==null||t===""||t==="Other")return yn;if(e==="religion"||e==="religion_family"){const n=os(_n.RELIGION,"religion"),o=n&&n.palette||$t,r=n&&n.families||Bn;return o[Ny(t,r)]||yn}if(e==="wagf_region"){const n=os(_n.DOXA_REGION,"doxaRegion");if(!n)return yn;const o=n.slugColors&&n.slugColors[Iy(t)];return o||n.aliases&&n.aliases[t]||yn}if(e==="affinity_bloc"){const n=os(_n.AFFINITY_BLOCK,"affinityBlock");return n&&n.palette&&n.palette[t]||yn}if(e==="language_family"){const n=os(_n.LANGUAGE_FAMILY,"languageFamily");return n&&n.palette&&n.palette[t]||yn}return yn}const Oy={class:"rd-left"},Dy={class:"rd-brand"},jy={class:"rd-ttl"},zy={class:"rd-filter-search","data-filter-search":""},By={key:0,class:"rd-search","data-search":""},Uy=["data-slug"],Gy={class:"nm"},qy={class:"sub"},Vy={key:1,class:"rd-empty"},Hy=["onKeydown"],Wy="research-dashboard/research-dashboard/index.html",Ky={__name:"DashboardTopBar",setup(e){const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("dashboardConfig",{}),r=oe(()=>o.showTopBarSearch===!0);function s(){n&&n.emit("resetLayout")}const a=oe(()=>{var d;return((d=n==null?void 0:n.searchTerm)==null?void 0:d.value)||""}),i=oe(()=>{var d;return((d=o.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){n==null||n.setSearch((d==null?void 0:d.value)??"")}const c=ue(""),u=ue(!1),p=ue(0),b=oe(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],g=[];for(const $ of f)if(($.name||"").toLowerCase().includes(d)&&(g.push($),g.length>=8))break;return g});function x(d){!d||!n||(d.slug&&(n.toggleSelect(d.slug),n.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,p.value=0)}function A(){u.value=!0,p.value=0}function y(d){if(!b.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),p.value=(p.value+1)%b.value.length):d.key==="ArrowUp"?(d.preventDefault(),p.value=(p.value-1+b.value.length)%b.value.length):d.key==="Enter"?(d.preventDefault(),x(b.value[p.value])):d.key==="Escape"&&(c.value="",u.value=!1,p.value=0)}function v(d){var $;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const g=f.getAttribute("data-slug"),k=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(I=>I.slug===g);k&&x(k)}const C=ue(null);function _(d){C.value&&!C.value.contains(d.target)&&(u.value=!1)}return xt(()=>{var d,f;try{(f=(d=C.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",_)}catch{}}),Ot(()=>{var d,f;try{(f=(d=C.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",_)}catch{}}),Tt(` .rd-topbar{ position:relative; display:flex; align-items:center; gap:12px; height:100%; padding:0 var(--rd-edge,14px); --rd-search-w:min(360px,34%); background:var(--rd-header,#4e594f); color:var(--rd-header-ink,#f3f3f1); border-bottom:1px solid var(--rd-header-line,#3c453d); @@ -408,7 +408,7 @@ background:#ffffff1f; border:1px solid #ffffff3d; border-radius:var(--r-md,6px); padding:5px 11px; } .rd-topbar .rd-align:hover{ background:#ffffff33; border-color:var(--rd-accent,#e67e22); color:#fff; } .rd-shell.rd-narrow .rd-topbar .rd-align{ display:none; } -`,"rd-topbar"),(d,f)=>(ee(),te("header",{ref_key:"rootEl",ref:C,class:"rd-topbar","data-region":"topbar"},[F("div",Fy,[F("span",Ry,[F("span",Oy,[nt(fe(pe(o).title||"Research Dashboard"),1),f[1]||(f[1]=F("span",{class:"dot"},".",-1))])])]),F("div",Dy,[Pe(Ou,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=F("span",{class:"rd-spacer"},null,-1)),r.value?(ee(),te("div",jy,[f[2]||(f[2]=F("span",{class:"ic"},"⌕",-1)),Rt(F("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=g=>c.value=g),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:A,onFocus:A,onKeydown:y},null,544),[[Cp,c.value]]),u.value&&c.value.trim().length>=2?(ee(),te("div",{key:0,class:"rd-results","data-search-results":"",onClick:v},[b.value.length?(ee(!0),te(Ce,{key:0},Qe(b.value,(g,k)=>(ee(),te("div",{key:g.slug,class:Ne(["rd-res",{on:k===p.value}]),"data-slug":g.slug},[F("span",By,fe(g.name),1),F("span",Uy,fe(pe(Ye)(g.country_code))+" · "+fe(pe(Ye)(g.religion)),1)],10,zy))),128)):(ee(),te("div",Gy,"No people groups match “"+fe(c.value.trim())+"”.",1))])):Be("",!0)])):Be("",!0),F("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[zr(to(s,["prevent"]),["enter"]),zr(to(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,qy),Pe(Ty,{"embed-path":Vy})],512))}},Ln="#c4c8c0";function Wy(e,t){const n=ts(e);return n&&n.propertyKey===t&&n.palette?n.palette:null}const Ky=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Yy(){const e=re(()=>{const n=ts(_n.DOXA_REGION),o=n&&n.propertyKey==="doxaRegion";return{slug:o&&n.slugColors||null,alias:o&&n.aliases||null}});function t(n,o,r,s){if(r==null||r==="")return Ln;if(n==="people"){const a=Wy(_n.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Ln}if(n==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[Ky(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Ln}return n==="language"?bn[s||r]||Ln:n==="religion"&&$t[s]||Ln}return{colorFor:t,NEUTRAL:Ln}}const Xy={class:"rd-facets","data-region":"facets"},Jy={class:"fr-head"},Zy={class:"fr-scope","data-scope-count":""},Qy=["data-facet-section"],ev=["onClick"],tv={class:"fr-rows"},nv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],ov=["data-expand","data-expand-value","aria-expanded","aria-label"],rv={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},sv={class:"fr-lbl"},av={class:"fr-bar"},iv={class:"fr-cnt"},lv={key:3,class:"fr-donly","aria-hidden":"true"},cv={__name:"DashboardFacetRail",setup(e){const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("dashboardConfig",{}),r=Ee("dataStore",null),s=Ee("searchSourceId",null),a=(n==null?void 0:n.filterSet)||{},i=Object.fromEntries(Object.entries(o.facets||{}).map(([E,N])=>[E,N.get])),l=new Set(Object.entries(o.facets||{}).filter(([,E])=>E&&E.dashboardOnly).map(([E])=>E)),c=Jo(n,Xo(o));function u(E){var q,W;const N=((q=t==null?void 0:t.rows)==null?void 0:q.value)||[],X=Object.keys(a).filter(le=>!E.includes(le)),j=!!(((W=n==null?void 0:n.searchTerm)==null?void 0:W.value)||"").trim();return!X.length&&!j?N:N.filter(le=>X.every(ge=>{const Se=i[ge];return Se?Se(le)===a[ge]:!0})&&c(le))}const p=In(Object.fromEntries((o.facetRail||[]).map(E=>[E.id,!0])));function b(E){p[E]=!p[E]}const x=In({}),A=(E,N)=>E+":"+N;function y(E,N){const X=A(E,N);x[X]=!v(E,N)}function v(E,N){const X=A(E,N);return X in x?x[X]:a[E]===N}function C(E,N,X){const j=E.reduce((q,W)=>Math.max(q,W.value),0)||1;return E.map(q=>({facet:N,value:q.key,label:q.key,count:q.value,frac:q.value/j,level:X,other:!!q.other,active:!q.other&&a[N]===q.key,dashboardOnly:l.has(N)}))}const _=new Map;function d(E,N,X){if(X)return _.set(E,N.map(be=>({...be,count:0,frac:0,active:!1,expanded:!1}))),N;const j=_.get(E);if(!j)return N;const q=be=>be.facet+":"+be.value,W=new Set(N.map(q));if(!j.filter(be=>!W.has(q(be))).length)return N;const ge=new Map;let Se="";for(const be of j){const Ge=q(be);if(W.has(Ge)){Se=Ge;continue}ge.has(Se)||ge.set(Se,[]),ge.get(Se).push({...be,zero:!0})}const Ie=[];for(const be of ge.get("")||[])Ie.push(be);for(let be=0;beGe.level;)Ie.push(N[++be]);for(const Fe of Je)Ie.push(Fe)}}return Ie}function f(E,N){return C(ja(u([E]),i[E],N??24),E,0)}function g(E,N){const X=[],j=(q,W)=>{const le=E[q],ge=(N&&N[q])??(q===E.length-1?40:30);let Se=u(E.slice(q));W.length&&(Se=Se.filter(be=>W.every(([Ge,Je])=>{const Fe=i[Ge];return Fe?Fe(be)===Je:!0})));const Ie=C(ja(Se,i[le],ge),le,q);for(const be of Ie)be.hasChildren=!be.other&&q{var X;const E=new Map,N=o.facets&&o.facets.religion_family;if(!N||!N.famKey)return E;for(const j of((X=t==null?void 0:t.rows)==null?void 0:X.value)||[]){const q=N.get(j);q&&!E.has(q)&&E.set(q,N.famKey(j))}return E}),V=re(()=>{var E;return!Object.keys(a).length&&!(((E=n==null?void 0:n.searchTerm)==null?void 0:E.value)||"").trim()}),Z=re(()=>(o.facetRail||[]).map(E=>{let N=E.drill?g(E.drill,E.topN):f(E.facet,E.topN);if(N=d(E.id,N,V.value),E.tree==="affinity"){const X=$.value;N=N.map(j=>j.other?j:{...j,label:X[j.facet]&&X[j.facet].get(j.value)||j.label})}return N=S(N,E.axis,R.value),{id:E.id,title:E.title,axis:E.axis,rows:k(N)}})),he=re(()=>{var X;const E=((X=t==null?void 0:t.rows)==null?void 0:X.value)||[],N=Object.keys(a);return N.length?E.filter(j=>N.every(q=>{const W=i[q];return W?W(j)===a[q]:!0})).length:E.length});function z(E){const N=E.target;if(!N||!N.closest)return;const X=N.closest("[data-expand]");if(X){const le=X.getAttribute("data-expand"),ge=X.getAttribute("data-expand-value");le&&ge!=null&&(E.stopPropagation(),y(le,ge));return}const j=N.closest("[data-facet]");if(!j||!n)return;const q=j.getAttribute("data-facet"),W=j.getAttribute("data-value");!q||!W||n.setFilter(q,a[q]===W?null:W)}function Y(E){if(E.key!=="Enter"&&E.key!==" "&&E.key!=="Spacebar")return;const N=E.target&&E.target.closest?E.target.closest("[data-facet]"):null;if(!N||!n)return;E.preventDefault();const X=N.getAttribute("data-facet"),j=N.getAttribute("data-value");!X||!j||n.setFilter(X,a[X]===j?null:j)}const B=ue(null);return xt(()=>{n&&n.on("mapFocus",({value:E}={})=>{if(!E||!B.value)return;const X=[...B.value.querySelectorAll(".fr-row")].find(j=>j.textContent&&j.textContent.includes(E));X&&(B.value.scrollTop=Math.max(0,X.offsetTop-8))})}),Tt(` +`,"rd-topbar"),(d,f)=>(ee(),ne("header",{ref_key:"rootEl",ref:C,class:"rd-topbar","data-region":"topbar"},[F("div",Oy,[F("span",Dy,[F("span",jy,[nt(fe(pe(o).title||"Research Dashboard"),1),f[1]||(f[1]=F("span",{class:"dot"},".",-1))])])]),F("div",zy,[Ie(Ou,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=F("span",{class:"rd-spacer"},null,-1)),r.value?(ee(),ne("div",By,[f[2]||(f[2]=F("span",{class:"ic"},"⌕",-1)),Rt(F("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=g=>c.value=g),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:A,onFocus:A,onKeydown:y},null,544),[[Lp,c.value]]),u.value&&c.value.trim().length>=2?(ee(),ne("div",{key:0,class:"rd-results","data-search-results":"",onClick:v},[b.value.length?(ee(!0),ne(Ce,{key:0},et(b.value,(g,k)=>(ee(),ne("div",{key:g.slug,class:Me(["rd-res",{on:k===p.value}]),"data-slug":g.slug},[F("span",Gy,fe(g.name),1),F("span",qy,fe(pe(Xe)(g.country_code))+" · "+fe(pe(Xe)(g.religion)),1)],10,Uy))),128)):(ee(),ne("div",Vy,"No people groups match “"+fe(c.value.trim())+"”.",1))])):ze("",!0)])):ze("",!0),F("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[zr(to(s,["prevent"]),["enter"]),zr(to(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,Hy),Ie(Py,{"embed-path":Wy})],512))}},Ln="#c4c8c0";function Yy(e,t){const n=ts(e);return n&&n.propertyKey===t&&n.palette?n.palette:null}const Xy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Jy(){const e=oe(()=>{const n=ts(_n.DOXA_REGION),o=n&&n.propertyKey==="doxaRegion";return{slug:o&&n.slugColors||null,alias:o&&n.aliases||null}});function t(n,o,r,s){if(r==null||r==="")return Ln;if(n==="people"){const a=Yy(_n.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Ln}if(n==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[Xy(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Ln}return n==="language"?bn[s||r]||Ln:n==="religion"&&$t[s]||Ln}return{colorFor:t,NEUTRAL:Ln}}const Zy={class:"rd-facets","data-region":"facets"},Qy={class:"fr-head"},ev={class:"fr-scope","data-scope-count":""},tv=["data-facet-section"],nv=["onClick"],ov={class:"fr-rows"},rv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],sv=["data-expand","data-expand-value","aria-expanded","aria-label"],av={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},iv={class:"fr-lbl"},lv={class:"fr-bar"},cv={class:"fr-cnt"},uv={key:3,class:"fr-donly","aria-hidden":"true"},dv={__name:"DashboardFacetRail",setup(e){const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("dashboardConfig",{}),r=Se("dataStore",null),s=Se("searchSourceId",null),a=(n==null?void 0:n.filterSet)||{},i=Object.fromEntries(Object.entries(o.facets||{}).map(([E,N])=>[E,N.get])),l=new Set(Object.entries(o.facets||{}).filter(([,E])=>E&&E.dashboardOnly).map(([E])=>E)),c=Jo(n,Xo(o));function u(E){var G,K;const N=((G=t==null?void 0:t.rows)==null?void 0:G.value)||[],J=Object.keys(a).filter(ce=>!E.includes(ce)),j=!!(((K=n==null?void 0:n.searchTerm)==null?void 0:K.value)||"").trim();return!J.length&&!j?N:N.filter(ce=>J.every(ge=>{const Ae=i[ge];return Ae?Ae(ce)===a[ge]:!0})&&c(ce))}const p=In(Object.fromEntries((o.facetRail||[]).map(E=>[E.id,!0])));function b(E){p[E]=!p[E]}const x=In({}),A=(E,N)=>E+":"+N;function y(E,N){const J=A(E,N);x[J]=!v(E,N)}function v(E,N){const J=A(E,N);return J in x?x[J]:a[E]===N}function C(E,N,J){const j=E.reduce((G,K)=>Math.max(G,K.value),0)||1;return E.map(G=>({facet:N,value:G.key,label:G.key,count:G.value,frac:G.value/j,level:J,other:!!G.other,active:!G.other&&a[N]===G.key,dashboardOnly:l.has(N)}))}const _=new Map;function d(E,N,J){if(J)return _.set(E,N.map(_e=>({..._e,count:0,frac:0,active:!1,expanded:!1}))),N;const j=_.get(E);if(!j)return N;const G=_e=>_e.facet+":"+_e.value,K=new Set(N.map(G));if(!j.filter(_e=>!K.has(G(_e))).length)return N;const ge=new Map;let Ae="";for(const _e of j){const Ue=G(_e);if(K.has(Ue)){Ae=Ue;continue}ge.has(Ae)||ge.set(Ae,[]),ge.get(Ae).push({..._e,zero:!0})}const Ne=[];for(const _e of ge.get("")||[])Ne.push(_e);for(let _e=0;_eUe.level;)Ne.push(N[++_e]);for(const Oe of Ze)Ne.push(Oe)}}return Ne}function f(E,N){return C(ja(u([E]),i[E],N??24),E,0)}function g(E,N){const J=[],j=(G,K)=>{const ce=E[G],ge=(N&&N[G])??(G===E.length-1?40:30);let Ae=u(E.slice(G));K.length&&(Ae=Ae.filter(_e=>K.every(([Ue,Ze])=>{const Oe=i[Ue];return Oe?Oe(_e)===Ze:!0})));const Ne=C(ja(Ae,i[ce],ge),ce,G);for(const _e of Ne)_e.hasChildren=!_e.other&&G{var J;const E=new Map,N=o.facets&&o.facets.religion_family;if(!N||!N.famKey)return E;for(const j of((J=t==null?void 0:t.rows)==null?void 0:J.value)||[]){const G=N.get(j);G&&!E.has(G)&&E.set(G,N.famKey(j))}return E}),H=oe(()=>{var E;return!Object.keys(a).length&&!(((E=n==null?void 0:n.searchTerm)==null?void 0:E.value)||"").trim()}),Q=oe(()=>(o.facetRail||[]).map(E=>{let N=E.drill?g(E.drill,E.topN):f(E.facet,E.topN);if(N=d(E.id,N,H.value),E.tree==="affinity"){const J=$.value;N=N.map(j=>j.other?j:{...j,label:J[j.facet]&&J[j.facet].get(j.value)||j.label})}return N=S(N,E.axis,O.value),{id:E.id,title:E.title,axis:E.axis,rows:k(N)}})),he=oe(()=>{var J;const E=((J=t==null?void 0:t.rows)==null?void 0:J.value)||[],N=Object.keys(a);return N.length?E.filter(j=>N.every(G=>{const K=i[G];return K?K(j)===a[G]:!0})).length:E.length});function z(E){const N=E.target;if(!N||!N.closest)return;const J=N.closest("[data-expand]");if(J){const ce=J.getAttribute("data-expand"),ge=J.getAttribute("data-expand-value");ce&&ge!=null&&(E.stopPropagation(),y(ce,ge));return}const j=N.closest("[data-facet]");if(!j||!n)return;const G=j.getAttribute("data-facet"),K=j.getAttribute("data-value");!G||!K||n.setFilter(G,a[G]===K?null:K)}function Y(E){if(E.key!=="Enter"&&E.key!==" "&&E.key!=="Spacebar")return;const N=E.target&&E.target.closest?E.target.closest("[data-facet]"):null;if(!N||!n)return;E.preventDefault();const J=N.getAttribute("data-facet"),j=N.getAttribute("data-value");!J||!j||n.setFilter(J,a[J]===j?null:j)}const B=ue(null);return xt(()=>{n&&n.on("mapFocus",({value:E}={})=>{if(!E||!B.value)return;const J=[...B.value.querySelectorAll(".fr-row")].find(j=>j.textContent&&j.textContent.includes(E));J&&(B.value.scrollTop=Math.max(0,J.offsetTop-8))})}),Tt(` .rd-facets{ display:flex; flex-direction:column; height:100%; min-height:0; box-sizing:border-box; background:var(--rd-panel,#fff); } .rd-facets .fr-head{ flex:0 0 auto; padding:var(--s3,12px) var(--s3,12px) var(--s2,8px); border-bottom:1px solid var(--rd-line, #d1d4cd); } @@ -483,7 +483,7 @@ .fr-cnt{ flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--dx-muted, #6d766e); min-width:30px; text-align:right; font-size:11px; margin-left:8px; } .fr-row.dash-only .fr-donly{ flex:0 0 auto; margin-left:6px; font-size:10px; line-height:1; color:var(--dx-muted, #6d766e); opacity:.75; } -`,"rd-facetrail"),(E,N)=>(ee(),te("aside",Xy,[F("div",Jy,[N[1]||(N[1]=F("div",{class:"fr-title"},"Tree Legend",-1)),F("div",Zy,[F("b",null,fe(he.value.toLocaleString("en-US")),1),N[0]||(N[0]=nt(" groups in scope",-1))])]),F("div",{class:"fr-body",ref_key:"railEl",ref:B,onClick:z,onKeydown:Y},[(ee(!0),te(Ce,null,Qe(Z.value,X=>(ee(),te("div",{key:X.id,class:"fr-sec","data-facet-section":X.id},[F("div",{class:Ne(["fr-sech",{closed:!p[X.id]}]),onClick:to(j=>b(X.id),["stop"])},[F("span",null,fe(X.title),1),N[2]||(N[2]=F("span",{class:"chev"},"▾",-1))],10,ev),Rt(F("div",tv,[(ee(!0),te(Ce,null,Qe(X.rows,j=>(ee(),te("div",{key:j.facet+":"+j.value,class:Ne(["fr-row",["l"+j.level,{on:j.active,other:j.other,zero:j.zero,inert:j.other||j.zero,"dash-only":j.dashboardOnly}]]),"data-facet":j.other||j.zero?null:j.facet,"data-value":j.other||j.zero?null:j.value,tabindex:j.other||j.zero?null:0,role:j.other||j.zero?null:"button","aria-pressed":j.other||j.zero?null:j.active?"true":"false","aria-label":j.other||j.zero?null:(j.active?"Remove filter ":"Filter by ")+j.label+", "+j.count.toLocaleString("en-US")+" groups"+(j.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:j.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+j.label:null},[(ee(!0),te(Ce,null,Qe(j.trunks,(q,W)=>(ee(),te("span",{key:"tr"+W,class:Ne(["fr-trunk","fr-trunk-"+q])},null,2))),128)),j.hasChildren?(ee(),te("button",{key:0,type:"button",class:Ne(["fr-caret-btn",{open:j.expanded}]),"data-expand":j.facet,"data-expand-value":j.value,"aria-expanded":j.expanded?"true":"false","aria-label":(j.expanded?"Collapse ":"Expand ")+j.label},[...N[3]||(N[3]=[F("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,ov)):(ee(),te("span",rv)),j.swatch?(ee(),te("span",{key:2,class:"fr-sw",style:gt({background:j.swatch}),"aria-hidden":"true"},null,4)):Be("",!0),F("span",sv,fe(j.label),1),F("span",av,[F("i",{style:gt({width:Math.max(4,j.frac*100)+"%"})},null,4)]),F("span",iv,fe(j.count.toLocaleString("en-US")),1),j.dashboardOnly?(ee(),te("span",lv,"◐")):Be("",!0)],10,nv))),128))],512),[[Zt,p[X.id]]])],8,Qy))),128))],544)]))}},uv=["data-sel-count"],dv=["data-collapsed"],fv=["title","aria-expanded"],pv={class:"ct","data-table-count":""},gv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},hv=["aria-pressed"],mv=["aria-pressed"],bv={key:2,class:"rd-toast","data-export-toast":""},_v=["aria-busy","title","onKeydown"],yv={key:0,class:"rd-csv-n"},vv=["data-sort-by","aria-rowcount"],wv={class:"rd-thead",role:"row"},xv=["title"],kv=["checked","aria-label"],$v=["title","aria-sort","data-col","onClick"],Sv={class:"ind"},Ev=["data-slug","aria-selected","aria-rowindex"],Av={class:"rd-td chk",role:"gridcell"},Cv=["checked","aria-label"],Tv={class:"rd-foot",role:"row"},Zo=26,Lv={__name:"DashboardDataTable",setup(e){const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("dashboardConfig",{}),r=L=>{if(typeof L=="number")return L;const J=parseFloat(String(L??"").replace(/[^0-9.\-]/g,""));return isNaN(J)?null:J},s=L=>L==null?"":Number(L).toLocaleString("en-US"),a=re(()=>o.columns||[]);function i(L){const J=Number(L&&L.w);return{flex:`${Number.isFinite(J)&&J>0?J:1} 1 0`}}const l=Object.fromEntries(Object.entries(o.facets||{}).map(([L,J])=>[L,J.get])),c=re(()=>{var L;return((L=t==null?void 0:t.rows)==null?void 0:L.value)||[]}),u=(n==null?void 0:n.filterSet)||{},p=n==null?void 0:n.selectionSet;function b(L,J,ne){const me=l[J];if(!me)return!0;const ve=me(L);return Array.isArray(ne)?ne.includes(ve):ve===ne}const x=Jo(n,Xo(o)),A=re(()=>{var ne;const L=Object.keys(u),J=!!(((ne=n==null?void 0:n.searchTerm)==null?void 0:ne.value)||"").trim();return!L.length&&!J?c.value:c.value.filter(me=>L.every(ve=>b(me,ve,u[ve]))&&x(me))}),y=ue([]);function v(L,J){const ne=!!(J&&J.shiftKey),me=y.value.findIndex(ve=>ve.key===L.key);if(me<0)y.value=(ne?[...y.value]:[]).concat({key:L.key,dir:"asc"});else if(y.value[me].dir==="asc"){const ve=[...y.value];ve[me]={key:L.key,dir:"desc"},y.value=ve}else y.value=ne?y.value.filter(ve=>ve.key!==L.key):[]}function C(L){const J=y.value.find(ne=>ne.key===L.key);return J?J.dir==="asc"?"ascending":"descending":"none"}const _=re(()=>{const L=y.value;if(!L.length)return A.value;const J=L.map(ne=>({col:a.value.find(me=>me.key===ne.key),dir:ne.dir==="asc"?1:-1}));return A.value.slice().sort((ne,me)=>{for(const{col:ve,dir:Re}of J){let et=ve.get(ne),wt=ve.get(me);if((et==null||et==="")&&(et=ve.type==="num"?-1/0:""),(wt==null||wt==="")&&(wt=ve.type==="num"?-1/0:""),etwt)return 1*Re}return 0})}),d=ue(!1),f=ue(!1);function g(){d.value=!d.value}function k(){f.value=!f.value}const $=()=>n&&n.selectionVersion?n.selectionVersion.value:0,I=re(()=>{let L=_.value;if(d.value&&($(),L=L.filter(J=>p&&p.has(J.slug))),f.value){$();const J=[],ne=[];for(const me of L)(p&&p.has(me.slug)?J:ne).push(me);L=J.concat(ne)}return L}),S=ue(0),R=ue(360),V=ue(null);let Z=null;function he(L){S.value=L.target.scrollTop}const z=re(()=>Math.max(0,Math.floor(S.value/Zo)-6)),Y=re(()=>Math.ceil(R.value/Zo)+12),B=re(()=>I.value.slice(z.value,z.value+Y.value)),E=re(()=>z.value*Zo),N=re(()=>Math.max(0,(I.value.length-(z.value+B.value.length))*Zo));xt(()=>{V.value&&(R.value=V.value.clientHeight||360,Z=new ResizeObserver(()=>{R.value=V.value.clientHeight||R.value}),Z.observe(V.value)),n&&n.on("toggleTable",L=>{H.value=!!L}),n&&n.on("focusRow",({slug:L}={})=>{if(!L||!V.value)return;const J=I.value.findIndex(ne=>ne.slug===L);J>=0&&(V.value.scrollTop=Math.max(0,J*Zo-R.value/2))})}),Ot(()=>{Z&&Z.disconnect(),clearTimeout(ce)});const X=re(()=>($(),p?p.size:0)),j=L=>!!(p&&p.has(L.slug)),q=re(()=>$()),W=ue(null),le=ue("select");let ge=new Set;function Se(L,J){W.value=L,le.value=J,ge=new Set(p)}function Ie(L,J){const ne=I.value,me=ne.findIndex(Ze=>Ze.slug===L),ve=ne.findIndex(Ze=>Ze.slug===J);if(me<0||ve<0)return[];const[Re,et]=me<=ve?[me,ve]:[ve,me],wt=[];for(let Ze=Re;Ze<=et;Ze++)wt.push(ne[Ze].slug);return wt}function be(L,J){if(!n||!L)return;const ne=!!(J&&(J.ctrlKey||J.metaKey));if(!!(J&&J.shiftKey)&&W.value){const ve=Ie(W.value,L);if(!ve.length)return;if(ne){const Re=new Set(ge);if(le.value==="deselect")for(const et of ve)Re.delete(et);else for(const et of ve)Re.add(et);n.setSelection(Re)}else n.setSelection(ve);return}if(ne){const ve=!p.has(L);Se(L,ve?"select":"deselect"),n.toggleSelect(L),ge=new Set(p);return}Se(L,"select"),n.setSelection([L]),ge=new Set(p)}function Ge(L){const J=L.target;if(!J||!J.closest)return;const ne=J.closest(".rd-row");if(!ne||!n)return;const me=ne.getAttribute("data-slug");if(me){if(J.closest(".rd-td.chk")){if(L.shiftKey||L.ctrlKey||L.metaKey){be(me,L);return}Se(me,p.has(me)?"deselect":"select"),n.toggleSelect(me),ge=new Set(p);return}be(me,L)}}function Je(L){L.shiftKey&&L.target&&L.target.closest&&L.target.closest(".rd-row")&&L.preventDefault()}const Fe=re(()=>{$();const L=A.value;if(!L.length)return!1;for(const J of L)if(!p.has(J.slug))return!1;return!0}),rt=re(()=>{if($(),Fe.value)return!1;for(const L of A.value)if(p.has(L.slug))return!0;return!1});function w(){if(!n)return;const L=A.value.map(J=>J.slug);Fe.value?n.deselectMany(L):n.selectMany(L),W.value=null,ge=new Set(p)}function P(){n&&n.clearSelection(),W.value=null,ge=new Set}const T=ue(null);function U(L){T.value=L||null}mt([rt,T],()=>{T.value&&(T.value.indeterminate=rt.value)},{immediate:!0}),mt([y,()=>A.value.length,d,f],()=>{W.value=null}),mt(X,L=>{L||(d.value=!1)});const H=ue(!1);function Q(){H.value=!H.value,n&&n.emit("toggleTable",H.value)}const ae=re(()=>A.value.reduce((L,J)=>L+(r(J.population)||0),0)),se=re(()=>A.value.length),{labelFor:h}=Yo(o,Ee("dataStore",null),Ee("searchSourceId",null)),m=t&&n?Ma({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:l,dataOpts:o.data,labelFor:h}):null,D=ue(""),G=ue(!1);let ce=null;async function oe(){if(!(!m||G.value)){G.value=!0;try{const L=await m.exportCsvAsync(),J=L.downloaded?"exported":L.clipboard?"copied to clipboard":"ready";D.value=`✓ ${s(L.rows)} rows × ${L.fields} fields ${J}`}catch{D.value="✕ Export failed"}finally{G.value=!1,clearTimeout(ce),ce=setTimeout(()=>{D.value=""},3200)}}}function O(){m&&m.prefetchExportFields()}return Tt(` +`,"rd-facetrail"),(E,N)=>(ee(),ne("aside",Zy,[F("div",Qy,[N[1]||(N[1]=F("div",{class:"fr-title"},"Tree Legend",-1)),F("div",ev,[F("b",null,fe(he.value.toLocaleString("en-US")),1),N[0]||(N[0]=nt(" groups in scope",-1))])]),F("div",{class:"fr-body",ref_key:"railEl",ref:B,onClick:z,onKeydown:Y},[(ee(!0),ne(Ce,null,et(Q.value,J=>(ee(),ne("div",{key:J.id,class:"fr-sec","data-facet-section":J.id},[F("div",{class:Me(["fr-sech",{closed:!p[J.id]}]),onClick:to(j=>b(J.id),["stop"])},[F("span",null,fe(J.title),1),N[2]||(N[2]=F("span",{class:"chev"},"▾",-1))],10,nv),Rt(F("div",ov,[(ee(!0),ne(Ce,null,et(J.rows,j=>(ee(),ne("div",{key:j.facet+":"+j.value,class:Me(["fr-row",["l"+j.level,{on:j.active,other:j.other,zero:j.zero,inert:j.other||j.zero,"dash-only":j.dashboardOnly}]]),"data-facet":j.other||j.zero?null:j.facet,"data-value":j.other||j.zero?null:j.value,tabindex:j.other||j.zero?null:0,role:j.other||j.zero?null:"button","aria-pressed":j.other||j.zero?null:j.active?"true":"false","aria-label":j.other||j.zero?null:(j.active?"Remove filter ":"Filter by ")+j.label+", "+j.count.toLocaleString("en-US")+" groups"+(j.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:j.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+j.label:null},[(ee(!0),ne(Ce,null,et(j.trunks,(G,K)=>(ee(),ne("span",{key:"tr"+K,class:Me(["fr-trunk","fr-trunk-"+G])},null,2))),128)),j.hasChildren?(ee(),ne("button",{key:0,type:"button",class:Me(["fr-caret-btn",{open:j.expanded}]),"data-expand":j.facet,"data-expand-value":j.value,"aria-expanded":j.expanded?"true":"false","aria-label":(j.expanded?"Collapse ":"Expand ")+j.label},[...N[3]||(N[3]=[F("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,sv)):(ee(),ne("span",av)),j.swatch?(ee(),ne("span",{key:2,class:"fr-sw",style:gt({background:j.swatch}),"aria-hidden":"true"},null,4)):ze("",!0),F("span",iv,fe(j.label),1),F("span",lv,[F("i",{style:gt({width:Math.max(4,j.frac*100)+"%"})},null,4)]),F("span",cv,fe(j.count.toLocaleString("en-US")),1),j.dashboardOnly?(ee(),ne("span",uv,"◐")):ze("",!0)],10,rv))),128))],512),[[Zt,p[J.id]]])],8,tv))),128))],544)]))}},fv=["data-sel-count"],pv=["data-collapsed"],gv=["title","aria-expanded"],hv={class:"ct","data-table-count":""},mv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},bv=["aria-pressed"],_v=["aria-pressed"],yv={key:2,class:"rd-toast","data-export-toast":""},vv=["aria-busy","title","onKeydown"],wv={key:0,class:"rd-csv-n"},xv=["data-sort-by","aria-rowcount"],kv={class:"rd-thead",role:"row"},$v=["title"],Sv=["checked","aria-label"],Ev=["title","aria-sort","data-col","onClick"],Av={class:"ind"},Cv=["data-slug","aria-selected","aria-rowindex"],Tv={class:"rd-td chk",role:"gridcell"},Lv=["checked","aria-label"],Pv={class:"rd-foot",role:"row"},Zo=26,Iv={__name:"DashboardDataTable",setup(e){const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("dashboardConfig",{}),r=L=>{if(typeof L=="number")return L;const X=parseFloat(String(L??"").replace(/[^0-9.\-]/g,""));return isNaN(X)?null:X},s=L=>L==null?"":Number(L).toLocaleString("en-US"),a=oe(()=>o.columns||[]);function i(L){const X=Number(L&&L.w);return{flex:`${Number.isFinite(X)&&X>0?X:1} 1 0`}}const l=Object.fromEntries(Object.entries(o.facets||{}).map(([L,X])=>[L,X.get])),c=oe(()=>{var L;return((L=t==null?void 0:t.rows)==null?void 0:L.value)||[]}),u=(n==null?void 0:n.filterSet)||{},p=n==null?void 0:n.selectionSet;function b(L,X,te){const me=l[X];if(!me)return!0;const ve=me(L);return Array.isArray(te)?te.includes(ve):ve===te}const x=Jo(n,Xo(o)),A=oe(()=>{var te;const L=Object.keys(u),X=!!(((te=n==null?void 0:n.searchTerm)==null?void 0:te.value)||"").trim();return!L.length&&!X?c.value:c.value.filter(me=>L.every(ve=>b(me,ve,u[ve]))&&x(me))}),y=ue([]);function v(L,X){const te=!!(X&&X.shiftKey),me=y.value.findIndex(ve=>ve.key===L.key);if(me<0)y.value=(te?[...y.value]:[]).concat({key:L.key,dir:"asc"});else if(y.value[me].dir==="asc"){const ve=[...y.value];ve[me]={key:L.key,dir:"desc"},y.value=ve}else y.value=te?y.value.filter(ve=>ve.key!==L.key):[]}function C(L){const X=y.value.find(te=>te.key===L.key);return X?X.dir==="asc"?"ascending":"descending":"none"}const _=oe(()=>{const L=y.value;if(!L.length)return A.value;const X=L.map(te=>({col:a.value.find(me=>me.key===te.key),dir:te.dir==="asc"?1:-1}));return A.value.slice().sort((te,me)=>{for(const{col:ve,dir:Ge}of X){let Ve=ve.get(te),wt=ve.get(me);if((Ve==null||Ve==="")&&(Ve=ve.type==="num"?-1/0:""),(wt==null||wt==="")&&(wt=ve.type==="num"?-1/0:""),Vewt)return 1*Ge}return 0})}),d=ue(!1),f=ue(!1);function g(){d.value=!d.value}function k(){f.value=!f.value}const $=()=>n&&n.selectionVersion?n.selectionVersion.value:0,I=oe(()=>{let L=_.value;if(d.value&&($(),L=L.filter(X=>p&&p.has(X.slug))),f.value){$();const X=[],te=[];for(const me of L)(p&&p.has(me.slug)?X:te).push(me);L=X.concat(te)}return L}),S=ue(0),O=ue(360),H=ue(null);let Q=null;function he(L){S.value=L.target.scrollTop}const z=oe(()=>Math.max(0,Math.floor(S.value/Zo)-6)),Y=oe(()=>Math.ceil(O.value/Zo)+12),B=oe(()=>I.value.slice(z.value,z.value+Y.value)),E=oe(()=>z.value*Zo),N=oe(()=>Math.max(0,(I.value.length-(z.value+B.value.length))*Zo));xt(()=>{H.value&&(O.value=H.value.clientHeight||360,Q=new ResizeObserver(()=>{O.value=H.value.clientHeight||O.value}),Q.observe(H.value)),n&&n.on("toggleTable",L=>{W.value=!!L}),n&&n.on("focusRow",({slug:L}={})=>{if(!L||!H.value)return;const X=I.value.findIndex(te=>te.slug===L);X>=0&&(H.value.scrollTop=Math.max(0,X*Zo-O.value/2))})}),Ot(()=>{Q&&Q.disconnect(),clearTimeout(le)});const J=oe(()=>($(),p?p.size:0)),j=L=>!!(p&&p.has(L.slug)),G=oe(()=>$()),K=ue(null),ce=ue("select");let ge=new Set;function Ae(L,X){K.value=L,ce.value=X,ge=new Set(p)}function Ne(L,X){const te=I.value,me=te.findIndex(Qe=>Qe.slug===L),ve=te.findIndex(Qe=>Qe.slug===X);if(me<0||ve<0)return[];const[Ge,Ve]=me<=ve?[me,ve]:[ve,me],wt=[];for(let Qe=Ge;Qe<=Ve;Qe++)wt.push(te[Qe].slug);return wt}function _e(L,X){if(!n||!L)return;const te=!!(X&&(X.ctrlKey||X.metaKey));if(!!(X&&X.shiftKey)&&K.value){const ve=Ne(K.value,L);if(!ve.length)return;if(te){const Ge=new Set(ge);if(ce.value==="deselect")for(const Ve of ve)Ge.delete(Ve);else for(const Ve of ve)Ge.add(Ve);n.setSelection(Ge)}else n.setSelection(ve);return}if(te){const ve=!p.has(L);Ae(L,ve?"select":"deselect"),n.toggleSelect(L),ge=new Set(p);return}Ae(L,"select"),n.setSelection([L]),ge=new Set(p)}function Ue(L){const X=L.target;if(!X||!X.closest)return;const te=X.closest(".rd-row");if(!te||!n)return;const me=te.getAttribute("data-slug");if(me){if(X.closest(".rd-td.chk")){if(L.shiftKey||L.ctrlKey||L.metaKey){_e(me,L);return}Ae(me,p.has(me)?"deselect":"select"),n.toggleSelect(me),ge=new Set(p);return}_e(me,L)}}function Ze(L){L.shiftKey&&L.target&&L.target.closest&&L.target.closest(".rd-row")&&L.preventDefault()}const Oe=oe(()=>{$();const L=A.value;if(!L.length)return!1;for(const X of L)if(!p.has(X.slug))return!1;return!0}),rt=oe(()=>{if($(),Oe.value)return!1;for(const L of A.value)if(p.has(L.slug))return!0;return!1});function w(){if(!n)return;const L=A.value.map(X=>X.slug);Oe.value?n.deselectMany(L):n.selectMany(L),K.value=null,ge=new Set(p)}function P(){n&&n.clearSelection(),K.value=null,ge=new Set}const T=ue(null);function U(L){T.value=L||null}mt([rt,T],()=>{T.value&&(T.value.indeterminate=rt.value)},{immediate:!0}),mt([y,()=>A.value.length,d,f],()=>{K.value=null}),mt(J,L=>{L||(d.value=!1)});const W=ue(!1);function Z(){W.value=!W.value,n&&n.emit("toggleTable",W.value)}const ie=oe(()=>A.value.reduce((L,X)=>L+(r(X.population)||0),0)),re=oe(()=>A.value.length),{labelFor:h}=Yo(o,Se("dataStore",null),Se("searchSourceId",null)),m=t&&n?Ma({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:l,dataOpts:o.data,labelFor:h}):null,D=ue(""),q=ue(!1);let le=null;async function se(){if(!(!m||q.value)){q.value=!0;try{const L=await m.exportCsvAsync(),X=L.downloaded?"exported":L.clipboard?"copied to clipboard":"ready";D.value=`✓ ${s(L.rows)} rows × ${L.fields} fields ${X}`}catch{D.value="✕ Export failed"}finally{q.value=!1,clearTimeout(le),le=setTimeout(()=>{D.value=""},3200)}}}function R(){m&&m.prefetchExportFields()}return Tt(` .rd-table-wrap{ display:flex; flex-direction:column; height:100%; min-height:0; background:#fff; font-size:12px; } .rd-table-bar{ position:relative; display:flex; align-items:center; gap:10px; padding:4px 10px; border-bottom:1px solid var(--dx-line, #d1d4cd); flex:0 0 auto; } .rd-table-bar .ttl{ font-weight:700; color:var(--rd-ink, #3b463d); } .rd-table-bar .ct{ color:var(--dx-muted, #6d766e); } @@ -531,7 +531,7 @@ .rd-td.num{ text-align:right; font-variant-numeric:tabular-nums; } .rd-td.chk{ flex:0 0 30px; text-align:center; padding:0; } .rd-foot{ flex:0 0 auto; display:flex; border-top:2px solid var(--dx-line, #d1d4cd); background:var(--dx-surface, #f3f3f1); font-weight:700; height:28px; align-items:center; color:var(--dx-text, #3b463d); } .rd-foot .rd-td{ color:var(--dx-text, #3b463d); } -`,"rd-datatable"),(L,J)=>(ee(),te("div",{class:"rd-table-wrap","data-sel-count":X.value},[F("div",{class:"rd-table-bar","data-collapsed":H.value?"1":"0"},[F("button",{class:"rd-dock",title:H.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":H.value?"false":"true",onClick:Q},fe(H.value?"▴":"▾"),9,fv),J[0]||(J[0]=F("span",{class:"ttl"},"People Groups",-1)),F("span",pv,fe(s(se.value))+" "+fe(se.value===1?"group":"groups"),1),X.value?(ee(),te("span",gv,[F("span",null,fe(s(X.value))+" selected",1),F("button",{title:"Clear selection","aria-label":"Clear selection",onClick:P},"✕")])):Be("",!0),X.value?(ee(),te(Ce,{key:1},[F("button",{class:Ne(["rd-vtog",{on:d.value}]),"data-only-selected":"","aria-pressed":d.value?"true":"false",title:"Show only the selected people groups",onClick:g},"Only selected",10,hv),F("button",{class:Ne(["rd-vtog",{on:f.value}]),"data-selected-first":"","aria-pressed":f.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:k},"Selected first",10,mv)],64)):Be("",!0),J[1]||(J[1]=F("span",{class:"rd-bar-sp"},null,-1)),D.value?(ee(),te("span",bv,fe(D.value),1)):Be("",!0),F("span",{class:Ne(["rd-csv",{busy:G.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":G.value?"true":"false",title:X.value?`Export the ${X.value} selected people groups — all fields`:`Export these ${s(se.value)} people groups — all fields`,onClick:oe,onMouseenter:O,onFocus:O,onKeydown:[zr(to(oe,["prevent"]),["enter"]),zr(to(oe,["prevent"]),["space"])]},[nt(fe(G.value?"…":"↓")+" Export CSV",1),X.value?(ee(),te("span",yv,fe(X.value),1)):Be("",!0)],42,_v)],8,dv),Rt(F("div",{ref_key:"scroller",ref:V,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":y.value.map(ne=>ne.key+":"+ne.dir).join(","),"aria-rowcount":I.value.length+1,onScroll:he,onClick:Ge,onMousedown:Je},[F("div",wv,[F("div",{class:"rd-th chk",style:{cursor:"pointer"},title:Fe.value?"Deselect all "+s(se.value):"Select all "+s(se.value),onClick:w},[F("input",{type:"checkbox",checked:Fe.value,ref:U,"aria-label":Fe.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,kv)],8,xv),(ee(!0),te(Ce,null,Qe(a.value,ne=>(ee(),te("div",{key:ne.key,class:Ne(["rd-th",{num:ne.type==="num"}]),style:gt(i(ne)),title:`Sort this table by ${ne.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":C(ne),"data-col":ne.key,onClick:me=>v(ne,me)},[nt(fe(ne.label),1),F("span",Sv,fe(C(ne)==="ascending"?"▲":C(ne)==="descending"?"▼":""),1)],14,$v))),128))]),F("div",{style:gt({height:E.value+"px"})},null,4),(ee(!0),te(Ce,null,Qe(B.value,(ne,me)=>(ee(),te("div",{key:ne.slug,class:Ne(["rd-row",{sel:q.value>=0&&j(ne)}]),role:"row","data-slug":ne.slug,"aria-selected":j(ne)?"true":"false","aria-rowindex":z.value+me+2},[F("div",Av,[F("input",{type:"checkbox",class:"rd-rowchk",checked:j(ne),"aria-label":"Select "+ne.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Cv)]),(ee(!0),te(Ce,null,Qe(a.value,ve=>(ee(),te("div",{key:ve.key,class:Ne(["rd-td",{num:ve.type==="num"}]),style:gt(i(ve)),role:"gridcell"},fe(ve.type==="num"?s(ve.get(ne)):ve.get(ne)),7))),128))],10,Ev))),128)),F("div",{style:gt({height:N.value+"px"})},null,4)],40,vv),[[Zt,!H.value]]),Rt(F("div",Tv,[J[2]||(J[2]=F("div",{class:"rd-td chk"},null,-1)),(ee(!0),te(Ce,null,Qe(a.value,(ne,me)=>(ee(),te("div",{key:"f-"+ne.key,class:Ne(["rd-td",{num:ne.type==="num"}]),style:gt(i(ne))},[me===0?(ee(),te(Ce,{key:0},[nt("Σ "+fe(s(se.value))+" groups",1)],64)):ne.key==="population"?(ee(),te(Ce,{key:1},[nt(fe(s(ae.value)),1)],64)):Be("",!0)],6))),128))],512),[[Zt,!H.value]])],8,uv))}},Pv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Iv=["aria-selected","disabled","title","data-tab","onClick"],Nv=["data-chart"],Mv={class:"rd-ct"},Fv={class:"rd-donutwrap"},Rv=["aria-label"],Ov=["d","fill","data-facet","data-key"],Dv={class:"rd-legend"},jv=["data-facet","data-key","title"],zv={class:"rd-lt"},Bv=["data-chart"],Uv={class:"rd-ct"},Gv={class:"rd-bars"},qv=["data-facet","data-key"],Vv={class:"rd-bl"},Hv={class:"rd-bt"},Wv={class:"rd-bv"},Kv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],n=ue("charts"),o=Ee("dashboardData",null),r=Ee("selectionBus",null),s=Ee("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([v,C])=>[v,C.get])),l=Jo(r,Xo(s));function c(v){var f,g;const C=((f=o==null?void 0:o.rows)==null?void 0:f.value)||[],_=Object.keys(a).filter(k=>!v.includes(k)),d=!!(((g=r==null?void 0:r.searchTerm)==null?void 0:g.value)||"").trim();return!_.length&&!d?C:C.filter(k=>_.every($=>{const I=i[$];return I?I(k)===a[$]:!0})&&l(k))}const u=re(()=>{var _,d,f,g,k;const v=(d=(_=s.facets)==null?void 0:_.country_code)==null?void 0:d.get,C=(g=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:g.get;return!v||!C?null:Iy(((k=o==null?void 0:o.rows)==null?void 0:k.value)||[],v,C)}),p=re(()=>(s.charts||[]).map(v=>{var f,g;const C=((g=(f=s.facets)==null?void 0:f[v.facet])==null?void 0:g.get)||(k=>Ye(k[v.facet])),_=ja(c([v.facet]),C,v.topN),d=v.facet==="country_code"?u.value:null;return{id:v.id,type:v.type,facet:v.facet,title:v.title,geometry:v.type==="bar"?My(_,v.facet,d):Ny(_,132,.58,v.facet,d)}})),b=(v,C)=>a[v]===C,x=v=>a[v]!=null;function A(v,C){!C||C==="Other"||!r||r.setFilter(v,a[v]===C?null:C)}function y(v){const C=v.target&&v.target.closest&&v.target.closest("[data-facet]");C&&A(C.getAttribute("data-facet"),C.getAttribute("data-key"))}return Tt(` +`,"rd-datatable"),(L,X)=>(ee(),ne("div",{class:"rd-table-wrap","data-sel-count":J.value},[F("div",{class:"rd-table-bar","data-collapsed":W.value?"1":"0"},[F("button",{class:"rd-dock",title:W.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":W.value?"false":"true",onClick:Z},fe(W.value?"▴":"▾"),9,gv),X[0]||(X[0]=F("span",{class:"ttl"},"People Groups",-1)),F("span",hv,fe(s(re.value))+" "+fe(re.value===1?"group":"groups"),1),J.value?(ee(),ne("span",mv,[F("span",null,fe(s(J.value))+" selected",1),F("button",{title:"Clear selection","aria-label":"Clear selection",onClick:P},"✕")])):ze("",!0),J.value?(ee(),ne(Ce,{key:1},[F("button",{class:Me(["rd-vtog",{on:d.value}]),"data-only-selected":"","aria-pressed":d.value?"true":"false",title:"Show only the selected people groups",onClick:g},"Only selected",10,bv),F("button",{class:Me(["rd-vtog",{on:f.value}]),"data-selected-first":"","aria-pressed":f.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:k},"Selected first",10,_v)],64)):ze("",!0),X[1]||(X[1]=F("span",{class:"rd-bar-sp"},null,-1)),D.value?(ee(),ne("span",yv,fe(D.value),1)):ze("",!0),F("span",{class:Me(["rd-csv",{busy:q.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":q.value?"true":"false",title:J.value?`Export the ${J.value} selected people groups — all fields`:`Export these ${s(re.value)} people groups — all fields`,onClick:se,onMouseenter:R,onFocus:R,onKeydown:[zr(to(se,["prevent"]),["enter"]),zr(to(se,["prevent"]),["space"])]},[nt(fe(q.value?"…":"↓")+" Export CSV",1),J.value?(ee(),ne("span",wv,fe(J.value),1)):ze("",!0)],42,vv)],8,pv),Rt(F("div",{ref_key:"scroller",ref:H,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":y.value.map(te=>te.key+":"+te.dir).join(","),"aria-rowcount":I.value.length+1,onScroll:he,onClick:Ue,onMousedown:Ze},[F("div",kv,[F("div",{class:"rd-th chk",style:{cursor:"pointer"},title:Oe.value?"Deselect all "+s(re.value):"Select all "+s(re.value),onClick:w},[F("input",{type:"checkbox",checked:Oe.value,ref:U,"aria-label":Oe.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Sv)],8,$v),(ee(!0),ne(Ce,null,et(a.value,te=>(ee(),ne("div",{key:te.key,class:Me(["rd-th",{num:te.type==="num"}]),style:gt(i(te)),title:`Sort this table by ${te.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":C(te),"data-col":te.key,onClick:me=>v(te,me)},[nt(fe(te.label),1),F("span",Av,fe(C(te)==="ascending"?"▲":C(te)==="descending"?"▼":""),1)],14,Ev))),128))]),F("div",{style:gt({height:E.value+"px"})},null,4),(ee(!0),ne(Ce,null,et(B.value,(te,me)=>(ee(),ne("div",{key:te.slug,class:Me(["rd-row",{sel:G.value>=0&&j(te)}]),role:"row","data-slug":te.slug,"aria-selected":j(te)?"true":"false","aria-rowindex":z.value+me+2},[F("div",Tv,[F("input",{type:"checkbox",class:"rd-rowchk",checked:j(te),"aria-label":"Select "+te.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Lv)]),(ee(!0),ne(Ce,null,et(a.value,ve=>(ee(),ne("div",{key:ve.key,class:Me(["rd-td",{num:ve.type==="num"}]),style:gt(i(ve)),role:"gridcell"},fe(ve.type==="num"?s(ve.get(te)):ve.get(te)),7))),128))],10,Cv))),128)),F("div",{style:gt({height:N.value+"px"})},null,4)],40,xv),[[Zt,!W.value]]),Rt(F("div",Pv,[X[2]||(X[2]=F("div",{class:"rd-td chk"},null,-1)),(ee(!0),ne(Ce,null,et(a.value,(te,me)=>(ee(),ne("div",{key:"f-"+te.key,class:Me(["rd-td",{num:te.type==="num"}]),style:gt(i(te))},[me===0?(ee(),ne(Ce,{key:0},[nt("Σ "+fe(s(re.value))+" groups",1)],64)):te.key==="population"?(ee(),ne(Ce,{key:1},[nt(fe(s(ie.value)),1)],64)):ze("",!0)],6))),128))],512),[[Zt,!W.value]])],8,fv))}},Nv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Mv=["aria-selected","disabled","title","data-tab","onClick"],Fv=["data-chart"],Rv={class:"rd-ct"},Ov={class:"rd-donutwrap"},Dv=["aria-label"],jv=["d","fill","data-facet","data-key"],zv={class:"rd-legend"},Bv=["data-facet","data-key","title"],Uv={class:"rd-lt"},Gv=["data-chart"],qv={class:"rd-ct"},Vv={class:"rd-bars"},Hv=["data-facet","data-key"],Wv={class:"rd-bl"},Kv={class:"rd-bt"},Yv={class:"rd-bv"},Xv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],n=ue("charts"),o=Se("dashboardData",null),r=Se("selectionBus",null),s=Se("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([v,C])=>[v,C.get])),l=Jo(r,Xo(s));function c(v){var f,g;const C=((f=o==null?void 0:o.rows)==null?void 0:f.value)||[],_=Object.keys(a).filter(k=>!v.includes(k)),d=!!(((g=r==null?void 0:r.searchTerm)==null?void 0:g.value)||"").trim();return!_.length&&!d?C:C.filter(k=>_.every($=>{const I=i[$];return I?I(k)===a[$]:!0})&&l(k))}const u=oe(()=>{var _,d,f,g,k;const v=(d=(_=s.facets)==null?void 0:_.country_code)==null?void 0:d.get,C=(g=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:g.get;return!v||!C?null:My(((k=o==null?void 0:o.rows)==null?void 0:k.value)||[],v,C)}),p=oe(()=>(s.charts||[]).map(v=>{var f,g;const C=((g=(f=s.facets)==null?void 0:f[v.facet])==null?void 0:g.get)||(k=>Xe(k[v.facet])),_=ja(c([v.facet]),C,v.topN),d=v.facet==="country_code"?u.value:null;return{id:v.id,type:v.type,facet:v.facet,title:v.title,geometry:v.type==="bar"?Ry(_,v.facet,d):Fy(_,132,.58,v.facet,d)}})),b=(v,C)=>a[v]===C,x=v=>a[v]!=null;function A(v,C){!C||C==="Other"||!r||r.setFilter(v,a[v]===C?null:C)}function y(v){const C=v.target&&v.target.closest&&v.target.closest("[data-facet]");C&&A(C.getAttribute("data-facet"),C.getAttribute("data-key"))}return Tt(` .rd-charts{ display:flex; flex-direction:column; gap:var(--s2,8px); height:100%; min-height:0; padding:6px 2px 6px 6px; background:var(--rd-panel,#fff); overflow-y:auto; overflow-x:hidden; box-sizing:border-box; @@ -580,7 +580,7 @@ .rd-bt{ flex:1 1 auto; height:11px; background:var(--dx-surface, #f3f3f1); border-radius:3px; overflow:hidden; } .rd-bf{ display:block; height:100%; border-radius:3px; transition:width .35s cubic-bezier(.4,0,.2,1); } .rd-bv{ flex:0 0 auto; color:var(--rd-muted, #6d766e); font-variant-numeric:tabular-nums; min-width:30px; text-align:right; } -`,"rd-charts"),(v,C)=>(ee(),te("aside",{class:"rd-charts","data-region":"charts-rail",onClick:y},[F("div",Pv,[(ee(),te(Ce,null,Qe(t,_=>F("button",{key:_.id,class:Ne(["rd-tab",{on:n.value===_.id,off:_.disabled}]),role:"tab",type:"button","aria-selected":n.value===_.id?"true":"false",disabled:_.disabled,title:_.disabled?_.why:_.label,"data-tab":_.id,onClick:to(d=>!_.disabled&&(n.value=_.id),["stop"])},fe(_.label),11,Iv)),64))]),(ee(!0),te(Ce,null,Qe(p.value,_=>(ee(),te(Ce,{key:_.id},[_.type==="donut"?(ee(),te("div",{key:0,class:"rd-chart","data-chart":_.facet},[F("div",Mv,fe(_.title),1),F("div",Fv,[(ee(),te("svg",{class:Ne(["rd-donut",{"has-sel":x(_.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":_.title+" donut"},[(ee(!0),te(Ce,null,Qe(_.geometry,d=>(ee(),te("path",{key:d.key,d:d.path,fill:d.color,class:Ne(["rd-slice",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key},[F("title",null,fe(d.key)+": "+fe(d.value)+" ("+fe(d.pct)+"%)",1)],10,Ov))),128))],10,Rv)),F("div",Dv,[(ee(!0),te(Ce,null,Qe(_.geometry,d=>(ee(),te("span",{key:d.key,class:Ne(["rd-li",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key,title:d.key+": "+d.value},[F("i",{style:gt({background:d.color})},null,4),F("span",zv,fe(d.key),1),F("b",null,fe(d.value),1)],10,jv))),128))])])],8,Nv)):(ee(),te("div",{key:1,class:"rd-chart","data-chart":_.facet},[F("div",Uv,fe(_.title),1),F("div",Gv,[(ee(!0),te(Ce,null,Qe(_.geometry,d=>(ee(),te("div",{key:d.key,class:Ne(["rd-bar",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key},[F("span",Vv,fe(d.key),1),F("span",Hv,[F("span",{class:"rd-bf",style:gt({width:d.frac*100+"%",background:d.color})},null,4)]),F("span",Wv,fe(d.value),1)],10,qv))),128))])],8,Bv))],64))),128))]))}},Yv={class:"rd-detail","data-region":"detail-drawer"},Xv={class:"rd-dh"},Jv={key:0,class:"rd-empty","data-detail-empty":""},Zv={class:"rd-top"},Qv=["src","alt"],e0={key:1,class:"rd-ph","data-detail-thumb":""},t0={class:"rd-name","data-detail-name":""},n0={class:"rd-meta"},o0={class:"rd-actions"},r0=["href","title"],s0=["href","title"],a0={class:"rd-rows"},i0={class:"rd-row"},l0={class:"v"},c0={key:0,class:"fam"},u0={class:"rd-row"},d0={class:"v"},f0={class:"rd-row"},p0={class:"v"},g0={class:"rd-row"},h0={class:"v"},m0={class:"rd-row"},b0={class:"v"},_0={class:"rd-row"},y0={class:"v"},v0={__name:"DashboardDetailDrawer",setup(e){const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("dashboardConfig",{}),r=Object.fromEntries(Object.entries(o.facets||{}).map(([f,g])=>[f,g.get])),{labelFor:s}=Yo(o,Ee("dataStore",null),Ee("searchSourceId",null)),a=t&&n?Ma({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:r,labelFor:s}):null,i=ue(null),l=[];xt(()=>{n&&(l.push(n.on("focusRow",f=>{f&&f.slug&&(i.value=f.slug)})),l.push(n.on("select",f=>{const g=f?[...f]:[];g.length&&(i.value=g[g.length-1])})))}),Ot(()=>{l.forEach(f=>{try{f()}catch{}}),l.length=0});const c=re(()=>{const f=i.value;return!f||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(f)||null}),u=f=>f==null||f===""?"—":Number(f).toLocaleString("en-US"),p=re(()=>{const f=c.value;return f?o.detail&&typeof o.detail.photo=="function"?!!o.detail.photo(f):!!(f.has_photo&&f.image_url):!1}),b=re(()=>o.detail||{});function x(f,g,k){if(typeof f=="function")try{return f(g)||k}catch{return k}return typeof f=="string"&&f?f.replace("{slug}",encodeURIComponent(g.slug||"")):k}const A=re(()=>{const f=c.value;if(!f)return null;const g=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),k=encodeURIComponent(String(g||b.value.utmSource||o.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(f.slug||"")}?source=doxalife&utm_source=${k}`;return x(b.value.prayUrl,f,$)}),y=re(()=>{var S;const f=c.value;if(!f)return null;const g=typeof window<"u"&&((S=window.location)==null?void 0:S.origin)||"https://doxa.life",k=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(k||b.value.utmSource||o.utmSource||"agwm")),I=`${g}/research/${encodeURIComponent(f.slug||"")}/?utm_source=${$}`;return x(b.value.moreInfoUrl,f,I)}),v=re(()=>b.value.prayLabel||"Pray for this people group"),C=re(()=>b.value.moreInfoLabel||"More information");function _(){!a||!n||(!n.selectionSet.size&&i.value&&n.toggleSelect(i.value),a.exportCsv())}function d(){i.value=null,n&&typeof n.clearSelection=="function"&&n.clearSelection()}return Tt(` +`,"rd-charts"),(v,C)=>(ee(),ne("aside",{class:"rd-charts","data-region":"charts-rail",onClick:y},[F("div",Nv,[(ee(),ne(Ce,null,et(t,_=>F("button",{key:_.id,class:Me(["rd-tab",{on:n.value===_.id,off:_.disabled}]),role:"tab",type:"button","aria-selected":n.value===_.id?"true":"false",disabled:_.disabled,title:_.disabled?_.why:_.label,"data-tab":_.id,onClick:to(d=>!_.disabled&&(n.value=_.id),["stop"])},fe(_.label),11,Mv)),64))]),(ee(!0),ne(Ce,null,et(p.value,_=>(ee(),ne(Ce,{key:_.id},[_.type==="donut"?(ee(),ne("div",{key:0,class:"rd-chart","data-chart":_.facet},[F("div",Rv,fe(_.title),1),F("div",Ov,[(ee(),ne("svg",{class:Me(["rd-donut",{"has-sel":x(_.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":_.title+" donut"},[(ee(!0),ne(Ce,null,et(_.geometry,d=>(ee(),ne("path",{key:d.key,d:d.path,fill:d.color,class:Me(["rd-slice",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key},[F("title",null,fe(d.key)+": "+fe(d.value)+" ("+fe(d.pct)+"%)",1)],10,jv))),128))],10,Dv)),F("div",zv,[(ee(!0),ne(Ce,null,et(_.geometry,d=>(ee(),ne("span",{key:d.key,class:Me(["rd-li",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key,title:d.key+": "+d.value},[F("i",{style:gt({background:d.color})},null,4),F("span",Uv,fe(d.key),1),F("b",null,fe(d.value),1)],10,Bv))),128))])])],8,Fv)):(ee(),ne("div",{key:1,class:"rd-chart","data-chart":_.facet},[F("div",qv,fe(_.title),1),F("div",Vv,[(ee(!0),ne(Ce,null,et(_.geometry,d=>(ee(),ne("div",{key:d.key,class:Me(["rd-bar",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key},[F("span",Wv,fe(d.key),1),F("span",Kv,[F("span",{class:"rd-bf",style:gt({width:d.frac*100+"%",background:d.color})},null,4)]),F("span",Yv,fe(d.value),1)],10,Hv))),128))])],8,Gv))],64))),128))]))}},Jv={class:"rd-detail","data-region":"detail-drawer"},Zv={class:"rd-dh"},Qv={key:0,class:"rd-empty","data-detail-empty":""},e0={class:"rd-top"},t0=["src","alt"],n0={key:1,class:"rd-ph","data-detail-thumb":""},o0={class:"rd-name","data-detail-name":""},r0={class:"rd-meta"},s0={class:"rd-actions"},a0=["href","title"],i0=["href","title"],l0={class:"rd-rows"},c0={class:"rd-row"},u0={class:"v"},d0={key:0,class:"fam"},f0={class:"rd-row"},p0={class:"v"},g0={class:"rd-row"},h0={class:"v"},m0={class:"rd-row"},b0={class:"v"},_0={class:"rd-row"},y0={class:"v"},v0={class:"rd-row"},w0={class:"v"},x0={__name:"DashboardDetailDrawer",setup(e){const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("dashboardConfig",{}),r=Object.fromEntries(Object.entries(o.facets||{}).map(([f,g])=>[f,g.get])),{labelFor:s}=Yo(o,Se("dataStore",null),Se("searchSourceId",null)),a=t&&n?Ma({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:r,labelFor:s}):null,i=ue(null),l=[];xt(()=>{n&&(l.push(n.on("focusRow",f=>{f&&f.slug&&(i.value=f.slug)})),l.push(n.on("select",f=>{const g=f?[...f]:[];g.length&&(i.value=g[g.length-1])})))}),Ot(()=>{l.forEach(f=>{try{f()}catch{}}),l.length=0});const c=oe(()=>{const f=i.value;return!f||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(f)||null}),u=f=>f==null||f===""?"—":Number(f).toLocaleString("en-US"),p=oe(()=>{const f=c.value;return f?o.detail&&typeof o.detail.photo=="function"?!!o.detail.photo(f):!!(f.has_photo&&f.image_url):!1}),b=oe(()=>o.detail||{});function x(f,g,k){if(typeof f=="function")try{return f(g)||k}catch{return k}return typeof f=="string"&&f?f.replace("{slug}",encodeURIComponent(g.slug||"")):k}const A=oe(()=>{const f=c.value;if(!f)return null;const g=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),k=encodeURIComponent(String(g||b.value.utmSource||o.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(f.slug||"")}?source=doxalife&utm_source=${k}`;return x(b.value.prayUrl,f,$)}),y=oe(()=>{var S;const f=c.value;if(!f)return null;const g=typeof window<"u"&&((S=window.location)==null?void 0:S.origin)||"https://doxa.life",k=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(k||b.value.utmSource||o.utmSource||"agwm")),I=`${g}/research/${encodeURIComponent(f.slug||"")}/?utm_source=${$}`;return x(b.value.moreInfoUrl,f,I)}),v=oe(()=>b.value.prayLabel||"Pray for this people group"),C=oe(()=>b.value.moreInfoLabel||"More information");function _(){!a||!n||(!n.selectionSet.size&&i.value&&n.toggleSelect(i.value),a.exportCsv())}function d(){i.value=null,n&&typeof n.clearSelection=="function"&&n.clearSelection()}return Tt(` .rd-detail{ box-sizing:border-box; background:var(--rd-panel,#fff); border-left:1px solid var(--rd-line, #d1d4cd); border-bottom:1px solid var(--rd-line, #d1d4cd); padding:var(--s3,12px); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--rd-ink, #3b463d); flex:0 0 auto; } @@ -619,7 +619,7 @@ .rd-detail .rd-act-info{ flex:0 1 auto; background:var(--rd-bg, #f3f3f1); color:var(--rd-ink, #3b463d); border:1px solid var(--rd-line, #d1d4cd); } .rd-detail .rd-act-info:hover{ background:var(--rd-panel,#fff); border-color:var(--rd-muted, #6d766e); } -`,"rd-detaildrawer"),(f,g)=>(ee(),te("section",Yv,[F("div",Xv,[g[0]||(g[0]=F("span",null,"Detail",-1)),c.value?(ee(),te("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):Be("",!0)]),c.value?(ee(),te(Ce,{key:1},[F("div",Zv,[p.value?(ee(),te("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Qv)):(ee(),te("div",e0,"No photo")),F("div",null,[F("div",t0,fe(c.value.name||"—"),1),F("div",n0,fe(pe(Ye)(c.value.country_code)||"—")+" · "+fe(pe(Ye)(c.value.religion)||"—"),1)])]),F("div",o0,[A.value?(ee(),te("a",{key:0,class:"rd-act rd-act-pray",href:A.value,target:"_blank",rel:"noopener",title:v.value,"data-detail-pray":""},[g[1]||(g[1]=F("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[F("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),F("span",null,fe(v.value),1)],8,r0)):Be("",!0),y.value?(ee(),te("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:C.value,"data-detail-moreinfo":""},[g[2]||(g[2]=F("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[F("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),F("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),F("span",null,fe(C.value),1)],8,s0)):Be("",!0)]),F("div",a0,[F("div",i0,[g[3]||(g[3]=F("span",{class:"k"},"Language",-1)),F("span",l0,[nt(fe(pe(Ye)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(ee(),te("span",c0," ("+fe(c.value.imb_language_family)+")",1)):Be("",!0)])]),F("div",u0,[g[4]||(g[4]=F("span",{class:"k"},"Population",-1)),F("span",d0,fe(u(c.value.population)),1)]),F("div",f0,[g[5]||(g[5]=F("span",{class:"k"},"People praying",-1)),F("span",p0,fe(u(c.value.people_praying)),1)]),F("div",g0,[g[6]||(g[6]=F("span",{class:"k"},"People committed",-1)),F("span",h0,fe(u(c.value.people_committed)),1)]),F("div",m0,[g[7]||(g[7]=F("span",{class:"k"},"Adopted by churches",-1)),F("span",b0,fe(u(c.value.adopted_by_churches)),1)]),F("div",_0,[g[8]||(g[8]=F("span",{class:"k"},"Engagement",-1)),F("span",y0,fe(pe(Ye)(c.value.engagement_status)||"—"),1)])]),F("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:_},"Export this selection ↓")],64)):(ee(),te("div",Jv,"Select a people group to see detail"))]))}},w0="rgba(120, 128, 134, 0.28)",zu="36px",Bu=()=>{};function x0(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return Bu;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return Bu;const r=_=>_.classList.contains("map-scroll-edge--left");for(const _ of o)_.style.background=`linear-gradient(${r(_)?"to right":"to left"}, ${w0} ${zu}, transparent ${zu})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const s=_=>{_.style.opacity="1"},a=_=>{_.style.opacity="0"},i=()=>o.find(_=>!r(_))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const _ of o)l.has(_)||a(_)},b=()=>{const _=i();_&&(s(_),u&&clearTimeout(u),u=setTimeout(p,250))},x=()=>b(),A=_=>{if(!(_.touches&&_.touches.length===1))return;const d=_.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||b()},y=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",x,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const v=()=>{c||b()};typeof window<"u"&&window.addEventListener("scroll",v,{passive:!0});const C=[];for(const _ of o){const d=()=>{l.add(_),s(_)},f=()=>{l.delete(_),a(_)},g=()=>{c=!0,s(_)},k=()=>{c=!1,a(_)};_.addEventListener("mouseenter",d),_.addEventListener("mouseleave",f),_.addEventListener("touchstart",g,{passive:!0}),_.addEventListener("touchend",k,{passive:!0}),C.push(()=>{_.removeEventListener("mouseenter",d),_.removeEventListener("mouseleave",f),_.removeEventListener("touchstart",g),_.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",x),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",v);for(const d of C)d();for(const d of o)a(d)}}const k0=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function $0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const n=k0[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0}:{style:n.mapbox,lightPreset:n.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const ho={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Uu(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const S0=ho.mapbox.css,E0="https://tiles.openfreemap.org/styles/liberty";function za(e){var n;const t=((n=ho[e])==null?void 0:n.global)||ho.mapbox.global;return typeof window<"u"?window[t]:void 0}async function A0(e){const t=ho[e]||ho.mapbox;if(za(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(za(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function C0(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=a=>new Promise(i=>setTimeout(i,a)),r=n.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),n.prepend(s)}),o(2e3)])}function T0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:E0}const L0=85.0511,Gu=-2,P0=0,I0=-60;function qu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function N0(e,t,n,o){if(!e||e<=0||!t||t<=0)return P0;const r=Math.log2(e/512),s=qu(o)-qu(L0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Gu,Math.min(i,(n??18)-1))}function M0({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:b=!0,southCutoff:x=I0,maxBounds:A=void 0}){const y=So(null),v=ue(!1);let C=null,_=null,d=null;const f=r==="maplibre";async function g(){var X;const I=$0(n,r).style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await A0(r);const S=za(r);if(!S){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await C0(e.value,f?ho.maplibre.css:S0),await new Promise(j=>requestAnimationFrame(j));const R=e.value,V=R.clientWidth,Z=R.clientHeight;if(V===0||Z===0){console.error(`[useMapInstance] Container has ZERO dimensions (${V}×${Z}). Map will be invisible. Check that parent elements have CSS sizing.`);let j=R.parentElement,q=0;for(;j&&q<5;)j=j.parentElement,q++}const he=t;f||(S.accessToken=he);const z=()=>typeof window<"u"&&window.innerWidth>=1024,Y=(j,q)=>{if(!z())return Gu;const W=N0(j,q,l,x);return typeof i=="number"?Math.max(i,W):W},B=Y(R.clientWidth,R.clientHeight);if(f){y.value=new S.Map({container:e.value,style:T0(I),center:s,zoom:a,minZoom:B,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Uu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const j=typeof o=="function"?o():o;y.value=new S.Map({accessToken:he,container:e.value,style:I,...j?{config:j}:{},center:s,zoom:a,minZoom:B,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Uu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let j=!1;y.value.on("error",q=>{var ge,Se;const W=((ge=q==null?void 0:q.error)==null?void 0:ge.status)??(q==null?void 0:q.status),le=String(((Se=q==null?void 0:q.error)==null?void 0:Se.url)||(q==null?void 0:q.sourceId)||"");W!==401&&W!==403||j||(j=!0,console.error(`[doxa-maps] Mapbox returned ${W} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(le?` First failing request: ${le.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=x0(((X=e.value)==null?void 0:X.parentElement)||null,{enabled:b});let E=B,N=null;C=()=>{const j=y.value;if(!j)return;const q=Y(R.clientWidth,R.clientHeight);q!==E&&(E=q,j.setMinZoom(q)),j.getZoom(){N=null;const W=y.value;if(!W)return;const le=Y(R.clientWidth,R.clientHeight);if(W.getZoom(){N&&(clearTimeout(N),N=null)},y.value.on("resize",C),typeof window<"u"&&(window.addEventListener("resize",C),window.addEventListener("orientationchange",C)),y.value.on("style.load",()=>{requestAnimationFrame(()=>{var j;(j=y.value)==null||j.resize(),y.value&&y.value.setMinZoom(Y(R.clientWidth,R.clientHeight)),v.value=!0})})}function k(){if(y.value){if(C&&(y.value.off("resize",C),typeof window<"u"&&(window.removeEventListener("resize",C),window.removeEventListener("orientationchange",C)),C=null),_){try{_()}catch{}_=null}d&&(d(),d=null),y.value.remove(),y.value=null,v.value=!1}}return{map:y,isMapReady:v,initializeMap:g,destroy:k}}const F0={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function R0(e){return F0[e]||null}const mo={center:[20,10],zoom:1.8};function O0(e={}){const{getMap:t=()=>null,mapId:n="unknown",mapStore:o=null,regionsGeoData:r=null,defaultCenter:s=(mo==null?void 0:mo.center)||[20,10],defaultZoom:a=mo==null?void 0:mo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(z,Y,B={x:150,y:0}){const E=t();if(!E)return z;try{const N=E.getCanvas(),X=N.width,j=N.height,q=E.project(z),W=window.devicePixelRatio||1,le=(B.x||0)*W,ge=(B.y||0)*W,Se={x:q.x-le,y:q.y-ge},Ie=E.unproject(Se);return[Ie.lng,Ie.lat]}catch{return z}}function c(z,Y=[]){const B=t();if(!B)return;let E=null,N=5;const X=Y.filter(q=>q.languageFamily===z);if(X.length>0){let q=1/0,W=-1/0,le=1/0,ge=-1/0;if(X.forEach(Se=>{Se.longitude&&Se.latitude&&(q=Math.min(q,Se.longitude),W=Math.max(W,Se.longitude),le=Math.min(le,Se.latitude),ge=Math.max(ge,Se.latitude))}),q!==1/0){E=[(q+W)/2,(le+ge)/2];const Se=W-q,Ie=ge-le,be=Math.max(Se,Ie);be>50?N=2:be>20?N=3:be>10?N=4:be>5?N=5:N=6}}if(!E)return;const j=l(E);B.flyTo({center:j,zoom:N,...i})}function u(z){const Y=t();if(!Y)return;let B=null,E=4;const N=R0(z);if(N)B=N.center,E=N.zoom||4;else if(r!=null&&r.features){const j=r.features.find(q=>{var W,le;return((W=q.properties)==null?void 0:W.region)===z||((le=q.properties)==null?void 0:le.name)===z});j&&(B=p(j))}if(!B)return;const X=l(B);Y.flyTo({center:X,zoom:E,...i})}function p(z){if(!z||!z.geometry)return null;const{type:Y,coordinates:B}=z.geometry;let E=[];if(Y==="Polygon"?E=B[0]||[]:Y==="MultiPolygon"&&B.forEach(j=>{E=E.concat(j[0]||[])}),E.length===0)return null;let N=0,X=0;return E.forEach(j=>{N+=j[0],X+=j[1]}),[N/E.length,X/E.length]}function b(z,Y={}){const B=t();if(!B)return;const E={center:z,...i,...Y};B.flyTo(E)}function x(z,Y){const B=t();if(!B||(z==null?void 0:z.longitude)==null||(z==null?void 0:z.latitude)==null)return;const E=Y??Math.min(B.getZoom()+2,8);b([z.longitude,z.latitude],{zoom:E})}function A(z,Y={top:40,right:40,bottom:40,left:40},B={}){const E=t();if(!E||!z)return;const N=B.maxZoom??4,X=B.duration??900;E.fitBounds(z,{padding:Y,maxZoom:N,duration:X,...i,...B})}function y(){const z=t();z&&z.flyTo({center:s,zoom:a,...i})}const v=80,C=800,_=5,d=5,f=110,g=1.2;function k(z){const Y=z.filter(Number.isFinite).slice().sort((w,P)=>w-P),B=Y.length;if(!B)return null;let E=-1,N=0;for(let w=0;wE&&(E=T,N=w)}const X=(N+1)%B,j=new Array(B);for(let w=0;w0&&P((w+180)%360+360)%360-180,Ie=Se(le),be=24,Ge=360/be,Je=new Array(be).fill(0);for(const w of Y){let P=Math.floor(((w+180)%360+360)%360/Ge);P>=be&&(P=be-1),Je[P]++}let Fe=0;for(let w=1;wJe[Fe]&&(Fe=w);return{center:Se(-180+(Fe+.5)*Ge),minLng:Ie,maxLng:Ie+(ge-le),span:ge-le}}function $(z){try{const Y=z.getContainer&&z.getContainer().clientWidth||0,B=Y>0?Math.log2(Y/512):g,E=typeof z.getMinZoom=="function"?z.getMinZoom():B;return Math.max(E,B)}catch{return g}}function I(z,Y,B,E){z.easeTo({center:[Y,(B+E)/2],zoom:$(z),duration:C,essential:!0})}function S(z,Y,B){if(B>f)return!0;try{const E=typeof z.cameraForBounds=="function"?z.cameraForBounds(Y,{padding:v,maxZoom:_}):null;return E==null?!0:typeof E.zoom=="number"&&E.zoom<=$(z)+.05}catch{return!1}}function R(z,Y){if(!Array.isArray(z))return z;switch(z[0]){case"get":return Y==null?void 0:Y[z[1]];case"literal":return z[1];case"has":return Y!=null&&z[1]in Y;case"!has":return Y==null||!(z[1]in Y);case"!":return!R(z[1],Y);case"coalesce":{for(let E=1;E2){const X=Number(R(z[2],Y));return Number.isFinite(X)?X:0}return NaN}case"to-string":{const E=R(z[1],Y);return E==null?"":String(E)}case"to-boolean":return!!R(z[1],Y);case"slice":{const E=R(z[1],Y),N=R(z[2],Y),X=z.length>3?R(z[3],Y):void 0;return typeof E!="string"?"":X!=null?E.slice(N,X):E.slice(N)}default:return z}}function V(z,Y){if(z===!0)return!0;if(z===!1)return!1;if(!Array.isArray(z))return!!z;const B=z[0];if(B==="all"){for(let E=1;E"||B===">="||B==="<"||B==="<="){const E=typeof z[1]=="string"?Y==null?void 0:Y[z[1]]:R(z[1],Y),N=R(z[2],Y);switch(B){case"==":return E===N||E==null&&N==null;case"!=":return!(E===N||E==null&&N==null);case">":return E>N;case">=":return E>=N;case"<":return E{const U=(T==null?void 0:T.properties)||{};return U.region===w||U.name===w||U.id===w});if(P){const T=[];let U=1/0,H=-1/0;const Q=se=>{for(const h of se)Array.isArray(h[0])?Q(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(T.push(h[0]),h[1]H&&(H=h[1]))};(Je=P.geometry)!=null&&Je.coordinates&&Q(P.geometry.coordinates);const ae=k(T);if(ae&&Number.isFinite(U)){const se=[[ae.minLng,U],[ae.maxLng,H]];S(B,se,ae.span)?I(B,ae.center,U,H):B.fitBounds(se,{padding:v,maxZoom:_,duration:C,essential:!0});return}}}const E=Y.sourceId??"language-families";if(!B.getSource(E))return;const N=Y.matchExpr??z.filter;if(!N)return;const X=Z(B,E);if(!X.length)return;const j=[];let q=1/0,W=-1/0,le=0,ge=0,Se=0;const Ie=new Set;for(const rt of X){const w=rt==null?void 0:rt.properties;if(!V(N,w))continue;const P=w==null?void 0:w.uniqueId;if(P!=null){if(Ie.has(P))continue;Ie.add(P)}const T=(Fe=rt.geometry)==null?void 0:Fe.coordinates;if(!Array.isArray(T)||T.length<2)continue;const U=T[0],H=T[1];!Number.isFinite(U)||!Number.isFinite(H)||(le===0&&(ge=U,Se=H),j.push(U),HW&&(W=H),le++)}if(le===0)return;if(le===1){B.flyTo({center:[ge,Se],zoom:d,duration:C,essential:!0});return}const be=k(j)||{center:0,minLng:0,maxLng:0,span:0},Ge=[[be.minLng,q],[be.maxLng,W]];if(S(B,Ge,be.span)){I(B,be.center,q,W);return}try{B.fitBounds(Ge,{padding:v,maxZoom:_,duration:C,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:b,flyToCoords:x,fitBounds:A,resetView:y,zoomToLegendRow:he,calculateRegionCenterFromPolygon:p}}const D0=150,j0=1200,z0=70,B0=5.5,U0=6,Vu=.01,G0=110,q0=1.45;function V0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function H0(e){if(!e)return null;const t=Number(e.longitude),n=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(n)||t===0&&n===0||n<-90||n>90||t<-180||t>180?null:[t,n]}function W0(e){let t=1/0,n=-1/0,o=1/0,r=-1/0;for(const i of e){in&&(n=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=n-t,a=r-o;if(a180?o-360:o;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:n,span:s}}function K0(e,t){if(!e||!e.size||!t)return null;const n=[];let o=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=H0(t.get(l));c&&(a===0&&(s=c),n.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=W0(n);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=K0(e.selectionSet,n&&n());if(!c)return;const u=V0()?0:j0;try{if(c.kind==="point"){o.flyTo(c.center,{zoom:U0,duration:u,essential:!0});return}if(c.span>G0){o.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:q0,duration:u,essential:!0});return}o.fitBounds(c.bounds,z0,{maxZoom:B0,duration:u,essential:!0})}catch{}}const i=mt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,D0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const X0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ue(null);return ut("mapToolbar",{el:t}),Tt(` +`,"rd-detaildrawer"),(f,g)=>(ee(),ne("section",Jv,[F("div",Zv,[g[0]||(g[0]=F("span",null,"Detail",-1)),c.value?(ee(),ne("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):ze("",!0)]),c.value?(ee(),ne(Ce,{key:1},[F("div",e0,[p.value?(ee(),ne("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,t0)):(ee(),ne("div",n0,"No photo")),F("div",null,[F("div",o0,fe(c.value.name||"—"),1),F("div",r0,fe(pe(Xe)(c.value.country_code)||"—")+" · "+fe(pe(Xe)(c.value.religion)||"—"),1)])]),F("div",s0,[A.value?(ee(),ne("a",{key:0,class:"rd-act rd-act-pray",href:A.value,target:"_blank",rel:"noopener",title:v.value,"data-detail-pray":""},[g[1]||(g[1]=F("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[F("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),F("span",null,fe(v.value),1)],8,a0)):ze("",!0),y.value?(ee(),ne("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:C.value,"data-detail-moreinfo":""},[g[2]||(g[2]=F("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[F("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),F("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),F("span",null,fe(C.value),1)],8,i0)):ze("",!0)]),F("div",l0,[F("div",c0,[g[3]||(g[3]=F("span",{class:"k"},"Language",-1)),F("span",u0,[nt(fe(pe(Xe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(ee(),ne("span",d0," ("+fe(c.value.imb_language_family)+")",1)):ze("",!0)])]),F("div",f0,[g[4]||(g[4]=F("span",{class:"k"},"Population",-1)),F("span",p0,fe(u(c.value.population)),1)]),F("div",g0,[g[5]||(g[5]=F("span",{class:"k"},"People praying",-1)),F("span",h0,fe(u(c.value.people_praying)),1)]),F("div",m0,[g[6]||(g[6]=F("span",{class:"k"},"People committed",-1)),F("span",b0,fe(u(c.value.people_committed)),1)]),F("div",_0,[g[7]||(g[7]=F("span",{class:"k"},"Adopted by churches",-1)),F("span",y0,fe(u(c.value.adopted_by_churches)),1)]),F("div",v0,[g[8]||(g[8]=F("span",{class:"k"},"Engagement",-1)),F("span",w0,fe(pe(Xe)(c.value.engagement_status)||"—"),1)])]),F("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:_},"Export this selection ↓")],64)):(ee(),ne("div",Qv,"Select a people group to see detail"))]))}},k0="rgba(120, 128, 134, 0.28)",zu="36px",Bu=()=>{};function $0(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return Bu;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return Bu;const r=_=>_.classList.contains("map-scroll-edge--left");for(const _ of o)_.style.background=`linear-gradient(${r(_)?"to right":"to left"}, ${k0} ${zu}, transparent ${zu})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const s=_=>{_.style.opacity="1"},a=_=>{_.style.opacity="0"},i=()=>o.find(_=>!r(_))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const _ of o)l.has(_)||a(_)},b=()=>{const _=i();_&&(s(_),u&&clearTimeout(u),u=setTimeout(p,250))},x=()=>b(),A=_=>{if(!(_.touches&&_.touches.length===1))return;const d=_.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||b()},y=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",x,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const v=()=>{c||b()};typeof window<"u"&&window.addEventListener("scroll",v,{passive:!0});const C=[];for(const _ of o){const d=()=>{l.add(_),s(_)},f=()=>{l.delete(_),a(_)},g=()=>{c=!0,s(_)},k=()=>{c=!1,a(_)};_.addEventListener("mouseenter",d),_.addEventListener("mouseleave",f),_.addEventListener("touchstart",g,{passive:!0}),_.addEventListener("touchend",k,{passive:!0}),C.push(()=>{_.removeEventListener("mouseenter",d),_.removeEventListener("mouseleave",f),_.removeEventListener("touchstart",g),_.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",x),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",v);for(const d of C)d();for(const d of o)a(d)}}const S0=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function E0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const n=S0[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0}:{style:n.mapbox,lightPreset:n.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const ho={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Uu(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const A0=ho.mapbox.css,C0="https://tiles.openfreemap.org/styles/liberty";function za(e){var n;const t=((n=ho[e])==null?void 0:n.global)||ho.mapbox.global;return typeof window<"u"?window[t]:void 0}async function T0(e){const t=ho[e]||ho.mapbox;if(za(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(za(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function L0(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=a=>new Promise(i=>setTimeout(i,a)),r=n.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),n.prepend(s)}),o(2e3)])}function P0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:C0}const I0=85.0511,Gu=-2,N0=0,M0=-60;function qu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function F0(e,t,n,o){if(!e||e<=0||!t||t<=0)return N0;const r=Math.log2(e/512),s=qu(o)-qu(I0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Gu,Math.min(i,(n??18)-1))}function R0({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:b=!0,southCutoff:x=M0,maxBounds:A=void 0}){const y=So(null),v=ue(!1);let C=null,_=null,d=null;const f=r==="maplibre";async function g(){var J;const I=E0(n,r).style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await T0(r);const S=za(r);if(!S){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await L0(e.value,f?ho.maplibre.css:A0),await new Promise(j=>requestAnimationFrame(j));const O=e.value,H=O.clientWidth,Q=O.clientHeight;if(H===0||Q===0){console.error(`[useMapInstance] Container has ZERO dimensions (${H}×${Q}). Map will be invisible. Check that parent elements have CSS sizing.`);let j=O.parentElement,G=0;for(;j&&G<5;)j=j.parentElement,G++}const he=t;f||(S.accessToken=he);const z=()=>typeof window<"u"&&window.innerWidth>=1024,Y=(j,G)=>{if(!z())return Gu;const K=F0(j,G,l,x);return typeof i=="number"?Math.max(i,K):K},B=Y(O.clientWidth,O.clientHeight);if(f){y.value=new S.Map({container:e.value,style:P0(I),center:s,zoom:a,minZoom:B,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Uu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const j=typeof o=="function"?o():o;y.value=new S.Map({accessToken:he,container:e.value,style:I,...j?{config:j}:{},center:s,zoom:a,minZoom:B,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Uu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let j=!1;y.value.on("error",G=>{var ge,Ae;const K=((ge=G==null?void 0:G.error)==null?void 0:ge.status)??(G==null?void 0:G.status),ce=String(((Ae=G==null?void 0:G.error)==null?void 0:Ae.url)||(G==null?void 0:G.sourceId)||"");K!==401&&K!==403||j||(j=!0,console.error(`[doxa-maps] Mapbox returned ${K} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ce?` First failing request: ${ce.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=$0(((J=e.value)==null?void 0:J.parentElement)||null,{enabled:b});let E=B,N=null;C=()=>{const j=y.value;if(!j)return;const G=Y(O.clientWidth,O.clientHeight);G!==E&&(E=G,j.setMinZoom(G)),j.getZoom(){N=null;const K=y.value;if(!K)return;const ce=Y(O.clientWidth,O.clientHeight);if(K.getZoom(){N&&(clearTimeout(N),N=null)},y.value.on("resize",C),typeof window<"u"&&(window.addEventListener("resize",C),window.addEventListener("orientationchange",C)),y.value.on("style.load",()=>{requestAnimationFrame(()=>{var j;(j=y.value)==null||j.resize(),y.value&&y.value.setMinZoom(Y(O.clientWidth,O.clientHeight)),v.value=!0})})}function k(){if(y.value){if(C&&(y.value.off("resize",C),typeof window<"u"&&(window.removeEventListener("resize",C),window.removeEventListener("orientationchange",C)),C=null),_){try{_()}catch{}_=null}d&&(d(),d=null),y.value.remove(),y.value=null,v.value=!1}}return{map:y,isMapReady:v,initializeMap:g,destroy:k}}const O0={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function D0(e){return O0[e]||null}const mo={center:[20,10],zoom:1.8};function j0(e={}){const{getMap:t=()=>null,mapId:n="unknown",mapStore:o=null,regionsGeoData:r=null,defaultCenter:s=(mo==null?void 0:mo.center)||[20,10],defaultZoom:a=mo==null?void 0:mo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(z,Y,B={x:150,y:0}){const E=t();if(!E)return z;try{const N=E.getCanvas(),J=N.width,j=N.height,G=E.project(z),K=window.devicePixelRatio||1,ce=(B.x||0)*K,ge=(B.y||0)*K,Ae={x:G.x-ce,y:G.y-ge},Ne=E.unproject(Ae);return[Ne.lng,Ne.lat]}catch{return z}}function c(z,Y=[]){const B=t();if(!B)return;let E=null,N=5;const J=Y.filter(G=>G.languageFamily===z);if(J.length>0){let G=1/0,K=-1/0,ce=1/0,ge=-1/0;if(J.forEach(Ae=>{Ae.longitude&&Ae.latitude&&(G=Math.min(G,Ae.longitude),K=Math.max(K,Ae.longitude),ce=Math.min(ce,Ae.latitude),ge=Math.max(ge,Ae.latitude))}),G!==1/0){E=[(G+K)/2,(ce+ge)/2];const Ae=K-G,Ne=ge-ce,_e=Math.max(Ae,Ne);_e>50?N=2:_e>20?N=3:_e>10?N=4:_e>5?N=5:N=6}}if(!E)return;const j=l(E);B.flyTo({center:j,zoom:N,...i})}function u(z){const Y=t();if(!Y)return;let B=null,E=4;const N=D0(z);if(N)B=N.center,E=N.zoom||4;else if(r!=null&&r.features){const j=r.features.find(G=>{var K,ce;return((K=G.properties)==null?void 0:K.region)===z||((ce=G.properties)==null?void 0:ce.name)===z});j&&(B=p(j))}if(!B)return;const J=l(B);Y.flyTo({center:J,zoom:E,...i})}function p(z){if(!z||!z.geometry)return null;const{type:Y,coordinates:B}=z.geometry;let E=[];if(Y==="Polygon"?E=B[0]||[]:Y==="MultiPolygon"&&B.forEach(j=>{E=E.concat(j[0]||[])}),E.length===0)return null;let N=0,J=0;return E.forEach(j=>{N+=j[0],J+=j[1]}),[N/E.length,J/E.length]}function b(z,Y={}){const B=t();if(!B)return;const E={center:z,...i,...Y};B.flyTo(E)}function x(z,Y){const B=t();if(!B||(z==null?void 0:z.longitude)==null||(z==null?void 0:z.latitude)==null)return;const E=Y??Math.min(B.getZoom()+2,8);b([z.longitude,z.latitude],{zoom:E})}function A(z,Y={top:40,right:40,bottom:40,left:40},B={}){const E=t();if(!E||!z)return;const N=B.maxZoom??4,J=B.duration??900;E.fitBounds(z,{padding:Y,maxZoom:N,duration:J,...i,...B})}function y(){const z=t();z&&z.flyTo({center:s,zoom:a,...i})}const v=80,C=800,_=5,d=5,f=110,g=1.2;function k(z){const Y=z.filter(Number.isFinite).slice().sort((w,P)=>w-P),B=Y.length;if(!B)return null;let E=-1,N=0;for(let w=0;wE&&(E=T,N=w)}const J=(N+1)%B,j=new Array(B);for(let w=0;w0&&P((w+180)%360+360)%360-180,Ne=Ae(ce),_e=24,Ue=360/_e,Ze=new Array(_e).fill(0);for(const w of Y){let P=Math.floor(((w+180)%360+360)%360/Ue);P>=_e&&(P=_e-1),Ze[P]++}let Oe=0;for(let w=1;w<_e;w++)Ze[w]>Ze[Oe]&&(Oe=w);return{center:Ae(-180+(Oe+.5)*Ue),minLng:Ne,maxLng:Ne+(ge-ce),span:ge-ce}}function $(z){try{const Y=z.getContainer&&z.getContainer().clientWidth||0,B=Y>0?Math.log2(Y/512):g,E=typeof z.getMinZoom=="function"?z.getMinZoom():B;return Math.max(E,B)}catch{return g}}function I(z,Y,B,E){z.easeTo({center:[Y,(B+E)/2],zoom:$(z),duration:C,essential:!0})}function S(z,Y,B){if(B>f)return!0;try{const E=typeof z.cameraForBounds=="function"?z.cameraForBounds(Y,{padding:v,maxZoom:_}):null;return E==null?!0:typeof E.zoom=="number"&&E.zoom<=$(z)+.05}catch{return!1}}function O(z,Y){if(!Array.isArray(z))return z;switch(z[0]){case"get":return Y==null?void 0:Y[z[1]];case"literal":return z[1];case"has":return Y!=null&&z[1]in Y;case"!has":return Y==null||!(z[1]in Y);case"!":return!O(z[1],Y);case"coalesce":{for(let E=1;E2){const J=Number(O(z[2],Y));return Number.isFinite(J)?J:0}return NaN}case"to-string":{const E=O(z[1],Y);return E==null?"":String(E)}case"to-boolean":return!!O(z[1],Y);case"slice":{const E=O(z[1],Y),N=O(z[2],Y),J=z.length>3?O(z[3],Y):void 0;return typeof E!="string"?"":J!=null?E.slice(N,J):E.slice(N)}default:return z}}function H(z,Y){if(z===!0)return!0;if(z===!1)return!1;if(!Array.isArray(z))return!!z;const B=z[0];if(B==="all"){for(let E=1;E"||B===">="||B==="<"||B==="<="){const E=typeof z[1]=="string"?Y==null?void 0:Y[z[1]]:O(z[1],Y),N=O(z[2],Y);switch(B){case"==":return E===N||E==null&&N==null;case"!=":return!(E===N||E==null&&N==null);case">":return E>N;case">=":return E>=N;case"<":return E{const U=(T==null?void 0:T.properties)||{};return U.region===w||U.name===w||U.id===w});if(P){const T=[];let U=1/0,W=-1/0;const Z=re=>{for(const h of re)Array.isArray(h[0])?Z(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(T.push(h[0]),h[1]W&&(W=h[1]))};(Ze=P.geometry)!=null&&Ze.coordinates&&Z(P.geometry.coordinates);const ie=k(T);if(ie&&Number.isFinite(U)){const re=[[ie.minLng,U],[ie.maxLng,W]];S(B,re,ie.span)?I(B,ie.center,U,W):B.fitBounds(re,{padding:v,maxZoom:_,duration:C,essential:!0});return}}}const E=Y.sourceId??"language-families";if(!B.getSource(E))return;const N=Y.matchExpr??z.filter;if(!N)return;const J=Q(B,E);if(!J.length)return;const j=[];let G=1/0,K=-1/0,ce=0,ge=0,Ae=0;const Ne=new Set;for(const rt of J){const w=rt==null?void 0:rt.properties;if(!H(N,w))continue;const P=w==null?void 0:w.uniqueId;if(P!=null){if(Ne.has(P))continue;Ne.add(P)}const T=(Oe=rt.geometry)==null?void 0:Oe.coordinates;if(!Array.isArray(T)||T.length<2)continue;const U=T[0],W=T[1];!Number.isFinite(U)||!Number.isFinite(W)||(ce===0&&(ge=U,Ae=W),j.push(U),WK&&(K=W),ce++)}if(ce===0)return;if(ce===1){B.flyTo({center:[ge,Ae],zoom:d,duration:C,essential:!0});return}const _e=k(j)||{center:0,minLng:0,maxLng:0,span:0},Ue=[[_e.minLng,G],[_e.maxLng,K]];if(S(B,Ue,_e.span)){I(B,_e.center,G,K);return}try{B.fitBounds(Ue,{padding:v,maxZoom:_,duration:C,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:b,flyToCoords:x,fitBounds:A,resetView:y,zoomToLegendRow:he,calculateRegionCenterFromPolygon:p}}const z0=150,B0=1200,U0=70,G0=5.5,q0=6,Vu=.01,V0=110,H0=1.45;function W0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function K0(e){if(!e)return null;const t=Number(e.longitude),n=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(n)||t===0&&n===0||n<-90||n>90||t<-180||t>180?null:[t,n]}function Y0(e){let t=1/0,n=-1/0,o=1/0,r=-1/0;for(const i of e){in&&(n=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=n-t,a=r-o;if(a180?o-360:o;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:n,span:s}}function X0(e,t){if(!e||!e.size||!t)return null;const n=[];let o=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=K0(t.get(l));c&&(a===0&&(s=c),n.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=Y0(n);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=X0(e.selectionSet,n&&n());if(!c)return;const u=W0()?0:B0;try{if(c.kind==="point"){o.flyTo(c.center,{zoom:q0,duration:u,essential:!0});return}if(c.span>V0){o.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:H0,duration:u,essential:!0});return}o.fitBounds(c.bounds,U0,{maxZoom:G0,duration:u,essential:!0})}catch{}}const i=mt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,z0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const Z0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ue(null);return ut("mapToolbar",{el:t}),Tt(` .map-toolbar { position: absolute; top: 6px; @@ -636,7 +636,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(n,o)=>(ee(),te("div",{ref_key:"toolbarEl",ref:t,class:Ne(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Ps(n.$slots,"default")],2))}},J0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=lo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomIn()}return(r,s)=>(ee(),Yt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomIn"),onClick:o},{default:Xn(()=>[...s[0]||(s[0]=[F("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Z0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=lo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomOut()}return(r,s)=>(ee(),Yt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomOut"),onClick:o},{default:Xn(()=>[...s[0]||(s[0]=[F("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Q0=["data-projection"],ew={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Hu=2,tw="prayer_level",nw=.1,ow=12,rw={__name:"DashboardMapPanel",setup(e){var Qo,er,Ku,Yu,Xu,Ju,Zu,Qu,ed;const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("mapboxToken",ue("")),r=Ee("dashboardConfig",{}),s=(n==null?void 0:n.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([M,K])=>[M,K.get])),i=Jo(n,Xo(r)),l=re(()=>{var _e,ke;const M=((_e=t==null?void 0:t.rows)==null?void 0:_e.value)||[],K=Object.keys(s),ie=!!(((ke=n==null?void 0:n.searchTerm)==null?void 0:ke.value)||"").trim();return!K.length&&!ie?M:M.filter(Oe=>K.every(Le=>{const ye=a[Le];return ye?ye(Oe)===s[Le]:!0})&&i(Oe))}),c=((Qo=r.map)==null?void 0:Qo.geoFacet)||"country_code",u=((Ku=(er=r.facets)==null?void 0:er[c])==null?void 0:Ku.geoIso)||(M=>{const K=M[c];return K&&K.value?K.value:null}),p=a[c]||(M=>Ye(M[c])),b=re(()=>{var K;const M=new Map;for(const ie of((K=t==null?void 0:t.rows)==null?void 0:K.value)||[]){const _e=u(ie);_e&&M.set(_e,p(ie)||_e)}return M}),x=re(()=>{const M=new Map;for(const K of l.value){const ie=u(K);ie&&M.set(ie,(M.get(ie)||0)+1)}return M}),A=ue(null),y=re(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:v,isMapReady:C,initializeMap:_,destroy:d}=M0({containerRef:A,accessToken:pe(o)||o&&o.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:y.value,...(Yu=r.map)!=null&&Yu.mapStyle||r.mapStyle?{style:((Xu=r.map)==null?void 0:Xu.mapStyle)||r.mapStyle}:{}}),f=O0({getMap:()=>v.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let g=null;g=Y0({bus:n,mapFly:f,getMap:()=>v.value,getRowStore:()=>{var M;return(M=t==null?void 0:t.rowStore)==null?void 0:M.value},isEnabled:()=>C.value});let k=!1,$=null,I=null,S=null,R=0,V=!1;function Z(){V||R||(R=requestAnimationFrame(()=>{R=0;const M=v.value;if(M&&typeof M.resize=="function")try{M.resize()}catch{}}))}function he(M){const K=!!M;if(K!==V){if(V=K,V){R&&(cancelAnimationFrame(R),R=0);return}Z(),setTimeout(Z,180)}}const z=["#f6beb3","#ef9d8e","#e57a6c","#da544a","#cd2027"],Y={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function B(M,K){return Number.isFinite(K)?K-1<=M?`${M}`:`${M}–${K-1}`:`${M}+ · heartbeat zone`}function E(M){const ie=Y.binThresholds.map(_e=>_e/Y.heartbeatThreshold).map(_e=>Math.max(Hu,Math.round(_e*M)));return N(ie,M)}function N(M,K){const ie=[];for(const _e of M){const ke=Math.max(_e,ie.length?ie[ie.length-1]+1:Hu);keLe>0).sort((Le,ye)=>Le-ye);if(ie.length<8)return null;const _e=Le=>ie[Math.min(ie.length-1,Math.max(0,Math.floor(Le*ie.length)))],ke=_e(1-K)+1,Oe=[.25,.5,.75].map(Le=>_e(Le));return{threshold:ke,edges:N(Oe,ke)}}function j(M){var Le;if(Array.isArray((Le=r.map)==null?void 0:Le.bins)&&r.map.bins.length)return r.map.bins;const K=r.map||{};let ie=Number(K.heartbeatThreshold)>0?Number(K.heartbeatThreshold):Y.heartbeatThreshold,_e=null;if(K.heartbeatMode==="quantile"){const ye=X(M||[],Number(K.heartbeatQuantile)>0?Number(K.heartbeatQuantile):Y.quantile);ye&&(ie=ye.threshold,_e=ye.edges)}_e||(_e=Array.isArray(K.binThresholds)&&K.binThresholds.length?[...new Set(K.binThresholds.map(Number).filter(ye=>Number.isFinite(ye)&&ye>0&&yeye-pt):Number(K.heartbeatThreshold)>0?E(ie):Y.binThresholds);const ke=[..._e,ie,1/0].slice(0,z.length);for(;ke.length{const Bt={upTo:ye,c:z[pt],l:B(Oe,ye)};return Oe=ye,Bt})}const q=re(()=>j([...x.value.values()])),W=((Ju=r.map)==null?void 0:Ju.noDataColor)||"#f3f3f1";function le(M){if(!M)return W;const K=q.value;for(const ie of K)if(Mq.value.map(M=>({c:M.c,l:M.l}))),Se=((Zu=r.map)==null?void 0:Zu.selectedColor)||"#1a237e";function Ie(){const M=x.value,K=[],ie=[];M.forEach((Le,ye)=>{K.push(ye,le(Le)),ie.push(ye)});const _e=K.length?["match",["get","iso_3166_1_alpha_3"],...K,W]:W,Oe=Object.keys(s).length>0&&ie.length?["match",["get","iso_3166_1_alpha_3"],...ie.flatMap(Le=>[Le,.92]),.12]:.78;return{fillColor:_e,fillOpacity:Oe}}function be(){return Object.prototype.hasOwnProperty.call(s,tw)}const Ge=((Qu=r.map)==null?void 0:Qu.pinColor)||"#ef6c00",Je=((ed=r.map)==null?void 0:ed.pinStrokeColor)||"#ffffff";function Fe(){return be()?es({colorSource:"properties"}):Ge}function rt(){const M=v.value;if(!M||!M.getLayer("rd-choropleth"))return;const{fillColor:K,fillOpacity:ie}=Ie();M.setPaintProperty("rd-choropleth","fill-color",K),M.setPaintProperty("rd-choropleth","fill-opacity",ie);const _e=M.getSource("rd-bubbles");_e&&_e.setData(P()),M.getLayer("rd-bubble-layer")&&M.setPaintProperty("rd-bubble-layer","circle-color",Fe())}function w(M){const K=M==null?void 0:M.people_praying,ie=K&&typeof K=="object"?K.value:K;return Number(ie)||0}function P(){return{type:"FeatureCollection",features:l.value.filter(M=>Number(M.latitude)&&Number(M.longitude)).map(M=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(M.longitude),Number(M.latitude)]},properties:{pop:Number(M.population)||0,slug:M.slug||"",name:M.name||"",peoplePraying:w(M)}}))}}function T(){var ie;const M=n==null?void 0:n.selectionSet,K=((ie=t==null?void 0:t.rows)==null?void 0:ie.value)||[];return!M||!M.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:K.filter(_e=>M.has(_e.slug)&&Number(_e.latitude)&&Number(_e.longitude)).map(_e=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(_e.longitude),Number(_e.latitude)]},properties:{slug:_e.slug||"",name:_e.name||""}}))}}function U(){const M=v.value;if(!M)return;const K=M.getSource("rd-bubble-selected");K&&K.setData(T())}function H(){var _e;const M=v.value;if(!M||k)return;k=!0,M.getSource("rd-countries")||M.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:K,fillOpacity:ie}=Ie();M.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":K,"fill-opacity":ie,"fill-outline-color":((_e=r.map)==null?void 0:_e.outlineColor)||"#6d766e"}}),M.addSource("rd-bubbles",{type:"geojson",data:P()}),M.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":Fe(),"circle-opacity":1,"circle-stroke-color":Je,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),M.addSource("rd-bubble-selected",{type:"geojson",data:T()}),M.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Se,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Se,"circle-stroke-opacity":.95}}),M.on("click","rd-choropleth",Q),M.on("click","rd-bubble-layer",ae),M.on("mouseenter","rd-choropleth",()=>{M.getCanvas().style.cursor="pointer"}),M.on("mouseleave","rd-choropleth",()=>{M.getCanvas().style.cursor=""}),M.on("mouseenter","rd-bubble-layer",()=>{M.getCanvas().style.cursor="pointer"}),M.on("mouseleave","rd-bubble-layer",()=>{M.getCanvas().style.cursor=""});try{window.__rdashMap=M,window.__rdashClickAt=(ke,Oe)=>{const Le=M.project([ke,Oe]),ye=M.queryRenderedFeatures(Le,{layers:["rd-choropleth"]});return ye&&ye[0]?(Q({features:ye}),ye[0].properties&&ye[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(ke,Oe)=>{const Le=M.project([ke,Oe]),ye=M.queryRenderedFeatures([[Le.x-7,Le.y-7],[Le.x+7,Le.y+7]],{layers:["rd-bubble-layer"]});return ye&&ye[0]?(ae({features:[ye[0]]}),ye[0].properties&&ye[0].properties.slug):null}}catch{}ne(),n&&n.on("select",U),U(),n&&n.on("focusRow",({slug:ke}={})=>{var ye;if(!ke)return;const Oe=(((ye=t==null?void 0:t.rows)==null?void 0:ye.value)||[]).find(pt=>pt.slug===ke),Le=v.value;if(Le&&Oe&&Number(Oe.latitude)&&Number(Oe.longitude))try{Le.flyTo({center:[Number(Oe.longitude),Number(Oe.latitude)],zoom:5.5,duration:1200})}catch{}})}function Q(M){const K=v.value;if(K&&M.point){const Oe=K.queryRenderedFeatures([[M.point.x-5,M.point.y-5],[M.point.x+5,M.point.y+5]],{layers:["rd-bubble-layer"]});if(Oe&&Oe.length)return}const ie=M.features&&M.features[0];if(!ie||!n)return;const _e=ie.properties&&ie.properties.iso_3166_1_alpha_3,ke=b.value.get(_e);ke&&(n.setFilter(c,s[c]===ke?null:ke),n.emit("mapFocus",{facet:c,value:ke}))}function ae(M){const K=M.features&&M.features[0];if(!K||!n)return;const ie=K.properties&&K.properties.slug;ie&&(n.toggleSelect(ie),n.emit("focusRow",{slug:ie,name:K.properties&&K.properties.name}))}function se(M){var ie;let K=M&&M.parentNode;for(;K;){if(K.nodeType===1){const _e=getComputedStyle(K);if(/auto|scroll/.test(_e.overflowY)&&K.scrollHeight>K.clientHeight+4)return K}if(K=K.parentElement||((ie=K.parentNode)==null?void 0:ie.host)||(K.parentNode!==K?K.parentNode:null),K&&K.nodeType===9)break}return null}function h(M){if(!(!M||!M.scrollZoom))try{const ie=document.documentElement.scrollHeight>window.innerHeight+4,_e=M.getContainer&&M.getContainer()||null,ke=_e?!!se(_e):!1;ie||ke?M.scrollZoom.disable():M.scrollZoom.enable()}catch{}}xt(async()=>{await _();const M=v.value;if(!M)return;M.isStyleLoaded()?H():M.on("load",H),h(M);const K=()=>h(M);let ie=null;try{ie=new ResizeObserver(K);const _e=M.getContainer&&M.getContainer()||null;_e&&ie.observe(_e);const ke=_e?se(_e):null;ke&&ie.observe(ke),document.body&&ie.observe(document.body)}catch{}window.addEventListener("resize",K),Ot(()=>{try{ie&&ie.disconnect()}catch{}window.removeEventListener("resize",K)}),M.on("zoom",G),M.on("zoomend",G),M.on("resize",G),G(),M.on("idle",()=>{!k&&M.isStyleLoaded()&&H()}),typeof ResizeObserver<"u"&&A.value&&($=new ResizeObserver(Z),$.observe(A.value)),L(),M.on("idle",L),M.on("resize",L),n&&typeof n.on=="function"&&(I=n.on("toggleTable",()=>{Z(),setTimeout(Z,280)}),S=n.on("layoutResizing",he))}),Ot(()=>{try{g&&g()}catch{}g=null;try{I&&I()}catch{}I=null;try{S&&S()}catch{}if(S=null,$){try{$.disconnect()}catch{}$=null}if(oe){try{oe.disconnect()}catch{}oe=null}O=null,R&&(cancelAnimationFrame(R),R=0);try{const M=v.value;M&&(M.off("zoom",G),M.off("zoomend",G),M.off("resize",G),M.off("idle",L),M.off("resize",L))}catch{}try{d&&d()}catch{}}),mt([l,C],rt);const m=ue(!0),D=ue(!0);function G(){const M=v.value;if(!M)return;const K=M.getZoom();m.value=KM.getMinZoom()+.01}const ce=ue(null);let oe=null,O=null;function L(){var _e;const M=ce.value;if(!M)return;let K=0;try{const ke=(_e=M.getRootNode)==null?void 0:_e.call(M),Oe=ke&&ke.querySelector?ke.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Oe){const Le=Oe.getBoundingClientRect(),ye=M.getBoundingClientRect();if(K=Math.max(Le.height||0,ye.bottom-Le.top),O!==Oe&&typeof ResizeObserver<"u"){if(oe)try{oe.disconnect()}catch{}O=Oe,oe=new ResizeObserver(L),oe.observe(Oe)}}}catch{}const ie=Math.min(Math.max(Math.ceil(K)||20,20),72);M.style.setProperty("--rd-attrib-clear",ie+"px")}const J=ue("globe");function ne(){const M=v.value;if(M)try{M.setProjection(J.value)}catch{}}function me(){J.value=J.value==="globe"?"mercator":"globe",ne()}function ve(M){const K=Number(M.longitude),ie=Number(M.latitude);return!Number.isFinite(K)||!Number.isFinite(ie)||K===0&&ie===0||ie<-90||ie>90||K<-180||K>180?null:[K,ie]}function Re(M,K){if(!M.length)return NaN;const ie=Math.min(M.length-1,Math.max(0,Math.round(K*(M.length-1))));return M[ie]}function et(M){const K=M.slice().sort((ye,pt)=>ye-pt),ie=K.length;if(ie<2)return K;let _e=-1,ke=0;for(let ye=0;ye_e&&(_e=Bt,ke=ye)}const Oe=(ke+1)%ie,Le=new Array(ie);for(let ye=0;ye0&&ptUn[1]).sort((Un,ss)=>Un-ss),_e=et(K.map(Un=>Un[0])),ke=K.length>=ow?nw:0,Oe=Re(ie,ke),Le=Re(ie,1-ke),ye=Re(_e,ke),pt=Re(_e,1-ke),Bt=[Re(_e,.5),Re(ie,.5)];return!(pt>ye)||!(Le>Oe)?{bounds:[[Bt[0],Bt[1]],[Bt[0],Bt[1]]],center:Bt}:{bounds:[[ye,Oe],[pt,Le]],center:Bt}}function Ze(){const M=v.value;if(!M)return;if(!Object.keys(s).length){try{M.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const K=wt(l.value);if(K)try{M.fitBounds(K.bounds,{padding:70,duration:1200,maxZoom:5.5}),M.setCenter(K.center)}catch{}}let Lt=null;return mt(()=>JSON.stringify(s),()=>{clearTimeout(Lt),Lt=setTimeout(Ze,260)}),Tt(` +`,"map-toolbar"),(n,o)=>(ee(),ne("div",{ref_key:"toolbarEl",ref:t,class:Me(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Ps(n.$slots,"default")],2))}},Q0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=lo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomIn()}return(r,s)=>(ee(),Yt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomIn"),onClick:o},{default:Xn(()=>[...s[0]||(s[0]=[F("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},ew={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=lo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomOut()}return(r,s)=>(ee(),Yt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomOut"),onClick:o},{default:Xn(()=>[...s[0]||(s[0]=[F("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},tw=["data-projection"],nw={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Hu=2,ow="#f2f3f0",Wu=.78,rw="prayer_level",sw=.1,aw=12,iw={__name:"DashboardMapPanel",setup(e){var er,Yu,Xu,Ju,Zu,Qu,ed,td,nd;const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("mapboxToken",ue("")),r=Se("dashboardConfig",{}),s=(n==null?void 0:n.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([M,V])=>[M,V.get])),i=Jo(n,Xo(r)),l=oe(()=>{var be,ke;const M=((be=t==null?void 0:t.rows)==null?void 0:be.value)||[],V=Object.keys(s),ae=!!(((ke=n==null?void 0:n.searchTerm)==null?void 0:ke.value)||"").trim();return!V.length&&!ae?M:M.filter(Te=>V.every(Le=>{const ye=a[Le];return ye?ye(Te)===s[Le]:!0})&&i(Te))}),c=((er=r.map)==null?void 0:er.geoFacet)||"country_code",u=((Xu=(Yu=r.facets)==null?void 0:Yu[c])==null?void 0:Xu.geoIso)||(M=>{const V=M[c];return V&&V.value?V.value:null}),p=a[c]||(M=>Xe(M[c])),b=oe(()=>{var V;const M=new Map;for(const ae of((V=t==null?void 0:t.rows)==null?void 0:V.value)||[]){const be=u(ae);be&&M.set(be,p(ae)||be)}return M}),x=oe(()=>{const M=new Map;for(const V of l.value){const ae=u(V);ae&&M.set(ae,(M.get(ae)||0)+1)}return M}),A=ue(null),y=oe(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:v,isMapReady:C,initializeMap:_,destroy:d}=R0({containerRef:A,accessToken:pe(o)||o&&o.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:y.value,...(Ju=r.map)!=null&&Ju.mapStyle||r.mapStyle?{style:((Zu=r.map)==null?void 0:Zu.mapStyle)||r.mapStyle}:{}}),f=j0({getMap:()=>v.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let g=null;g=J0({bus:n,mapFly:f,getMap:()=>v.value,getRowStore:()=>{var M;return(M=t==null?void 0:t.rowStore)==null?void 0:M.value},isEnabled:()=>C.value});let k=!1,$=null,I=null,S=null,O=0,H=!1;function Q(){H||O||(O=requestAnimationFrame(()=>{O=0;const M=v.value;if(M&&typeof M.resize=="function")try{M.resize()}catch{}}))}function he(M){const V=!!M;if(V!==H){if(H=V,H){O&&(cancelAnimationFrame(O),O=0);return}Q(),setTimeout(Q,180)}}const z=(()=>{var V;const M={"heartbeat-red":["#f4cec4","#ecaea1","#e08678","#ce544b","#b10010"],greyscale:["#e8e8e8","#a9a9a9","#6f6f6f","#3a3a3a","#060606"]};return M[(V=r.map)==null?void 0:V.colorRamp]||M["heartbeat-red"]})(),Y={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function B(M,V){return Number.isFinite(V)?V-1<=M?`${M}`:`${M}–${V-1}`:`${M}+ · heartbeat zone`}function E(M){const ae=Y.binThresholds.map(be=>be/Y.heartbeatThreshold).map(be=>Math.max(Hu,Math.round(be*M)));return N(ae,M)}function N(M,V){const ae=[];for(const be of M){const ke=Math.max(be,ae.length?ae[ae.length-1]+1:Hu);keLe>0).sort((Le,ye)=>Le-ye);if(ae.length<8)return null;const be=Le=>ae[Math.min(ae.length-1,Math.max(0,Math.floor(Le*ae.length)))],ke=be(1-V)+1,Te=[.25,.5,.75].map(Le=>be(Le));return{threshold:ke,edges:N(Te,ke)}}function j(M){var Le;if(Array.isArray((Le=r.map)==null?void 0:Le.bins)&&r.map.bins.length)return r.map.bins;const V=r.map||{};let ae=Number(V.heartbeatThreshold)>0?Number(V.heartbeatThreshold):Y.heartbeatThreshold,be=null;if(V.heartbeatMode==="quantile"){const ye=J(M||[],Number(V.heartbeatQuantile)>0?Number(V.heartbeatQuantile):Y.quantile);ye&&(ae=ye.threshold,be=ye.edges)}be||(be=Array.isArray(V.binThresholds)&&V.binThresholds.length?[...new Set(V.binThresholds.map(Number).filter(ye=>Number.isFinite(ye)&&ye>0&&yeye-pt):Number(V.heartbeatThreshold)>0?E(ae):Y.binThresholds);const ke=[...be,ae,1/0].slice(0,z.length);for(;ke.length{const Bt={upTo:ye,c:z[pt],l:B(Te,ye)};return Te=ye,Bt})}const G=oe(()=>j([...x.value.values()])),K=((Qu=r.map)==null?void 0:Qu.noDataColor)||"#f3f3f1";function ce(M){if(!M)return K;const V=G.value;for(const ae of V)if(M{const Le=parseInt(ae.slice(Te*2,Te*2+2),16),ye=parseInt(be.slice(Te*2,Te*2+2),16);return Math.round(Wu*Le+(1-Wu)*ye)};return"#"+[0,1,2].map(Te=>ke(Te).toString(16).padStart(2,"0")).join("")}const Ae=oe(()=>G.value.map(M=>({c:ge(M.c),l:M.l}))),Ne=((ed=r.map)==null?void 0:ed.selectedColor)||"#1a237e";function _e(){const M=x.value,V=[],ae=[];M.forEach((Le,ye)=>{V.push(ye,ce(Le)),ae.push(ye)});const be=V.length?["match",["get","iso_3166_1_alpha_3"],...V,K]:K,Te=Object.keys(s).length>0&&ae.length?["match",["get","iso_3166_1_alpha_3"],...ae.flatMap(Le=>[Le,.92]),.12]:.78;return{fillColor:be,fillOpacity:Te}}function Ue(){return Object.prototype.hasOwnProperty.call(s,rw)}const Ze=((td=r.map)==null?void 0:td.pinColor)||"#ef6c00",Oe=((nd=r.map)==null?void 0:nd.pinStrokeColor)||"#ffffff";function rt(){return Ue()?es({colorSource:"properties"}):Ze}function w(){const M=v.value;if(!M||!M.getLayer("rd-choropleth"))return;const{fillColor:V,fillOpacity:ae}=_e();M.setPaintProperty("rd-choropleth","fill-color",V),M.setPaintProperty("rd-choropleth","fill-opacity",ae);const be=M.getSource("rd-bubbles");be&&be.setData(T()),M.getLayer("rd-bubble-layer")&&M.setPaintProperty("rd-bubble-layer","circle-color",rt())}function P(M){const V=M==null?void 0:M.people_praying,ae=V&&typeof V=="object"?V.value:V;return Number(ae)||0}function T(){return{type:"FeatureCollection",features:l.value.filter(M=>Number(M.latitude)&&Number(M.longitude)).map(M=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(M.longitude),Number(M.latitude)]},properties:{pop:Number(M.population)||0,slug:M.slug||"",name:M.name||"",peoplePraying:P(M)}}))}}function U(){var ae;const M=n==null?void 0:n.selectionSet,V=((ae=t==null?void 0:t.rows)==null?void 0:ae.value)||[];return!M||!M.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:V.filter(be=>M.has(be.slug)&&Number(be.latitude)&&Number(be.longitude)).map(be=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(be.longitude),Number(be.latitude)]},properties:{slug:be.slug||"",name:be.name||""}}))}}function W(){const M=v.value;if(!M)return;const V=M.getSource("rd-bubble-selected");V&&V.setData(U())}function Z(){var be;const M=v.value;if(!M||k)return;k=!0,M.getSource("rd-countries")||M.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:V,fillOpacity:ae}=_e();M.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":V,"fill-opacity":ae,"fill-outline-color":((be=r.map)==null?void 0:be.outlineColor)||"#6d766e"}}),M.addSource("rd-bubbles",{type:"geojson",data:T()}),M.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":rt(),"circle-opacity":1,"circle-stroke-color":Oe,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),M.addSource("rd-bubble-selected",{type:"geojson",data:U()}),M.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Ne,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Ne,"circle-stroke-opacity":.95}}),M.on("click","rd-choropleth",ie),M.on("click","rd-bubble-layer",re),M.on("mouseenter","rd-choropleth",()=>{M.getCanvas().style.cursor="pointer"}),M.on("mouseleave","rd-choropleth",()=>{M.getCanvas().style.cursor=""}),M.on("mouseenter","rd-bubble-layer",()=>{M.getCanvas().style.cursor="pointer"}),M.on("mouseleave","rd-bubble-layer",()=>{M.getCanvas().style.cursor=""});try{window.__rdashMap=M,window.__rdashClickAt=(ke,Te)=>{const Le=M.project([ke,Te]),ye=M.queryRenderedFeatures(Le,{layers:["rd-choropleth"]});return ye&&ye[0]?(ie({features:ye}),ye[0].properties&&ye[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(ke,Te)=>{const Le=M.project([ke,Te]),ye=M.queryRenderedFeatures([[Le.x-7,Le.y-7],[Le.x+7,Le.y+7]],{layers:["rd-bubble-layer"]});return ye&&ye[0]?(re({features:[ye[0]]}),ye[0].properties&&ye[0].properties.slug):null}}catch{}me(),n&&n.on("select",W),W(),n&&n.on("focusRow",({slug:ke}={})=>{var ye;if(!ke)return;const Te=(((ye=t==null?void 0:t.rows)==null?void 0:ye.value)||[]).find(pt=>pt.slug===ke),Le=v.value;if(Le&&Te&&Number(Te.latitude)&&Number(Te.longitude))try{Le.flyTo({center:[Number(Te.longitude),Number(Te.latitude)],zoom:5.5,duration:1200})}catch{}})}function ie(M){const V=v.value;if(V&&M.point){const Te=V.queryRenderedFeatures([[M.point.x-5,M.point.y-5],[M.point.x+5,M.point.y+5]],{layers:["rd-bubble-layer"]});if(Te&&Te.length)return}const ae=M.features&&M.features[0];if(!ae||!n)return;const be=ae.properties&&ae.properties.iso_3166_1_alpha_3,ke=b.value.get(be);ke&&(n.setFilter(c,s[c]===ke?null:ke),n.emit("mapFocus",{facet:c,value:ke}))}function re(M){const V=M.features&&M.features[0];if(!V||!n)return;const ae=V.properties&&V.properties.slug;ae&&(n.toggleSelect(ae),n.emit("focusRow",{slug:ae,name:V.properties&&V.properties.name}))}function h(M){var ae;let V=M&&M.parentNode;for(;V;){if(V.nodeType===1){const be=getComputedStyle(V);if(/auto|scroll/.test(be.overflowY)&&V.scrollHeight>V.clientHeight+4)return V}if(V=V.parentElement||((ae=V.parentNode)==null?void 0:ae.host)||(V.parentNode!==V?V.parentNode:null),V&&V.nodeType===9)break}return null}function m(M){if(!(!M||!M.scrollZoom))try{const ae=document.documentElement.scrollHeight>window.innerHeight+4,be=M.getContainer&&M.getContainer()||null,ke=be?!!h(be):!1;ae||ke?M.scrollZoom.disable():M.scrollZoom.enable()}catch{}}xt(async()=>{await _();const M=v.value;if(!M)return;M.isStyleLoaded()?Z():M.on("load",Z),m(M);const V=()=>m(M);let ae=null;try{ae=new ResizeObserver(V);const be=M.getContainer&&M.getContainer()||null;be&&ae.observe(be);const ke=be?h(be):null;ke&&ae.observe(ke),document.body&&ae.observe(document.body)}catch{}window.addEventListener("resize",V),Ot(()=>{try{ae&&ae.disconnect()}catch{}window.removeEventListener("resize",V)}),M.on("zoom",le),M.on("zoomend",le),M.on("resize",le),le(),M.on("idle",()=>{!k&&M.isStyleLoaded()&&Z()}),typeof ResizeObserver<"u"&&A.value&&($=new ResizeObserver(Q),$.observe(A.value)),X(),M.on("idle",X),M.on("resize",X),n&&typeof n.on=="function"&&(I=n.on("toggleTable",()=>{Q(),setTimeout(Q,280)}),S=n.on("layoutResizing",he))}),Ot(()=>{try{g&&g()}catch{}g=null;try{I&&I()}catch{}I=null;try{S&&S()}catch{}if(S=null,$){try{$.disconnect()}catch{}$=null}if(R){try{R.disconnect()}catch{}R=null}L=null,O&&(cancelAnimationFrame(O),O=0);try{const M=v.value;M&&(M.off("zoom",le),M.off("zoomend",le),M.off("resize",le),M.off("idle",X),M.off("resize",X))}catch{}try{d&&d()}catch{}}),mt([l,C],w);const D=ue(!0),q=ue(!0);function le(){const M=v.value;if(!M)return;const V=M.getZoom();D.value=VM.getMinZoom()+.01}const se=ue(null);let R=null,L=null;function X(){var be;const M=se.value;if(!M)return;let V=0;try{const ke=(be=M.getRootNode)==null?void 0:be.call(M),Te=ke&&ke.querySelector?ke.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Te){const Le=Te.getBoundingClientRect(),ye=M.getBoundingClientRect();if(V=Math.max(Le.height||0,ye.bottom-Le.top),L!==Te&&typeof ResizeObserver<"u"){if(R)try{R.disconnect()}catch{}L=Te,R=new ResizeObserver(X),R.observe(Te)}}}catch{}const ae=Math.min(Math.max(Math.ceil(V)||20,20),72);M.style.setProperty("--rd-attrib-clear",ae+"px")}const te=ue("globe");function me(){const M=v.value;if(M)try{M.setProjection(te.value)}catch{}}function ve(){te.value=te.value==="globe"?"mercator":"globe",me()}function Ge(M){const V=Number(M.longitude),ae=Number(M.latitude);return!Number.isFinite(V)||!Number.isFinite(ae)||V===0&&ae===0||ae<-90||ae>90||V<-180||V>180?null:[V,ae]}function Ve(M,V){if(!M.length)return NaN;const ae=Math.min(M.length-1,Math.max(0,Math.round(V*(M.length-1))));return M[ae]}function wt(M){const V=M.slice().sort((ye,pt)=>ye-pt),ae=V.length;if(ae<2)return V;let be=-1,ke=0;for(let ye=0;yebe&&(be=Bt,ke=ye)}const Te=(ke+1)%ae,Le=new Array(ae);for(let ye=0;ye0&&ptUn[1]).sort((Un,ss)=>Un-ss),be=wt(V.map(Un=>Un[0])),ke=V.length>=aw?sw:0,Te=Ve(ae,ke),Le=Ve(ae,1-ke),ye=Ve(be,ke),pt=Ve(be,1-ke),Bt=[Ve(be,.5),Ve(ae,.5)];return!(pt>ye)||!(Le>Te)?{bounds:[[Bt[0],Bt[1]],[Bt[0],Bt[1]]],center:Bt}:{bounds:[[ye,Te],[pt,Le]],center:Bt}}function It(){const M=v.value;if(!M)return;if(!Object.keys(s).length){try{M.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const V=Qe(l.value);if(V)try{M.fitBounds(V.bounds,{padding:70,duration:1200,maxZoom:5.5}),M.setCenter(V.center)}catch{}}let Qo=null;return mt(()=>JSON.stringify(s),()=>{clearTimeout(Qo),Qo=setTimeout(It,260)}),Tt(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-maptag{ position:absolute; left:8px; bottom:8px; z-index:2; font-size:10px; color:#33415588; background:#ffffffcc; padding:2px 6px; border-radius:4px; } @@ -667,11 +667,11 @@ z-index:2; touch-action:pan-y; pointer-events:auto; background:transparent; } .map-scroll-edge--left{ left:0; } .map-scroll-edge--right{ right:0; } -`,"rd-mappanel"),(M,K)=>(ee(),te("div",{ref_key:"mapWrap",ref:ce,class:"rd-mapwrap","data-sub":"map","data-projection":J.value},[F("div",{ref_key:"mapContainer",ref:A,class:"rd-mapc","data-map-canvas":""},null,512),K[1]||(K[1]=F("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),K[2]||(K[2]=F("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Pe(X0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Xn(()=>[Pe(J0,{map:pe(v),disabled:!m.value},null,8,["map","disabled"]),Pe(Z0,{map:pe(v),disabled:!D.value},null,8,["map","disabled"])]),_:1}),F("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:me},fe(J.value==="globe"?"🌐 Globe":"▭ Flat"),1),K[3]||(K[3]=F("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),F("div",ew,[K[0]||(K[0]=F("div",{class:"lg-h"},"UPGs / country",-1)),(ee(!0),te(Ce,null,Qe(ge.value,ie=>(ee(),te("div",{key:ie.l,class:"lg-row"},[F("span",{class:"lg-sw",style:gt({background:ie.c})},null,4),F("span",null,fe(ie.l),1)]))),128))])],8,Q0))}},sw=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",aw=["data-active","aria-expanded"],iw={class:"filter-dropdown__label"},lw=["value","placeholder"],cw={class:"filter-dropdown__options"},uw={key:0,class:"filter-dropdown__no-options"},dw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],fw={class:"filter-dropdown__count"},pw=Jr({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const n=e,o=t,r=ue(!1),s=ue(""),a=ue(-1),i=ue(null),l=ue(null),c=ue(null),u=ue({});function p(S){const R=S.ownerDocument,V=R.createElement("div");V.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(S.parentElement||S.getRootNode().body||R.body).appendChild(V);const he=V.getBoundingClientRect();return V.remove(),{x:he.left,y:he.top}}function b(){const S=c.value;if(!S)return;const R=S.getBoundingClientRect(),V=window.innerWidth,Z=window.innerHeight,he=320,z=4,Y=8,B=Math.round(Math.min(R.width,V-Y*2)),E=R.right>Y&&R.leftV-Y?N=Math.round(Math.max(R.right-B,Y)):N=Math.round(Math.max(R.left,Y)):N=Math.round(Math.min(Math.max(R.left,Y),V-B-Y));const X=Z-R.bottom,j=X<180&&R.top>X,q=p(S),W=Math.round(N-q.x);u.value=j?{top:"auto",bottom:`${Math.round(Z-R.top+z+q.y)}px`,left:`${W}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(he,R.top-z-Y))}px`}:{top:`${Math.round(R.bottom+z-q.y)}px`,bottom:"auto",left:`${W}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(he,X-z-Y))}px`}}function x(){r.value&&b()}const A=re(()=>{if(!s.value)return n.options;const S=s.value.toLowerCase();return n.options.filter(R=>R.label.toLowerCase().includes(S))}),y=re(()=>n.options.find(S=>S.value===n.value));function v(S){var V;const R=((V=S.composedPath)==null?void 0:V.call(S))??[];i.value&&!R.includes(i.value)&&d()}function C(){r.value?d():_()}function _(){r.value=!0,s.value="",a.value=-1,b(),document.addEventListener("click",v),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),Mn(()=>{var S;b(),(S=l.value)==null||S.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function f(S){s.value=S.target.value,a.value=-1}function g(S){const R=A.value;switch(S.key){case"ArrowDown":S.preventDefault(),a.value=Math.min(a.value+1,R.length-1),k();break;case"ArrowUp":S.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{S.preventDefault();const V=R[a.value];V&&$(V);break}case"Escape":S.preventDefault(),d();break}}function k(){Mn(()=>{var R;const S=(R=i.value)==null?void 0:R.querySelector(".filter-dropdown__option[data-highlighted]");S==null||S.scrollIntoView({block:"nearest"})})}function $(S){o("filter-change",{name:n.name,value:S.value,label:S.label,type:S.type}),d()}function I(){o("filter-clear",{name:n.name}),d()}return Ot(()=>{document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(S,R)=>(ee(),te("div",{ref_key:"rootRef",ref:i,class:Ne(["filter-dropdown",{"is-open":r.value}])},[F("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:C},[F("span",iw,[y.value?(ee(),te(Ce,{key:0},[nt(fe(e.label)+": ",1),F("strong",null,fe(y.value.label),1)],64)):(ee(),te(Ce,{key:1},[nt(fe(e.label),1)],64))]),R[0]||(R[0]=F("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,aw),r.value?(ee(),te("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:gt(u.value)},[F("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:g},null,40,lw),e.value?(ee(),te("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:I},"Clear selection")):Be("",!0),F("div",cw,[A.value.length===0?(ee(),te("div",uw,"No options found")):(ee(!0),te(Ce,{key:1},Qe(A.value,(V,Z)=>(ee(),te("div",{key:V.value,class:"filter-dropdown__option",role:"option","data-highlighted":Z===a.value?"":void 0,"data-selected":V.value===e.value?"":void 0,"aria-selected":V.value===e.value,onClick:he=>$(V),onMouseenter:he=>a.value=Z},[F("span",null,fe(V.label),1),F("span",fw,fe(V.count),1)],40,dw))),128))])],4)):Be("",!0)],2))}},[["styles",[sw]]]),gw=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",hw={class:"sfh"},mw={key:0,class:"sfh__search-row"},bw=["aria-expanded"],_w=["aria-label"],yw=["data-active","onClick"],vw={class:"sfh__chip-strip"},ww={class:"sfh__sel-label"},xw=["aria-label","onClick"],kw={key:1,class:"sfh__sel-world"},$w=Jr({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const n=e,o=t,r=_=>!(_===!1||_==="false"||_==="0"||_===0),s=re(()=>r(n.showSearch)),a=re(()=>r(n.showFilters)),i=re(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...n.labels})),l=ue(n.startExpanded||!n.collapsible);function c(){l.value=!l.value}const u=re(()=>!n.collapsible||!s.value||l.value),p=re(()=>{if(Array.isArray(n.activeChips))return n.activeChips;const _=[];for(const d of n.filters){if(!d.value)continue;const f=(d.options||[]).find(g=>g.value===d.value);_.push({name:d.name,label:f?f.label:d.value})}for(const d of n.toggles)d.active&&_.push({name:d.name,label:d.label});return _});function b(_){const d=(_==null?void 0:_.value)??"";o("update:search",d),o("search",{value:d})}function x(_){o("filter-change",_)}function A(_){o("filter-clear",_)}function y(_){o("toggle",{name:_.name,active:!_.active})}function v(_){o("remove-filter",{name:_})}function C(){o("clear-all")}return(_,d)=>(ee(),te("div",hw,[s.value?(ee(),te("div",mw,[Pe(Ou,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:b},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(ee(),te("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(fe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=F("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,bw)):Be("",!0)])):Be("",!0),a.value&&u.value?(ee(),te("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(ee(!0),te(Ce,null,Qe(e.filters,f=>(ee(),Yt(pw,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:x,onFilterClear:A},null,8,["label","name","options","value","placeholder"]))),128)),(ee(!0),te(Ce,null,Qe(e.toggles,f=>(ee(),te("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:g=>y(f)},fe(f.label),9,yw))),128))],8,_w)):Be("",!0),a.value?(ee(),te("div",{key:2,class:Ne(["sfh__chips",{"is-empty":!p.value.length}])},[F("div",vw,[F("span",ww,fe(i.value.selected||"Selected"),1),p.value.length?(ee(),te(Ce,{key:0},[(ee(!0),te(Ce,null,Qe(p.value,f=>(ee(),te("span",{key:f.name,class:"sfh__chip"},[nt(fe(f.label)+" ",1),F("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:g=>v(f.name)},"×",8,xw)]))),128)),F("button",{class:"sfh__clear",type:"button",onClick:C},fe(i.value.clear_all),1)],64)):(ee(),te("span",kw,fe(i.value.world||"World"),1))])],2)):Be("",!0)]))}},[["styles",[gw]]]),Sw={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},rs="prayer_level",Ew={__name:"DashboardResearchFilters",setup(e){const t=Ee("selectionBus",null),n=Ee("dashboardData",null),o=Ee("dashboardConfig",{}),r=re(()=>{var $;return(($=n==null?void 0:n.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const I=$==null?void 0:$.people_praying,S=I&&typeof I=="object"?I.value:I;return Ko[co({peoplePraying:S??null})]}},i=re(()=>({[rs]:a,...o.facets||{}})),l=re(()=>Object.fromEntries(Object.entries(i.value).map(([$,I])=>[$,I.get]))),c=re(()=>o.researchFilters||{}),u=re(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[rs,...$.filter(I=>I!==rs)]}),p=re(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function b($,I){const S=Object.keys($);return S.length?I.filter(R=>S.every(V=>{const Z=l.value[V];return Z?Z(R)===$[V]:!0})):I}function x($){var he;const I=l.value[$];if(!I)return[];const S=(he=i.value[$])==null?void 0:he.optionLabel,R={};for(const[z,Y]of Object.entries(s))z!==$&&(R[z]=Y);const V=b(R,r.value),Z=new Map;for(const z of V){const Y=I(z);if(Y==null||Y==="")continue;const B=Z.get(Y);B?B.count+=1:Z.set(Y,{label:S&&S(z)||Y,count:1})}return Array.from(Z.entries()).map(([z,{label:Y,count:B}])=>({value:z,label:Y,count:B})).sort((z,Y)=>String(z.label).localeCompare(String(Y.label)))}const A=re(()=>u.value.map($=>{var I;return{name:$,label:((I=i.value[$])==null?void 0:I.label)||$,options:x($),value:s[$]||""}})),{labelFor:y}=Yo(o,Ee("dataStore",null),Ee("searchSourceId",null)),v=re(()=>Object.keys(s).map($=>{var S;const I=s[$];return{name:$,label:`${((S=i.value[$])==null?void 0:S.label)||$}: ${$===rs?I:y($,I)}`}})),C=re(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function _($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function d($){t==null||t.setFilter($.name,$.value)}function f($){t==null||t.setFilter($.name,null)}function g($){t==null||t.setFilter($.name,null)}function k(){t==null||t.clearFilters()}return Tt(` +`,"rd-mappanel"),(M,V)=>(ee(),ne("div",{ref_key:"mapWrap",ref:se,class:"rd-mapwrap","data-sub":"map","data-projection":te.value},[F("div",{ref_key:"mapContainer",ref:A,class:"rd-mapc","data-map-canvas":""},null,512),V[1]||(V[1]=F("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),V[2]||(V[2]=F("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Ie(Z0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Xn(()=>[Ie(Q0,{map:pe(v),disabled:!D.value},null,8,["map","disabled"]),Ie(ew,{map:pe(v),disabled:!q.value},null,8,["map","disabled"])]),_:1}),F("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ve},fe(te.value==="globe"?"🌐 Globe":"▭ Flat"),1),V[3]||(V[3]=F("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),F("div",nw,[V[0]||(V[0]=F("div",{class:"lg-h"},"UPGs / country",-1)),(ee(!0),ne(Ce,null,et(Ae.value,ae=>(ee(),ne("div",{key:ae.l,class:"lg-row"},[F("span",{class:"lg-sw",style:gt({background:ae.c})},null,4),F("span",null,fe(ae.l),1)]))),128))])],8,tw))}},lw=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",cw=["data-active","aria-expanded"],uw={class:"filter-dropdown__label"},dw=["value","placeholder"],fw={class:"filter-dropdown__options"},pw={key:0,class:"filter-dropdown__no-options"},gw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],hw={class:"filter-dropdown__count"},mw=Jr({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const n=e,o=t,r=ue(!1),s=ue(""),a=ue(-1),i=ue(null),l=ue(null),c=ue(null),u=ue({});function p(S){const O=S.ownerDocument,H=O.createElement("div");H.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(S.parentElement||S.getRootNode().body||O.body).appendChild(H);const he=H.getBoundingClientRect();return H.remove(),{x:he.left,y:he.top}}function b(){const S=c.value;if(!S)return;const O=S.getBoundingClientRect(),H=window.innerWidth,Q=window.innerHeight,he=320,z=4,Y=8,B=Math.round(Math.min(O.width,H-Y*2)),E=O.right>Y&&O.leftH-Y?N=Math.round(Math.max(O.right-B,Y)):N=Math.round(Math.max(O.left,Y)):N=Math.round(Math.min(Math.max(O.left,Y),H-B-Y));const J=Q-O.bottom,j=J<180&&O.top>J,G=p(S),K=Math.round(N-G.x);u.value=j?{top:"auto",bottom:`${Math.round(Q-O.top+z+G.y)}px`,left:`${K}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(he,O.top-z-Y))}px`}:{top:`${Math.round(O.bottom+z-G.y)}px`,bottom:"auto",left:`${K}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(he,J-z-Y))}px`}}function x(){r.value&&b()}const A=oe(()=>{if(!s.value)return n.options;const S=s.value.toLowerCase();return n.options.filter(O=>O.label.toLowerCase().includes(S))}),y=oe(()=>n.options.find(S=>S.value===n.value));function v(S){var H;const O=((H=S.composedPath)==null?void 0:H.call(S))??[];i.value&&!O.includes(i.value)&&d()}function C(){r.value?d():_()}function _(){r.value=!0,s.value="",a.value=-1,b(),document.addEventListener("click",v),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),Mn(()=>{var S;b(),(S=l.value)==null||S.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function f(S){s.value=S.target.value,a.value=-1}function g(S){const O=A.value;switch(S.key){case"ArrowDown":S.preventDefault(),a.value=Math.min(a.value+1,O.length-1),k();break;case"ArrowUp":S.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{S.preventDefault();const H=O[a.value];H&&$(H);break}case"Escape":S.preventDefault(),d();break}}function k(){Mn(()=>{var O;const S=(O=i.value)==null?void 0:O.querySelector(".filter-dropdown__option[data-highlighted]");S==null||S.scrollIntoView({block:"nearest"})})}function $(S){o("filter-change",{name:n.name,value:S.value,label:S.label,type:S.type}),d()}function I(){o("filter-clear",{name:n.name}),d()}return Ot(()=>{document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(S,O)=>(ee(),ne("div",{ref_key:"rootRef",ref:i,class:Me(["filter-dropdown",{"is-open":r.value}])},[F("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:C},[F("span",uw,[y.value?(ee(),ne(Ce,{key:0},[nt(fe(e.label)+": ",1),F("strong",null,fe(y.value.label),1)],64)):(ee(),ne(Ce,{key:1},[nt(fe(e.label),1)],64))]),O[0]||(O[0]=F("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,cw),r.value?(ee(),ne("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:gt(u.value)},[F("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:g},null,40,dw),e.value?(ee(),ne("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:I},"Clear selection")):ze("",!0),F("div",fw,[A.value.length===0?(ee(),ne("div",pw,"No options found")):(ee(!0),ne(Ce,{key:1},et(A.value,(H,Q)=>(ee(),ne("div",{key:H.value,class:"filter-dropdown__option",role:"option","data-highlighted":Q===a.value?"":void 0,"data-selected":H.value===e.value?"":void 0,"aria-selected":H.value===e.value,onClick:he=>$(H),onMouseenter:he=>a.value=Q},[F("span",null,fe(H.label),1),F("span",hw,fe(H.count),1)],40,gw))),128))])],4)):ze("",!0)],2))}},[["styles",[lw]]]),bw=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",_w={class:"sfh"},yw={key:0,class:"sfh__search-row"},vw=["aria-expanded"],ww=["aria-label"],xw=["data-active","onClick"],kw={class:"sfh__chip-strip"},$w={class:"sfh__sel-label"},Sw=["aria-label","onClick"],Ew={key:1,class:"sfh__sel-world"},Aw=Jr({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const n=e,o=t,r=_=>!(_===!1||_==="false"||_==="0"||_===0),s=oe(()=>r(n.showSearch)),a=oe(()=>r(n.showFilters)),i=oe(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...n.labels})),l=ue(n.startExpanded||!n.collapsible);function c(){l.value=!l.value}const u=oe(()=>!n.collapsible||!s.value||l.value),p=oe(()=>{if(Array.isArray(n.activeChips))return n.activeChips;const _=[];for(const d of n.filters){if(!d.value)continue;const f=(d.options||[]).find(g=>g.value===d.value);_.push({name:d.name,label:f?f.label:d.value})}for(const d of n.toggles)d.active&&_.push({name:d.name,label:d.label});return _});function b(_){const d=(_==null?void 0:_.value)??"";o("update:search",d),o("search",{value:d})}function x(_){o("filter-change",_)}function A(_){o("filter-clear",_)}function y(_){o("toggle",{name:_.name,active:!_.active})}function v(_){o("remove-filter",{name:_})}function C(){o("clear-all")}return(_,d)=>(ee(),ne("div",_w,[s.value?(ee(),ne("div",yw,[Ie(Ou,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:b},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(ee(),ne("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(fe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=F("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,vw)):ze("",!0)])):ze("",!0),a.value&&u.value?(ee(),ne("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(ee(!0),ne(Ce,null,et(e.filters,f=>(ee(),Yt(mw,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:x,onFilterClear:A},null,8,["label","name","options","value","placeholder"]))),128)),(ee(!0),ne(Ce,null,et(e.toggles,f=>(ee(),ne("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:g=>y(f)},fe(f.label),9,xw))),128))],8,ww)):ze("",!0),a.value?(ee(),ne("div",{key:2,class:Me(["sfh__chips",{"is-empty":!p.value.length}])},[F("div",kw,[F("span",$w,fe(i.value.selected||"Selected"),1),p.value.length?(ee(),ne(Ce,{key:0},[(ee(!0),ne(Ce,null,et(p.value,f=>(ee(),ne("span",{key:f.name,class:"sfh__chip"},[nt(fe(f.label)+" ",1),F("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:g=>v(f.name)},"×",8,Sw)]))),128)),F("button",{class:"sfh__clear",type:"button",onClick:C},fe(i.value.clear_all),1)],64)):(ee(),ne("span",Ew,fe(i.value.world||"World"),1))])],2)):ze("",!0)]))}},[["styles",[bw]]]),Cw={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},rs="prayer_level",Tw={__name:"DashboardResearchFilters",setup(e){const t=Se("selectionBus",null),n=Se("dashboardData",null),o=Se("dashboardConfig",{}),r=oe(()=>{var $;return(($=n==null?void 0:n.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const I=$==null?void 0:$.people_praying,S=I&&typeof I=="object"?I.value:I;return Ko[co({peoplePraying:S??null})]}},i=oe(()=>({[rs]:a,...o.facets||{}})),l=oe(()=>Object.fromEntries(Object.entries(i.value).map(([$,I])=>[$,I.get]))),c=oe(()=>o.researchFilters||{}),u=oe(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[rs,...$.filter(I=>I!==rs)]}),p=oe(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function b($,I){const S=Object.keys($);return S.length?I.filter(O=>S.every(H=>{const Q=l.value[H];return Q?Q(O)===$[H]:!0})):I}function x($){var he;const I=l.value[$];if(!I)return[];const S=(he=i.value[$])==null?void 0:he.optionLabel,O={};for(const[z,Y]of Object.entries(s))z!==$&&(O[z]=Y);const H=b(O,r.value),Q=new Map;for(const z of H){const Y=I(z);if(Y==null||Y==="")continue;const B=Q.get(Y);B?B.count+=1:Q.set(Y,{label:S&&S(z)||Y,count:1})}return Array.from(Q.entries()).map(([z,{label:Y,count:B}])=>({value:z,label:Y,count:B})).sort((z,Y)=>String(z.label).localeCompare(String(Y.label)))}const A=oe(()=>u.value.map($=>{var I;return{name:$,label:((I=i.value[$])==null?void 0:I.label)||$,options:x($),value:s[$]||""}})),{labelFor:y}=Yo(o,Se("dataStore",null),Se("searchSourceId",null)),v=oe(()=>Object.keys(s).map($=>{var S;const I=s[$];return{name:$,label:`${((S=i.value[$])==null?void 0:S.label)||$}: ${$===rs?I:y($,I)}`}})),C=oe(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function _($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function d($){t==null||t.setFilter($.name,$.value)}function f($){t==null||t.setFilter($.name,null)}function g($){t==null||t.setFilter($.name,null)}function k(){t==null||t.clearFilters()}return Tt(` .rd-research-filters{ position:relative; z-index:55; height:100%; box-sizing:border-box; padding:3px var(--rd-edge,14px); background:var(--rd-panel,#fff); border-bottom:1px solid var(--rd-line, #d1d4cd); overflow:visible; } -`,"rd-research-filters"),($,I)=>(ee(),te("div",Sw,[Pe($w,{search:C.value,filters:A.value,"active-chips":v.value,"search-placeholder":p.value,"show-search":!1,"start-expanded":"",onSearch:_,onFilterChange:d,onFilterClear:f,onRemoveFilter:g,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Aw={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Wu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Ba=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Ua={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,n=t&&typeof t=="object"?t.value:t;return Ko[co({peoplePraying:n??null})]}},religion:{label:"Religion",get:e=>Ye(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return n&&Bn[n]?Bn[n]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return Bn[n]?n:""}},wagf_region:{label:"Region",get:e=>Ye(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Ye(e.wagf_block)},country_code:{label:"Country",get:e=>Ye(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Ye(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Ye(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Ye(e.imb_language_family);if(t)return Zr(t);const n=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,o=n&&Aw[n];return o?Zr(o):""}},primary_language:{label:"Language",get:e=>Ye(e.primary_language)},affinity_bloc:{label:"People",get:e=>Ba(e.rop1),optionLabel:e=>Ye(e.rop1)},cluster:{label:"Cluster",get:e=>Ba(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Ba(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Ye(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"status",title:"Status",axis:null,facet:"engagement_status",topN:16},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Ye(e.engagement_status))||/unengaged/i.test(Ye(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Ye(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Ye(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Ye(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Ye(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Wu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Wu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Ye(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},Cw=["data-row-count","data-loading","data-error","data-narrow"],Tw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Lw=["data-kpi"],Pw={class:"l"},Iw={key:0,class:"d","data-kpi-delta":""},Nw={class:"rd-cell-map","data-region":"map"},Mw=["title"],Fw=["title"],Rw={class:"rd-cell-table","data-region":"table"},Ow={class:"rd-rail","data-region":"rail"},Dw=["data-view"],jw=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const n=Ee("profileConfig",ue(null)),o=re(()=>{const W=pe(n);if(!W||typeof W!="object")return Ua;const le={...Ua,...W};return W.map&&typeof W.map=="object"&&(le.map={...Ua.map,...W.map}),le}),r=re(()=>{var W;return((W=pe(n))==null?void 0:W.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=Q_(o.value),u=t;mt(()=>{var W;return{filters:{...s.filterSet},q:((W=s.searchTerm)==null?void 0:W.value)||""}},({filters:W,q:le})=>u("dashboard-filter",{filterSet:W,searchTerm:le}),{deep:!0});const p=a.total,b=a.loading,x=a.error,{shell:A,isNarrow:y,slimRail:v,slimFacet:C,mobileView:_,SEG:d,tableCollapsed:f,facetCollapsed:g,railCollapsed:k,setView:$,showFacets:I,showMap:S,showTable:R,showCharts:V}=c,{startFacetResize:Z,startRailResize:he,startTableResize:z}=ny({shellRef:A,bus:s,isNarrow:y,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%"}});function Y(W){return W.kind==="pct"?W.value:W.kind==="distinct"?W.value||"—":Fu(W.value)}const B=re(()=>{var W;return(W=s.selectionVersion)==null||W.value,s.selectionSet?s.selectionSet.size:0});function E(){l.exportCsvAsync()}function N(){s.clearSelection()}function X(){s.emit("toggleFacet",!g.value)}function j(){s.emit("toggleRail",!k.value)}function q(W){const le=W.target&&W.target.closest&&W.target.closest("[data-bar-export],[data-bar-clear]");le&&(le.hasAttribute("data-bar-export")?E():N())}return Tt(` +`,"rd-research-filters"),($,I)=>(ee(),ne("div",Cw,[Ie(Aw,{search:C.value,filters:A.value,"active-chips":v.value,"search-placeholder":p.value,"show-search":!1,"start-expanded":"",onSearch:_,onFilterChange:d,onFilterClear:f,onRemoveFilter:g,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Lw={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Ku=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Ba=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Ua={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,n=t&&typeof t=="object"?t.value:t;return Ko[co({peoplePraying:n??null})]}},religion:{label:"Religion",get:e=>Xe(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return n&&Bn[n]?Bn[n]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return Bn[n]?n:""}},wagf_region:{label:"Region",get:e=>Xe(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Xe(e.wagf_block)},country_code:{label:"Country",get:e=>Xe(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Xe(e.engagement_status)},gospel_access:{label:"Gospel Access",get:e=>Xe(e.imb_gsec)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Xe(e.imb_language_family);if(t)return Zr(t);const n=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,o=n&&Lw[n];return o?Zr(o):""}},primary_language:{label:"Language",get:e=>Xe(e.primary_language)},affinity_bloc:{label:"People",get:e=>Ba(e.rop1),optionLabel:e=>Xe(e.rop1)},cluster:{label:"Cluster",get:e=>Ba(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Ba(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Xe(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"gospel-access",title:"Gospel Access",axis:null,facet:"gospel_access",topN:8}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Xe(e.engagement_status))||/unengaged/i.test(Xe(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Xe(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Xe(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Xe(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Xe(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Ku(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Ku(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Xe(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1,colorRamp:"heartbeat-red"},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},Pw=["data-row-count","data-loading","data-error","data-narrow"],Iw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Nw=["data-kpi"],Mw={class:"l"},Fw={key:0,class:"d","data-kpi-delta":""},Rw={class:"rd-cell-map","data-region":"map"},Ow=["title"],Dw=["title"],jw={class:"rd-cell-table","data-region":"table"},zw={class:"rd-rail","data-region":"rail"},Bw=["data-view"],Uw=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const n=Se("profileConfig",ue(null)),o=oe(()=>{const K=pe(n);if(!K||typeof K!="object")return Ua;const ce={...Ua,...K};return K.map&&typeof K.map=="object"&&(ce.map={...Ua.map,...K.map}),ce}),r=oe(()=>{var K;return((K=pe(n))==null?void 0:K.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=ty(o.value),u=t;mt(()=>{var K;return{filters:{...s.filterSet},q:((K=s.searchTerm)==null?void 0:K.value)||""}},({filters:K,q:ce})=>u("dashboard-filter",{filterSet:K,searchTerm:ce}),{deep:!0});const p=a.total,b=a.loading,x=a.error,{shell:A,isNarrow:y,slimRail:v,slimFacet:C,mobileView:_,SEG:d,tableCollapsed:f,facetCollapsed:g,railCollapsed:k,setView:$,showFacets:I,showMap:S,showTable:O,showCharts:H}=c,{startFacetResize:Q,startRailResize:he,startTableResize:z}=ry({shellRef:A,bus:s,isNarrow:y,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%"}});function Y(K){return K.kind==="pct"?K.value:K.kind==="distinct"?K.value||"—":Fu(K.value)}const B=oe(()=>{var K;return(K=s.selectionVersion)==null||K.value,s.selectionSet?s.selectionSet.size:0});function E(){l.exportCsvAsync()}function N(){s.clearSelection()}function J(){s.emit("toggleFacet",!g.value)}function j(){s.emit("toggleRail",!k.value)}function G(K){const ce=K.target&&K.target.closest&&K.target.closest("[data-bar-export],[data-bar-clear]");ce&&(ce.hasAttribute("data-bar-export")?E():N())}return Tt(` :host{ display:block; width:100%; height:100%; min-height:560px; box-sizing:border-box; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --dx-surface:#f3f3f1; --dx-elevated:#ffffff; --dx-text:#3b463d; --dx-muted:#6d766e; @@ -762,4 +762,4 @@ .rd-shell ::-webkit-scrollbar-thumb{ background:var(--dx-scroll-thumb, #c4c8c0); border-radius:8px; } .rd-shell ::-webkit-scrollbar-thumb:hover{ background:#9aa197; } .rd-shell ::-webkit-scrollbar-corner{ background:transparent; } -`,"rd-shell-layout"),(W,le)=>(ee(),te("div",{ref_key:"shell",ref:A,class:Ne(["rd-shell",{"rd-narrow":pe(y),"rd-slim-rail":pe(v),"rd-slim-facet":pe(C),"rd-table-collapsed":pe(f),"rd-facet-collapsed":pe(g),"rd-rail-collapsed":pe(k),"rd-page-scroll":r.value}]),"data-row-count":pe(p),"data-loading":pe(b)?"1":"0","data-error":pe(x)||"","data-narrow":pe(y)?"1":"0"},[Pe(pe(Hy)),Pe(pe(Ew)),F("div",Tw,[(ee(!0),te(Ce,null,Qe(pe(i),ge=>(ee(),te("div",{class:"kpi",key:ge.id},[F("span",{class:"n","data-kpi":ge.id},fe(ge.kind==="count"&&pe(b)?"…":Y(ge)),9,Lw),F("span",Pw,fe(ge.label),1),ge.delta?(ee(),te("span",Iw,"↓"+fe(pe(Fu)(ge.delta)),1)):Be("",!0)]))),128))]),Rt(Pe(pe(cv),null,null,512),[[Zt,pe(I)]]),Rt(F("div",Nw,[Pe(pe(rw)),pe(y)?Be("",!0):(ee(),te("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:pe(g)?"Show filters":"Hide filters — grow the map",onClick:X},fe(pe(g)?"▸":"◂"),9,Mw)),pe(y)?Be("",!0):(ee(),te("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:pe(k)?"Show charts":"Hide charts — grow the map",onClick:j},fe(pe(k)?"◂":"▸"),9,Fw))],512),[[Zt,pe(S)]]),Rt(F("div",Rw,[Pe(pe(Lv))],512),[[Zt,pe(R)]]),Rt(F("aside",Ow,[Pe(pe(v0)),Pe(pe(Kv))],512),[[Zt,pe(V)]]),Rt(F("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",title:"Drag to resize the filters rail",onPointerdown:le[0]||(le[0]=(...ge)=>pe(Z)&&pe(Z)(...ge))},null,544),[[Zt,!pe(y)&&!pe(g)]]),Rt(F("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",title:"Drag to resize the charts rail",onPointerdown:le[1]||(le[1]=(...ge)=>pe(he)&&pe(he)(...ge))},null,544),[[Zt,!pe(y)&&!pe(k)]]),Rt(F("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",title:"Drag to resize the table",onPointerdown:le[2]||(le[2]=(...ge)=>pe(z)&&pe(z)(...ge))},null,544),[[Zt,!pe(y)&&!pe(f)]]),F("div",{class:"rd-seg","data-segmented":"",onClick:le[3]||(le[3]=(...ge)=>pe($)&&pe($)(...ge))},[(ee(!0),te(Ce,null,Qe(pe(d),ge=>(ee(),te("button",{key:ge.k,class:Ne({on:pe(_)===ge.k}),"data-view-btn":"","data-view":ge.k},fe(ge.l),11,Dw))),128))]),B.value?(ee(),te("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:q},[F("b",null,fe(B.value)+" selected",1),le[4]||(le[4]=F("span",{class:"sp"},null,-1)),le[5]||(le[5]=F("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),le[6]||(le[6]=F("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Be("",!0)],10,Cw))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"rd-shell-layout"),(K,ce)=>(ee(),ne("div",{ref_key:"shell",ref:A,class:Me(["rd-shell",{"rd-narrow":pe(y),"rd-slim-rail":pe(v),"rd-slim-facet":pe(C),"rd-table-collapsed":pe(f),"rd-facet-collapsed":pe(g),"rd-rail-collapsed":pe(k),"rd-page-scroll":r.value}]),"data-row-count":pe(p),"data-loading":pe(b)?"1":"0","data-error":pe(x)||"","data-narrow":pe(y)?"1":"0"},[Ie(pe(Ky)),Ie(pe(Tw)),F("div",Iw,[(ee(!0),ne(Ce,null,et(pe(i),ge=>(ee(),ne("div",{class:"kpi",key:ge.id},[F("span",{class:"n","data-kpi":ge.id},fe(ge.kind==="count"&&pe(b)?"…":Y(ge)),9,Nw),F("span",Mw,fe(ge.label),1),ge.delta?(ee(),ne("span",Fw,"↓"+fe(pe(Fu)(ge.delta)),1)):ze("",!0)]))),128))]),Rt(Ie(pe(dv),null,null,512),[[Zt,pe(I)]]),Rt(F("div",Rw,[Ie(pe(iw)),pe(y)?ze("",!0):(ee(),ne("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:pe(g)?"Show filters":"Hide filters — grow the map",onClick:J},fe(pe(g)?"▸":"◂"),9,Ow)),pe(y)?ze("",!0):(ee(),ne("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:pe(k)?"Show charts":"Hide charts — grow the map",onClick:j},fe(pe(k)?"◂":"▸"),9,Dw))],512),[[Zt,pe(S)]]),Rt(F("div",jw,[Ie(pe(Iv))],512),[[Zt,pe(O)]]),Rt(F("aside",zw,[Ie(pe(x0)),Ie(pe(Xv))],512),[[Zt,pe(H)]]),Rt(F("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",title:"Drag to resize the filters rail",onPointerdown:ce[0]||(ce[0]=(...ge)=>pe(Q)&&pe(Q)(...ge))},null,544),[[Zt,!pe(y)&&!pe(g)]]),Rt(F("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",title:"Drag to resize the charts rail",onPointerdown:ce[1]||(ce[1]=(...ge)=>pe(he)&&pe(he)(...ge))},null,544),[[Zt,!pe(y)&&!pe(k)]]),Rt(F("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",title:"Drag to resize the table",onPointerdown:ce[2]||(ce[2]=(...ge)=>pe(z)&&pe(z)(...ge))},null,544),[[Zt,!pe(y)&&!pe(f)]]),F("div",{class:"rd-seg","data-segmented":"",onClick:ce[3]||(ce[3]=(...ge)=>pe($)&&pe($)(...ge))},[(ee(!0),ne(Ce,null,et(pe(d),ge=>(ee(),ne("button",{key:ge.k,class:Me({on:pe(_)===ge.k}),"data-view-btn":"","data-view":ge.k},fe(ge.l),11,Bw))),128))]),B.value?(ee(),ne("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:G},[F("b",null,fe(B.value)+" selected",1),ce[4]||(ce[4]=F("span",{class:"sp"},null,-1)),ce[5]||(ce[5]=F("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),ce[6]||(ce[6]=F("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):ze("",!0)],10,Pw))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/research-dashboard/research-dashboard/index.html b/public/doxa-maps/research-dashboard/research-dashboard/index.html index d681b3ffb..b4ef13a59 100644 --- a/public/doxa-maps/research-dashboard/research-dashboard/index.html +++ b/public/doxa-maps/research-dashboard/research-dashboard/index.html @@ -29,7 +29,7 @@ - +