diff --git a/documentation/reference-library-index.md b/documentation/reference-library-index.md index aba3a2c40..1059dfdc7 100644 --- a/documentation/reference-library-index.md +++ b/documentation/reference-library-index.md @@ -22,6 +22,8 @@ and a change here can break other maps. `import … from '@map/components/ResearchMapSideMenu.vue'` - **SideMenuDrawer** — SideMenuDrawer.vue — Slide-in side panel for the map application. `import … from '@map/components/SideMenuDrawer.vue'` +- **ViewSelect** — ViewSelect.vue — the "SELECT VIEW" switcher: a fieldset + legend wrapping a row of + `import … from '@map/components/ViewSelect.vue'` - **BarChart** — BarChart.vue — THE SHARED HORIZONTAL BAR CHART (hand-rolled SVG, zero dependencies). `import … from '@map/components/charts/BarChart.vue'` - **PinHint** — PinHint.vue — the conversion coach-mark (bottom-center of any map). diff --git a/library/components/search/FilterDropdown.vue b/library/components/search/FilterDropdown.vue index 6bf75dba7..0805d05fe 100644 --- a/library/components/search/FilterDropdown.vue +++ b/library/components/search/FilterDropdown.vue @@ -148,7 +148,24 @@ function positionMenu() { // no edge-sharing placement is reachable — fall back to the hard clamp, since an // unreachable menu is worse than a detached one. That last case cannot mislead: the // trigger is not on screen to look detached FROM. - const width = Math.round(Math.min(r.width, vw - EDGE * 2)) + // ── ★ THE MENU IS NOT THE TRIGGER'S WIDTH (card BUILD-SLIM-FILTERS-NARROW-TRIGGER-WIDE-MENU) ── + // DRIVER: "Make the filters very NARROW, but then the dropdown menu that opens up can be as wide + // as you want it to be… so you can fit MORE OF THEM ON ONE ROW WITHOUT WORD WRAPPING." + // + // THE COUPLING THAT MADE THAT IMPOSSIBLE was this one line: the menu was `min(r.width, …)` — the + // TRIGGER's measured width. The two boxes have OPPOSITE constraints and were sharing one number: + // - the CLOSED TRIGGER competes for a shared row, so every px it takes is a px another axis + // cannot have; it should be as small as its label allows. + // - the OPEN MENU is transient and overlays everything (position:fixed, z-index above the + // world), so its width costs the layout NOTHING — no sibling reflows around it. + // Sizing them together meant narrowing the trigger also narrowed the menu, truncating the option + // labels that are the whole reason a narrow trigger is acceptable. So they are separated here. + // + // The menu is therefore max(trigger, MENU_MIN) and still capped to the viewport. It is a FLOOR, + // not a fixed size: a trigger WIDER than the floor (a consumer that raised --dx-filter-w) keeps + // the old edge-matched look, so this cannot regress a host that was already happy. + const MENU_MIN = 240 + const width = Math.round(Math.min(Math.max(r.width, MENU_MIN), vw - EDGE * 2)) const triggerOnScreen = r.right > EDGE && r.left < vw - EDGE let left if (!triggerOnScreen) { @@ -361,16 +378,49 @@ onBeforeUnmount(() => { --dx-filter-w is a TOKEN, not a literal, for the same reason every colour here is: this component is shared by people-groups-grid, big-picture AND the research-dashboard, so a consumer that needs a different trigger size sets the token at :host instead of forking the - component. 168px is sized to the Driver's brief — "just big enough to express the first or - second word" — measured against the real labels: it shows "Region: North Am…", i.e. the axis - name plus the first word or two, which is what makes the row scannable without reading it. */ + component. 168px was sized to an earlier brief — "just big enough to express the first or + second word". + + ── ★ 168px -> 128px: THE TRIGGER AND THE MENU ARE SIZED SEPARATELY NOW ── + (card BUILD-SLIM-FILTERS-NARROW-TRIGGER-WIDE-MENU) DRIVER, four times: "the filters are way too + wide. Make the filters very NARROW… so you can fit MORE OF THEM ON ONE ROW WITHOUT WORD WRAPPING. + And that way we can decrease the thickness of the headers." + + The trigger no longer has to carry the SELECTED VALUE legibly, because positionMenu() now floors + the open menu at 240px independent of this width (see its MENU_MIN note). That is what unlocks + the narrowing: the full value is always readable in the menu, so the closed trigger only has to + carry the AXIS NAME plus an ellipsis hint — which is all the Driver ever reads it for. + + 128px IS MEASURED, NOT PICKED — and the first number tried (116px) was measured WRONG, which is + why the measurement is recorded here rather than the conclusion alone. The chrome budget is: + 2px border + 16px horizontal padding (2 x --dx-filter-pad-x, trimmed 12 -> 8 with this card) + + 6px gap + 12px chevron = 36px. So a 128px trigger leaves 92px for text. + + Every axis label rendered at 0.875rem/system-ui and measured live: + Bloc 29.8 · Status 44.6 · Prayer 45.2 · People 46.5 · Region 47.9 · Country 55.6 · + Religion 55.7 · Language 69.1 · Engagement 89.3 + 116px was chosen first, on the reasoning that "Language" (69.1) was the longest of the SEVEN + CURRENTLY SHIPPED and fit its 80px budget with room to spare. That was true and still wrong: + this component is SHARED, and this file's own history records an eighth "engagement/Status" axis + that has been present before. At 89.3px "Engagement" overflowed the 116px budget by 9.3px — the + axis NAME would have ellipsised, which is the one truncation that must never happen (a trigger + reading "Engageme…" is unscannable, and unlike a truncated VALUE it has no menu to recover it). + 128px fits the longest KNOWN label with 2.7px to spare and is still a 24% cut from 168px. + + The floor is a TYPE metric: it moves only if the labels or the font do — and the font is not + allowed to move (below). If an axis longer than "Engagement" is ever added, re-measure rather + than letting it truncate. + + ★ THE FONT-SIZE IS NOT A LEVER. The Driver has rejected shrinking it twice ("super tiny text + that cannot be read"). Width, padding and TRIGGER-label truncation are the only tools; 0.875rem + on .filter-dropdown__trigger is load-bearing and must not be traded for density. */ .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); } + width: var(--dx-filter-w, 128px); min-width: var(--dx-filter-w, 128px); max-width: var(--dx-filter-w, 128px); } /* Mobile keeps the SAME fixed-box contract — only the number shrinks. The old rule here was `flex:1 1 100%`, which full-widthed the trigger and wrapped the row; that is the growth bug in its most extreme form, so it cannot come back as a "mobile exception". */ @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); } } + width: var(--dx-filter-w-sm, 108px); min-width: var(--dx-filter-w-sm, 108px); max-width: var(--dx-filter-w-sm, 108px); } } /* ★ THE TRIGGER'S HEIGHT IS THE FILTER ROW'S HEIGHT, and it was the last unattributed term (card BUILD-SELECTED-ROW-MUCH-THINNER-AND-CENTRED — "the filter row is way too thick"). MEASURED at 1600x900 standalone, the filters band's 67px decomposes with nothing left over: @@ -382,14 +432,17 @@ onBeforeUnmount(() => { padding 8->5, the selections row 24->18). The trigger was never touched, and at 30px it is the single largest contributor — which is why the band kept measuring ~67 no matter how much was shaved off the others. Vertical padding 6 -> 4 takes the trigger to 26 and the band to 63. - ★ VERTICAL ONLY. The horizontal 12px is UNCHANGED and must stay: `check:filter-width` asserts - every trigger is exactly --dx-filter-w (168px) before and after selecting the longest option, - and the label's ellipsis budget is that width minus this padding and the chevron. Touching the - horizontal value would move a gate that exists to keep the centred stack from re-flowing. - Tokenized so a consumer can trade density back without forking the component, matching how - --dx-filter-w already handles the width. */ + ★ THE HORIZONTAL PADDING IS NOW A LEVER TOO — 12px -> 8px, and the earlier "must stay" note it + replaces was over-stated (card BUILD-SLIM-FILTERS-NARROW-TRIGGER-WIDE-MENU). That note said + touching it "would move a gate", having read check:filter-width as asserting a literal 168px. + It does not: the gate records every trigger's width with nothing selected and requires the SAME + widths after selecting the longest option — it asserts STABILITY, not a number. A uniform + narrowing moves both arrays together and the gate stays green (verified by running it). + The 8px is spent where it is worth most: it is 8px of the 72px text budget handed back to the + axis label, which is what lets the trigger reach 116px without clipping "Language". + Tokenized for the same reason as the width — a consumer trades density back without forking. */ .filter-dropdown__trigger { - width: 100%; padding: var(--dx-filter-pad-y, 4px) 12px; cursor: pointer; display: flex; justify-content: space-between; + width: 100%; padding: var(--dx-filter-pad-y, 4px) var(--dx-filter-pad-x, 8px); cursor: pointer; display: flex; justify-content: space-between; /* Pairs its own foreground with its own background for the same reason as the menu: `color: inherit` over a light background rendered near-white-on-white inside the cap-4 dark header. Background and text are set together, never half-inherited. */ diff --git a/library/composables/useMapInstance.js b/library/composables/useMapInstance.js index b8a48b978..e5d5a6350 100644 --- a/library/composables/useMapInstance.js +++ b/library/composables/useMapInstance.js @@ -70,7 +70,7 @@ const OPENFREEMAP_STYLE = 'https://tiles.openfreemap.org/styles/liberty' // Named styles: the 12-style pack. A profile-config style of 'ink' / // 'midnight-glow' / … resolves per engine here; raw URLs pass through. -import { resolveNamedStyle } from '../styles/registry.js' +import { resolveNamedStyle, applyStylePaint } from '../styles/registry.js' /** The live engine global for a provider, or undefined if not yet loaded. */ function engineGlobal(provider) { @@ -547,6 +547,19 @@ export function useMapInstance({ } map.value.on('style.load', () => { + // ── NAMED-STYLE PAINT PATCH (e.g. 'galaxy': blue water on a black ground) ────────────── + // style.load is the ONLY correct moment: setPaintProperty before the style document has + // parsed throws, and re-applying here also survives a later setStyle() — the event fires + // again, so a style swap cannot silently drop the patch. + // Nothing happens for styles with no `paint` in the registry, so every existing map is + // byte-for-byte unchanged. + if (_named.paint && map.value) { + const hit = applyStylePaint(map.value, _named.paint) + // Log what the LOADED style actually had — layer ids differ between Mapbox and MapLibre + // and have moved across Mapbox style versions, so this is the only trustworthy record + // of which ids are real. A patch that matched nothing is a silent no-op otherwise. + console.info('[useMapInstance] style paint applied (' + provider + '):', hit.join(', ') || 'NONE MATCHED') + } // Resize after style.load in a rAF: container layout may not have settled yet, // especially when the panel was hidden (display:none) at startup. requestAnimationFrame(() => { diff --git a/library/styles/registry.js b/library/styles/registry.js index e288d44e1..3389ae24b 100644 --- a/library/styles/registry.js +++ b/library/styles/registry.js @@ -83,6 +83,46 @@ export const STYLE_REGISTRY = [ mapbox: 'mapbox://styles/mapbox/navigation-night-v1', maplibre: 'https://tiles.openfreemap.org/styles/dark', bestFor: ['research-dashboard'] }, + + // ── GALAXY — black ground, BLUE water ──────────────────────────────────────────────────── + // DRIVER 2026-09-23: "the map style needs to have the BLUE WATER with like the BLACK GALAXY + // background". The continents go to deep space; the oceans stay unmistakably water. + // + // ★ WHY THIS IS A BASE STYLE + A PAINT PATCH, NOT A HAND-AUTHORED style.json. Writing a whole + // style document would mean owning ~47 layers, a glyph endpoint and a sprite URL forever, and + // it would be MapLibre-only — breaking the registry's contract that every id resolves on BOTH + // engines. Instead both providers start from their existing near-black style and we repaint + // exactly the layers that carry water. The patch is small, auditable, and provider-symmetric. + // + // WHAT THE BASE STYLES ACTUALLY PAINT (measured 2026-09-23, not assumed): + // OpenFreeMap dark — background rgb(12,12,12); layer id `water` (fill) is rgb(27,27,29) and + // `waterway` (line) the same. i.e. the base style does not distinguish + // water from land AT ALL. That is precisely the gap this entry fills. + // Mapbox dark-v11 — its water layer ids are enumerated at runtime (they differ from + // MapLibre's and have changed across style versions), so `paint` lists + // CANDIDATES and the applier skips any id the loaded style lacks. + // + // THE BLUE: #2563a8 measures 3.19:1 against the rgb(12,12,12) ground — above the 3:1 WCAG + // non-text threshold, so the coastline is a real edge rather than a tonal hint. Darker, + // moodier blues were tried and measured first: #1b3a6b 1.74:1 and #1e4d8f 2.34:1 both fall + // UNDER 3:1, which is how an ocean ends up merely looking like slightly-less-black land. + { id: 'galaxy', label: 'Galaxy', mood: 'deep-space ground, blue oceans — the night side of Earth', + mapbox: 'mapbox://styles/mapbox/dark-v11', + maplibre: 'https://tiles.openfreemap.org/styles/dark', + // Each entry is applied only if the loaded style actually HAS that layer (see applyStylePaint). + // Listing ids for both engines in one array is deliberate: the miss is a silent no-op, so one + // list serves both providers and neither can drift out of sync with the other. + paint: [ + { layer: 'water', prop: 'fill-color', value: '#2563a8' }, // maplibre (OFM dark) + mapbox + { layer: 'waterway', prop: 'line-color', value: '#2b6fbb' }, // maplibre (OFM dark) + { layer: 'waterway-shadow', prop: 'line-color', value: '#1d4f86' }, // mapbox dark-v11 + { layer: 'water-shadow', prop: 'fill-color', value: '#1d4f86' }, // mapbox dark-v11 + { layer: 'waterway-river', prop: 'line-color', value: '#2b6fbb' }, // mapbox (older ids) + { layer: 'waterway-stream-canal', prop: 'line-color', value: '#2b6fbb' }, + { layer: 'background', prop: 'background-color', value: '#05070d' }, + { layer: 'land', prop: 'background-color', value: '#05070d' }, + ], + bestFor: ['research-dashboard', 'my-upg-100-list'] }, ] const BY_ID = Object.fromEntries(STYLE_REGISTRY.map(s => [s.id, s])) @@ -92,16 +132,43 @@ const BY_ID = Object.fromEntries(STYLE_REGISTRY.map(s => [s.id, s])) * · a registry NAME → that entry's per-provider style URL * · a raw mapbox:// or http(s):// URL → passed through untouched (legacy behavior) * · anything else / undefined → undefined (caller keeps its own default) - * Returns { style, lightPreset } — lightPreset only for named Standard variants. + * Returns { style, lightPreset, paint } — lightPreset only for named Standard variants, + * `paint` only for entries that patch the base style (see applyStylePaint). */ export function resolveNamedStyle(value, provider = 'mapbox') { - if (typeof value !== 'string' || !value) return { style: undefined, lightPreset: undefined } + if (typeof value !== 'string' || !value) return { style: undefined, lightPreset: undefined, paint: undefined } const entry = BY_ID[value] if (entry) { return provider === 'maplibre' - ? { style: entry.maplibre, lightPreset: undefined } - : { style: entry.mapbox, lightPreset: entry.lightPreset } + ? { style: entry.maplibre, lightPreset: undefined, paint: entry.paint } + : { style: entry.mapbox, lightPreset: entry.lightPreset, paint: entry.paint } } - if (/^(mapbox:\/\/|https?:\/\/)/.test(value)) return { style: value, lightPreset: undefined } - return { style: undefined, lightPreset: undefined } + if (/^(mapbox:\/\/|https?:\/\/)/.test(value)) return { style: value, lightPreset: undefined, paint: undefined } + return { style: undefined, lightPreset: undefined, paint: undefined } +} + +/** + * Apply a registry entry's `paint` patch to a LOADED map, skipping any layer the style lacks. + * + * ★ WHY SKIP-IF-ABSENT IS THE WHOLE DESIGN. Layer ids are a property of the STYLE DOCUMENT, not + * of the engine — Mapbox and MapLibre name water differently, and Mapbox has renamed its own ids + * across style versions. Hardcoding one id and calling setPaintProperty on it throws and kills + * the rest of the patch. Probing getLayer() first turns a wrong guess into a no-op, so a list + * covering both engines is safe to apply to either. + * + * Returns the ids it actually matched, so a caller can log what the loaded style really had + * rather than what we hoped it had. + */ +export function applyStylePaint(map, paint) { + if (!map || !Array.isArray(paint)) return [] + const applied = [] + for (const p of paint) { + if (!p || !p.layer || !p.prop) continue + try { + if (!map.getLayer(p.layer)) continue + map.setPaintProperty(p.layer, p.prop, p.value) + applied.push(p.layer + '.' + p.prop) + } catch (_) { /* a style that has the layer but not the property: skip, never throw */ } + } + return applied } diff --git a/plugin-designs/research-dashboard/dashboard.config.js b/plugin-designs/research-dashboard/dashboard.config.js index e33d8b510..2ab7ba2f4 100644 --- a/plugin-designs/research-dashboard/dashboard.config.js +++ b/plugin-designs/research-dashboard/dashboard.config.js @@ -310,7 +310,31 @@ export default { // POINT data", which is exactly this map's job, so this is an alignment, not a new choice. // One line, and it survives the MapLibre swap unchanged. map: { - mapStyle: 'paper', + // ── PROVIDER: MapLibre ─────────────────────────────────────────────────────────────────── + // DRIVER 2026-09-22: "the map on the big picture to be MapLibre"; and 2026-09-23 on the + // terms — "keep every Mapbox component working so we don't break Mapbox compatibility — we + // just want interoperability, so we can come back to Mapbox if this breaks things." + // + // ★ THIS ONE KEY IS THE WHOLE SWAP, AND THAT IS THE POINT. DashboardMapPanel reads it + // (`cfg.provider === 'maplibre' ? 'maplibre' : 'mapbox'`), useMapInstance loads the matching + // engine + CSS, and registry.js resolves the style name on whichever engine is live. Delete + // this line — or set it to 'mapbox' — and the dashboard is byte-for-byte what it was before, + // with the Mapbox token still wired and no other file to restore. Reversibility is not a + // claim here; it is the shape of the change. (Proven by flipping it and rebuilding, not + // asserted — see the verification note in the commit.) + // + // WHY IT COSTS NOTHING TO STAY DUAL: MapLibre ignores accessToken rather than rejecting it, + // so the Mapbox credential stays threaded through untouched while MapLibre is live. + provider: 'maplibre', + + // 'galaxy' = "deep-space ground, blue oceans" (library/styles/registry.js). + // DRIVER 2026-09-23: "the map style needs to have the BLUE WATER with like the BLACK GALAXY + // background". It resolves on BOTH engines — MapLibre's keyless OpenFreeMap dark and Mapbox + // dark-v11 — each patched to the same blue water at style.load, so flipping `provider` above + // does not change how the map LOOKS, only which engine draws it. That is what makes the + // reversibility test above meaningful rather than cosmetic. + // Was 'paper' (near-white minimal) until this change. + mapStyle: 'galaxy', // ── HEARTBEAT ZONES ────────────────────────────────────────────────────────────────────── // A HEARTBEAT ZONE is a country holding the most people groups — where the concentration of diff --git a/plugin-designs/research-dashboard/research-dashboard.vue b/plugin-designs/research-dashboard/research-dashboard.vue index cf8b7ae53..b513efc49 100644 --- a/plugin-designs/research-dashboard/research-dashboard.vue +++ b/plugin-designs/research-dashboard/research-dashboard.vue @@ -223,6 +223,14 @@ useShadowStyles(` _qa-cycle/01-ideation-research/REFERENCE-slim-material-ui-standards.md, REF-slim-material-ui-standards). LIGHT ONLY — there is no dark mode in this product and none may be added. + ★ SCOPE: this law governs UI CHROME — panels, cards, type, borders, controls; everything + whose colour comes from a token above. It does NOT govern BASEMAP TILES. The map panel + renders a dark basemap ('galaxy' — black ground, blue water, set in dashboard.config.js on + the Driver's 2026-09-23 ruling), and that is DELIBERATE, not drift: a basemap is imagery the + data is drawn ON, chosen for choropleth contrast, not a surface the UI is themed with. A + dark map inside light chrome is the intended composition. Do not "fix" it to match the + palette, and do not cite it as precedent for darkening any chrome. + --dx-scroll-thumb is a DELIBERATE neutral, not a sage: it must read between line and muted on both white and surface, which a sage tint does not do. It is named, therefore chosen. */ :host{ display:block; width:100%; height:100%; min-height:560px; box-sizing:border-box; @@ -388,6 +396,33 @@ useShadowStyles(` shell budget). Every derived measurement below (table budget, facets/rail span) now roots in --rd-shell-h so the total stays the single source of truth and the two handles cannot fight over the same pixels. */ + /* ★ THE SHELL TOTAL NOW DERIVES FROM THE TABLE, NOT THE OTHER WAY ROUND (regression I introduced + in a693865 and the Driver caught immediately: "the height of the table is smaller now, but that + introduced a GAP, a grey spot ... which also broke the ability to resize the table"). + WHAT I BROKE. The design was one budget with two consumers: --rd-shell-h was the total, and the + table's keyhole was DERIVED as shell - map - bar - foot. Capping the keyhole at 7 rows replaced + that derivation with an independent constant, so the table stopped answering to the shell. The + shell kept asserting its old ~720px total while the table gave back 118px, and since nothing + else consumed the slack it showed up as dead space — the grey spot. The resize handle broke for + the same reason: it writes --rd-shell-h, which the table no longer reads, so dragging moved a + number that nothing downstream obeyed. + THE FIX IS TO RESTORE ONE SOURCE OF TRUTH, but pointing the other way: the TABLE's seven rows + are now the declared quantity and --rd-shell-h is COMPUTED from it (map + bar + rows + foot). + Both handles keep working because both still write inputs to that sum: the map/table divider + writes --rd-map-h, and the shell handle writes --rd-shell-h, which overrides this default. + ★ The var indirection matters: an explicit --rd-shell-h from the drag still wins, so this is a + DEFAULT, not a lock. That is what keeps the resize alive rather than pinning the element. */ + /* ★ THE MAP ROW MUST NOT BE 1fr IN PAGE-SCROLL — this is the grey gap, found by measurement. + The base grid (line 290) sets the map row to 1fr, which is right in FIXED-VIEWPORT: the shell + has a real bounded height and 1fr means "take what is left". In PAGE-SCROLL the shell is + height:auto, so there is no fixed total to divide — 1fr instead becomes "stretch to whatever + the content implies", and the map ELEMENT is separately pinned to --rd-map-h. The row grows, + the element does not, and the difference paints as dead space between the map and the table. + MEASURED in a fresh context: shell 849 while its parts sum to 602 — a 117px gap, exactly the + "grey spot between the height of the map" the Driver reported twice. + Pinning the row to the SAME var the element uses makes row and element one quantity again, so + the slack cannot exist. Both drags keep working because both write that var (or --rd-shell-h, + which the table's keyhole below derives from). */ .rd-shell.rd-page-scroll{ height:auto; --table-h:auto; } .rd-shell.rd-page-scroll > [data-region="map"]{ height:var(--rd-map-h, 40svh); overflow:hidden; } .rd-shell.rd-page-scroll > [data-region="table"]{ overflow:visible; } @@ -456,7 +491,7 @@ useShadowStyles(` GOAL CONTEXT: "we are trying to RECLAIM HEIGHT." 7 rows is 182px against today's 300px keyhole, so this alone returns 118px of the ~147px available. */ .rd-shell.rd-page-scroll .rd-grid{ - max-height:var(--rd-table-max-h, calc(var(--rd-table-rows, 7) * var(--rd-table-row-h, 26px))); } + max-height:var(--rd-table-max-h, calc(var(--rd-shell-h, 602px) - var(--rd-map-h, 40svh) - var(--rd-table-bar-h, 32px) - var(--rd-table-foot-h, 28px))); } /* ── FACETS/RAIL COLUMNS BOUNDED IN PAGE-SCROLL MODE (BUG-DASHBOARD-BAND-GROWS-ENORMOUS) ────── THE ROOT CAUSE, one level up from the table rule above. .rd-facets/.rd-rail are authored height:100%, which is correct in the FIXED-VIEWPORT grid (rows sum to a real, bounded diff --git a/plugin-designs/research-dashboard/src/components/dashboards/DashboardChartsRail.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardChartsRail.vue index a670adf38..8a8fae19f 100644 --- a/plugin-designs/research-dashboard/src/components/dashboards/DashboardChartsRail.vue +++ b/plugin-designs/research-dashboard/src/components/dashboards/DashboardChartsRail.vue @@ -200,11 +200,29 @@ useShadowStyles(` now two lines tall, and centring would float the swatch and the count in the middle of that block, detached from the first line of text they label. The count is top-aligned with a 1px nudge (.rd-li b) so it reads as belonging to the row's first line. */ - .rd-li{ display:flex; align-items:flex-start; gap:5px; cursor:pointer; padding:1px 2px; border-radius:3px; } + .rd-li{ display:flex; align-items:flex-start; gap:5px; cursor:pointer; padding:1px 2px; border-radius:3px; + min-width:max-content; } /* max-content: the row is as wide as its label, so the scrollport has something to scroll */ .rd-li:hover{ background:var(--dx-surface, #f3f3f1); } .rd-li.on{ background:#fff4ea; font-weight:700; color:var(--rd-ink, #3b463d); } /* margin-top nudges keep the swatch and the count optically on the label's FIRST line now that a row can be two lines tall. */ - .rd-li i{ width:9px; height:9px; border-radius:2px; flex:0 0 auto; margin-top:3px; } .rd-li b{ margin-left:auto; color:var(--rd-muted, #6d766e); font-variant-numeric:tabular-nums; flex:0 0 auto; padding-left:4px; margin-top:1px; } + .rd-li i{ width:9px; height:9px; border-radius:2px; flex:0 0 auto; margin-top:3px; } + /* ★ THE COUNT IS A FROZEN COLUMN (Driver 2026-09-23): "the number column was supposed to be + FROZEN with the z-index topped with a WHITE BACKGROUND so that the text doesn't underlap it, so + that whenever you scroll to the right you can read the text but the numbers stay visible." + This is the other half of the horizontal-scroll change and shipping without it was incomplete: + nowrap + overflow-x:auto made the long label reachable, but the label then slides UNDER the + count and the two overlap mid-scroll. A scrollable row needs a pinned column, or the thing you + scrolled to read collides with the thing you were reading it against. + position:sticky right:0 pins it to the SCROLLPORT's right edge, so it holds while the label + travels beneath it. The opaque background is load-bearing, not decoration — without it the + label shows THROUGH the number and both become unreadable, which is worse than clipping. + Background is --rd-panel (the card's own surface) so the pin matches its host rather than + assuming white; the card is #fff today but a host that re-skins the panel should not get a + white rectangle floating on a tinted card. */ + .rd-li b{ position:sticky; right:0; z-index:1; margin-left:auto; + background:var(--rd-panel, #fff); box-shadow:-6px 0 6px -4px var(--rd-panel, #fff); + color:var(--rd-muted, #6d766e); font-variant-numeric:tabular-nums; flex:0 0 auto; + padding-left:6px; margin-top:1px; } /* The label is the ONLY item allowed to shrink. It used to be a bare text node, which in a nowrap flex row cannot shrink at all: the row grew past .rd-legend (overflow-x:hidden) and carried the VALUE out of sight — "Ethnoreligion - Chinese Folk Religion" rendered with no diff --git a/plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue index 304120dc1..2dfbec0c1 100644 --- a/plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue +++ b/plugin-designs/research-dashboard/src/components/dashboards/DashboardMapPanel.vue @@ -29,11 +29,17 @@ import { buildSearchAccessors, makeSearchMatcher } from '../../composables/useDa // dot a prayer filter leaves on the map can never disagree with the level the filter selected — // one threshold, one owner. (The dashboard facet already reuses getPrayerLevel for the same reason.) import { applyColor as prayerColorExpr } from '@map/colors/prayer-progress.js' +import { resolveAssetsBase } from '@map/utils/embedBase.js' const dash = inject('dashboardData', null) const bus = inject('selectionBus', null) const mapboxToken = inject('mapboxToken', ref('')) const cfg = inject('dashboardConfig', {}) +// The host's parsed profile-config, used ONLY to resolve the assets base for the keyless country +// boundaries on the MapLibre path (see addLayers). Same channel every other plugin already reads; +// resolveAssetsBase degrades correctly when it is null, so a host that provides nothing still +// resolves the tree from this bundle's own script URL. +const profileConfig = inject('profileConfig', ref(null)) const filterSet = bus?.filterSet || {} const FACET_ACC = Object.fromEntries(Object.entries(cfg.facets || {}).map(([k, f]) => [k, f.get])) @@ -86,7 +92,20 @@ const mapContainer = ref(null) // ★ THE TOKEN IS NOT DROPPED WHEN provider='maplibre'. accessToken stays wired: MapLibre ignores // it, and keeping it means flipping the prop back to 'mapbox' is a one-word change with nothing // else to restore. That is what "hot-swappable" has to mean to be worth anything. -const mapProvider = computed(() => (cfg.provider === 'maplibre' ? 'maplibre' : 'mapbox')) +// ★ READ BOTH LEVELS, for the same reason `style` below does. This originally read ONLY +// `cfg.provider`, while every other map setting (mapStyle, bins, geoFacet, colorRamp) lives under +// `cfg.map`. A host that put `provider` where the rest of its map config already sits got NO +// error and NO swap — the map silently stayed on Mapbox and the config looked correct. That is +// the exact failure the note on `style` below names: a setting silently ignored because it sat +// one level off is worse than no setting. `cfg.map.provider` is the spelling to prefer; the +// top-level one is kept working so nothing already using it breaks. +const mapProvider = computed(() => { + const p = cfg.map?.provider || cfg.provider + return p === 'maplibre' ? 'maplibre' : 'mapbox' +}) +// Derived once so the source/layer branches in addLayers read the SAME decision the engine was +// loaded with — a second inline `cfg.provider === …` test is how the two drift apart. +const isMaplibreProvider = computed(() => mapProvider.value === 'maplibre') const { map, isMapReady, initializeMap, destroy } = useMapInstance({ containerRef: mapContainer, accessToken: unref(mapboxToken) || (mapboxToken && mapboxToken.value) || '', @@ -749,9 +768,54 @@ function refreshSelected() { function addLayers() { const m = map.value; if (!m || added) return added = true - if (!m.getSource('rd-countries')) m.addSource('rd-countries', { type: 'vector', url: 'mapbox://mapbox.country-boundaries-v1' }) + // ── COUNTRY POLYGONS: the choropleth's source, PER PROVIDER ───────────────────────────────── + // ★ THIS IS WHY THE MapLibre SWAP IS NOT ONE CONFIG LINE. The choropleth read from + // `mapbox://mapbox.country-boundaries-v1`, a Mapbox-hosted VECTOR TILESET. MapLibre cannot + // fetch a mapbox:// URL at all — it throws + // Fetch API cannot load mapbox://mapbox.country-boundaries-v1. URL scheme "mapbox" is not supported + // and then renders the basemap perfectly with NO choropleth on it. MEASURED, not predicted: + // the first MapLibre screenshot showed a correct black-and-blue galaxy map on which every + // landmass was uniform black while the legend still advertised five populated bins. It looked + // like a deliberate dark style. The primary data layer was simply missing. + // + // So the swap needs a KEYLESS equivalent, and the tree already ships one: + // assets/boundaries/world-adm0.geojson (162 ADM0 features), already staged by generate-tree + // and already consumed by three other plugins (upg-100-list, connectivity-map, + // resources-map) through the same resolveAssetsBase helper. No new asset, no new dependency. + // + // ★ THE KEY BRIDGE, AND WHY IT IS DONE HERE RATHER THAN IN THE EXPRESSIONS. The tileset names + // the ISO field `iso_3166_1_alpha_3`; the geojson names it `iso3`. Six separate places read + // that field — buildPaint's fill-color AND fill-opacity match expressions, the click handler, + // the hover handler, and the queryRenderedFeatures path. Branching each of them would be six + // chances to miss one, and a missed one fails silently (a `match` on an absent property just + // falls through to its default, i.e. renders as no-data). Instead the property is normalized + // ONCE, as the data is loaded, so every downstream expression keeps reading the single name it + // always read and the Mapbox path stays byte-for-byte unchanged. + if (!m.getSource('rd-countries')) { + if (isMaplibreProvider.value) { + // Add EMPTY first, then setData after the fetch: addLayer below must run synchronously to + // keep this layer underneath the pins (layer order is insertion order). An awaited fetch + // here would put the choropleth on TOP of every bubble. + m.addSource('rd-countries', { type: 'geojson', data: { type: 'FeatureCollection', features: [] } }) + fetch(`${resolveAssetsBase(profileConfig.value)}/boundaries/world-adm0.geojson`) + .then((r) => r.json()) + .then((gj) => { + for (const f of gj.features || []) { + if (f.properties && f.properties.iso3) f.properties.iso_3166_1_alpha_3 = f.properties.iso3 + } + const src = map.value && map.value.getSource('rd-countries') + if (src) src.setData(gj) + }) + .catch((e) => console.warn('[rdash] country boundaries failed to load', e)) + } else { + m.addSource('rd-countries', { type: 'vector', url: 'mapbox://mapbox.country-boundaries-v1' }) + } + } const { fillColor, fillOpacity } = buildPaint() - m.addLayer({ id: 'rd-choropleth', type: 'fill', source: 'rd-countries', 'source-layer': 'country_boundaries', + m.addLayer({ id: 'rd-choropleth', type: 'fill', source: 'rd-countries', + // 'source-layer' applies to VECTOR TILE sources only. On a geojson source MapLibre rejects + // the layer outright ("does not need a source-layer"), so it is set for Mapbox alone. + ...(isMaplibreProvider.value ? {} : { 'source-layer': 'country_boundaries' }), // COUNTRY BORDERS. The outline was '#ffffff', which was legible only because the fill // underneath ran to black. On a pale ramp a white border measures 1.11–1.84 — it would // vanish and the map would read as one undifferentiated wash. The Material Light MUTED diff --git a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js index 9fb94647b..ff1810c5b 100644 --- a/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js +++ b/plugin-designs/research-dashboard/src/composables/useDashboardLayout.js @@ -85,7 +85,17 @@ import { ref, unref, onMounted, onBeforeUnmount } from 'vue' // shellH default (720) is the SUM the old single-knob mapH(360) used to imply — map 360 + table // budget 360 (328 grid + 32 bar) — so first paint is pixel-identical to before this axis split; // only DRAGGING behaves differently now (see the SHELL vs. TABLE axis note above). -const DEFAULTS = { facetW: 296, railW: 264, tableH: '34%', mapH: 360, shellH: 720 } +// ★ shellH 720 -> 602 so the table OPENS at seven data rows (Driver 2026-09-23: "the table needs to +// only show SEVEN rows by DEFAULT height"). 602 = map 360 + bar 32 + 7 rows x 26 + foot 28. +// ★ A DEFAULT, NOT A LOCK — and the distinction is the whole correction. My first attempt hard-capped +// the keyhole at 7 rows in CSS, which read as the same thing and was not: nothing writes +// --rd-table-rows, while the drag handles write --rd-shell-h and --rd-map-h, so the cap could not +// be reached by any gesture. The Driver lost BOTH resizes at once and said so: "I didn't want the +// table set to 7. Only the table needs to be resizable. We've set it to where I can't even resize." +// Setting the STARTING VALUE instead leaves the derivation intact: the keyhole stays +// shell - map - bar - foot, so dragging either handle still moves the table, and seven rows is +// merely where it opens. +const DEFAULTS = { facetW: 296, railW: 264, tableH: '34%', mapH: 360, shellH: 602 } const CLAMPS = { facetW: [160, 420], railW: [200, 520], tableH: [12, 70], mapH: [220, 1400], shellH: [400, 2600] } // Mirrors the CSS fallback --rd-table-bar-h (research-dashboard.vue's .rd-table-bar budget calc) — diff --git a/public/__gallery/index.html b/public/__gallery/index.html index a8534cd79..246fa7a37 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-ajyiOLGnsr8AOhrZpwopjFXwKGNk56IbWkBMD+2oYA+DSDjdtATeoF5muZoXhcEF","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-ajyiOLGnsr8AOhrZpwopjFXwKGNk56IbWkBMD+2oYA+DSDjdtATeoF5muZoXhcEF\" 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-hPi6IsGUAPVV3elxm033L7vP7obKmmoWOMv7F2iDrufqGMi6/A7Lswpb4wbOhUb+","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-hPi6IsGUAPVV3elxm033L7vP7obKmmoWOMv7F2iDrufqGMi6/A7Lswpb4wbOhUb+\" 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-hPi6IsGUAPVV3elxm033L7vP7obKmmoWOMv7F2iDrufqGMi6/A7Lswpb4wbOhUb+\" 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-hPi6IsGUAPVV3elxm033L7vP7obKmmoWOMv7F2iDrufqGMi6/A7Lswpb4wbOhUb+\" 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-11tC7IzM7DM66gTcAlLSb0bwA7TTkfKYmdrYdiGlBTy9eLVhYCjKgD+LmhZ+qLwO","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-11tC7IzM7DM66gTcAlLSb0bwA7TTkfKYmdrYdiGlBTy9eLVhYCjKgD+LmhZ+qLwO\" 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-11tC7IzM7DM66gTcAlLSb0bwA7TTkfKYmdrYdiGlBTy9eLVhYCjKgD+LmhZ+qLwO\" 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-3+3nuh+mvj6t92UISFMgEmcWfH/aLnfaSnDVHi5f+ZMwrk04FTbkKCTXnII1/YPw","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-3+3nuh+mvj6t92UISFMgEmcWfH/aLnfaSnDVHi5f+ZMwrk04FTbkKCTXnII1/YPw\" 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-7MInyIySoNGrpOdg+gHikv/MsKVDUkWLMokK8QGtvu/MelcWExRT3z+Bjye/EnHL","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-7MInyIySoNGrpOdg+gHikv/MsKVDUkWLMokK8QGtvu/MelcWExRT3z+Bjye/EnHL\" 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-cw2n+25OyL+mq+8x1KXLcYZbPs+7dMkWfU7ocUq3vESVlHHc5HNvpckLSbvFAhJm","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-cw2n+25OyL+mq+8x1KXLcYZbPs+7dMkWfU7ocUq3vESVlHHc5HNvpckLSbvFAhJm\" 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-ugm8PXu3KYQmGJoQnOUaICqt07r17kQa1bINkKsrUgt89uENqvd87rxT2NBeyC9/","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-ugm8PXu3KYQmGJoQnOUaICqt07r17kQa1bINkKsrUgt89uENqvd87rxT2NBeyC9/\" 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-fl3Eh//QzBhOEpF3OJcfZDXOdpyb/yxiQ5aEroT23Onjya6wvBlx+F2dUB6FiBZu","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-fl3Eh//QzBhOEpF3OJcfZDXOdpyb/yxiQ5aEroT23Onjya6wvBlx+F2dUB6FiBZu\" 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-24QikjGUSAri3x94fXjrlcpJWlqDc719jT36BglGNkr0hNMmwN2Hz3wh1y9g+/Sb","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-24QikjGUSAri3x94fXjrlcpJWlqDc719jT36BglGNkr0hNMmwN2Hz3wh1y9g+/Sb\" 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-24QikjGUSAri3x94fXjrlcpJWlqDc719jT36BglGNkr0hNMmwN2Hz3wh1y9g+/Sb\" 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-24QikjGUSAri3x94fXjrlcpJWlqDc719jT36BglGNkr0hNMmwN2Hz3wh1y9g+/Sb\" 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-24QikjGUSAri3x94fXjrlcpJWlqDc719jT36BglGNkr0hNMmwN2Hz3wh1y9g+/Sb\" 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-a/MPvkKyH2iVUcC9ukmAQrrF90vNRtOFRTKtQyp7PKIFXCre3hrqEYw1qRk8KFCm","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-a/MPvkKyH2iVUcC9ukmAQrrF90vNRtOFRTKtQyp7PKIFXCre3hrqEYw1qRk8KFCm\" 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-a/MPvkKyH2iVUcC9ukmAQrrF90vNRtOFRTKtQyp7PKIFXCre3hrqEYw1qRk8KFCm\" 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-a/MPvkKyH2iVUcC9ukmAQrrF90vNRtOFRTKtQyp7PKIFXCre3hrqEYw1qRk8KFCm\" 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-VuTJ3Db517xAN7nyV6VKdM0YJH6ToDwxyCjjAEeK69x8KompgYFCHWs29Q0BkfJp","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-VuTJ3Db517xAN7nyV6VKdM0YJH6ToDwxyCjjAEeK69x8KompgYFCHWs29Q0BkfJp\" 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":"prayer-walk-planner","s":"./prayer-walk-planner/prayer-walk-planner.js","i":"sha384-+XBRYgeeX8JLpdYcc+oGtkQf+Zgc2JkFK6/tlMBh5qghF9rNAJLk1lwVxWkU0cKx","e":["prayer-walk-planner"],"p":[{"p":"prayer-walk-planner","e":"prayer-walk-planner","u":"./prayer-walk-planner/prayer-walk-planner/index.html","d":"A simple polygon-drawing tool for planning prayer-walking routes.","c":1,"em":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/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=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-+XBRYgeeX8JLpdYcc+oGtkQf+Zgc2JkFK6/tlMBh5qghF9rNAJLk1lwVxWkU0cKx\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"b":"regions-dashboard","s":"./regions-dashboard/regions-dashboard.js","i":"sha384-id9PKqoerelcRD/ML+R3F+9AwInZJ0sqyh4G/qQCiloYTBW8/rdUkZM9qGUgq6Dg","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-id9PKqoerelcRD/ML+R3F+9AwInZJ0sqyh4G/qQCiloYTBW8/rdUkZM9qGUgq6Dg\" 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-+DTArUc8tv9Z668IT3aIyOwfpSeqLVcl24xxmUr78tK8WRr3SOwPlvuY5dHdVZvc","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-+DTArUc8tv9Z668IT3aIyOwfpSeqLVcl24xxmUr78tK8WRr3SOwPlvuY5dHdVZvc\" 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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28","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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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-ajyiOLGnsr8AOhrZpwopjFXwKGNk56IbWkBMD+2oYA+DSDjdtATeoF5muZoXhcEF","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-ajyiOLGnsr8AOhrZpwopjFXwKGNk56IbWkBMD+2oYA+DSDjdtATeoF5muZoXhcEF\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q","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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-11tC7IzM7DM66gTcAlLSb0bwA7TTkfKYmdrYdiGlBTy9eLVhYCjKgD+LmhZ+qLwO","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-11tC7IzM7DM66gTcAlLSb0bwA7TTkfKYmdrYdiGlBTy9eLVhYCjKgD+LmhZ+qLwO\" 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-11tC7IzM7DM66gTcAlLSb0bwA7TTkfKYmdrYdiGlBTy9eLVhYCjKgD+LmhZ+qLwO\" 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-8V43PED2p8DEmWV3jeSzEKRme6K8cPNch0uV9lV6sDHZbKoMHyQ0DABgYNxkbgHV","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-8V43PED2p8DEmWV3jeSzEKRme6K8cPNch0uV9lV6sDHZbKoMHyQ0DABgYNxkbgHV\" 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-yLc6o2sikAUcTgqEszWaO9whzFZnBAZoO4gPXJhG3tzvfKaDpK2mhAW3qXwrycDO","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-yLc6o2sikAUcTgqEszWaO9whzFZnBAZoO4gPXJhG3tzvfKaDpK2mhAW3qXwrycDO\" 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-GNqHiINJmPj5jwlIbFd3WQ2FfQy9VwJ6gZEjisE/TmS23X7RjCEz5YL81gKSVD5c","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-GNqHiINJmPj5jwlIbFd3WQ2FfQy9VwJ6gZEjisE/TmS23X7RjCEz5YL81gKSVD5c\" 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-ugm8PXu3KYQmGJoQnOUaICqt07r17kQa1bINkKsrUgt89uENqvd87rxT2NBeyC9/","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-ugm8PXu3KYQmGJoQnOUaICqt07r17kQa1bINkKsrUgt89uENqvd87rxT2NBeyC9/\" 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-fl3Eh//QzBhOEpF3OJcfZDXOdpyb/yxiQ5aEroT23Onjya6wvBlx+F2dUB6FiBZu","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-fl3Eh//QzBhOEpF3OJcfZDXOdpyb/yxiQ5aEroT23Onjya6wvBlx+F2dUB6FiBZu\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X","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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO","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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" 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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" 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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" 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-YMc5RAwC0wy15F04IiCfyDsWCDpY4orw4Mt9+3oiO+8zNpzmsXWydqaBA+PTLdpo","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-YMc5RAwC0wy15F04IiCfyDsWCDpY4orw4Mt9+3oiO+8zNpzmsXWydqaBA+PTLdpo\" 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":"prayer-walk-planner","s":"./prayer-walk-planner/prayer-walk-planner.js","i":"sha384-+XBRYgeeX8JLpdYcc+oGtkQf+Zgc2JkFK6/tlMBh5qghF9rNAJLk1lwVxWkU0cKx","e":["prayer-walk-planner"],"p":[{"p":"prayer-walk-planner","e":"prayer-walk-planner","u":"./prayer-walk-planner/prayer-walk-planner/index.html","d":"A simple polygon-drawing tool for planning prayer-walking routes.","c":1,"em":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/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=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-+XBRYgeeX8JLpdYcc+oGtkQf+Zgc2JkFK6/tlMBh5qghF9rNAJLk1lwVxWkU0cKx\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"b":"regions-dashboard","s":"./regions-dashboard/regions-dashboard.js","i":"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan","e":["regions-dashboard"],"p":[{"p":"region-dashboards","e":"regions-dashboard","u":"./regions-dashboard/region-dashboards/index.html","d":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","c":1,"em":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/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-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"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-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" 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>"}},{"p":"regions-mfe","e":"regions-dashboard","u":"./regions-dashboard/regions-mfe/index.html","d":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","c":4,"em":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-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=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"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-2xRQsYrSynNxLufLNnEIJbon9y2vF6R1CPhtz/8veiUbsJvqhar6UHvBgzSvun+S","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-2xRQsYrSynNxLufLNnEIJbon9y2vF6R1CPhtz/8veiUbsJvqhar6UHvBgzSvun+S\" 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-RD6XMWZvRaam/1XF9HAsXE+XutNjsboygfmxLMP9JJEnZ0LdIHqR+gYGWE1Y6Gzq","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-RD6XMWZvRaam/1XF9HAsXE+XutNjsboygfmxLMP9JJEnZ0LdIHqR+gYGWE1Y6Gzq\" 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-g9iK/zw5CvcyhNWdWHe8n2S/O22tv3PhQhoCe45ArdX5dL2YRBBRl/hFjktel1UU","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-g9iK/zw5CvcyhNWdWHe8n2S/O22tv3PhQhoCe45ArdX5dL2YRBBRl/hFjktel1UU\" 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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28","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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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","prayer-walk-planner/prayer-walk-planner":"single","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 + 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","prayer-walk-planner/prayer-walk-planner":"single","regions-dashboard/region-dashboards":"single","regions-dashboard/regions-list":"single","regions-dashboard/regions-mfe":"nested-elements-mfe","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/all-people-groups/all-people-groups.js b/public/doxa-maps/all-people-groups/all-people-groups.js index 4b51a21b0..121080e52 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups.js +++ b/public/doxa-maps/all-people-groups/all-people-groups.js @@ -1,4 +1,4 @@ -(function(){"use strict";var ta=typeof document<"u"?document.currentScript:null;const db="modulepreload",fb=function(e){return"/"+e},pb={},bc=function(t,n,o){let a=Promise.resolve();function s(i){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=i,window.dispatchEvent(r),!r.defaultPrevented)throw i}return a.then(i=>{for(const r of i||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})};/** +(function(){"use strict";var ta=typeof document<"u"?document.currentScript:null;const fb="modulepreload",pb=function(e){return"/"+e},hb={},bc=function(t,n,o){let a=Promise.resolve();function s(i){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=i,window.dispatchEvent(r),!r.defaultPrevented)throw i}return a.then(i=>{for(const r of i||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -6,14 +6,14 @@ * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ee;class js{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&&Ee&&(Ee.active?(this.parent=Ee,this.index=(Ee.scopes||(Ee.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(Ee===this)Ee=this.prevScope;else{let t=Ee;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(Pn){let t=Pn;for(Pn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Nn;){let t=Nn;for(Nn=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 zs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function qs(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),da(o),Nc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function ga(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Hs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Hs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mn)||(e.globalVersion=Mn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ga(e))))return;e.flags|=2;const t=e.dep,n=be,o=et;be=e,et=!0;try{zs(e);const a=e.fn(e._value);(t.version===0||ct(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{be=n,et=o,qs(e),e.flags&=-3}}function da(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.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)da(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Nc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let et=!0;const Vs=[];function ut(){Vs.push(et),et=!1}function gt(){const e=Vs.pop();et=e===void 0?!0:e}function Ws(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let Mn=0;class Pc{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 fa{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(!be||!et||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new Pc(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,Ys(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=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=o)}return n}trigger(t){this.version++,Mn++,this.notify(t)}notify(t){ca();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ua()}}}function Ys(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)Ys(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const po=new WeakMap,Qt=Symbol(""),pa=Symbol(""),In=Symbol("");function De(e,t,n){if(et&&be){let o=po.get(e);o||po.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new fa),a.map=o,a.key=n),a.track()}}function St(e,t,n,o,a,s){const i=po.get(e);if(!i){Mn++;return}const r=l=>{l&&l.trigger()};if(ca(),t==="clear")i.forEach(r);else{const l=ee(e),c=l&&ro(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,m)=>{(m==="length"||m===In||!Ve(m)&&m>=u)&&r(f)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(In)),t){case"add":l?c&&r(i.get("length")):(r(i.get(Qt)),jt(e)&&r(i.get(pa)));break;case"delete":l||(r(i.get(Qt)),jt(e)&&r(i.get(pa)));break;case"set":jt(e)&&r(i.get(Qt));break}}ua()}function Mc(e,t){const n=po.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(De(t,"iterate",In),Ge(e)?t:t.map(tt))}function ho(e){return De(e=ce(e),"iterate",In),e}function dt(e,t){return Tt(e)?dn(kt(e)?tt(t):t):tt(t)}const Ic={__proto__:null,[Symbol.iterator](){return ha(this,Symbol.iterator,e=>dt(this,e))},concat(...e){return gn(this).concat(...e.map(t=>ee(t)?gn(t):t))},entries(){return ha(this,"entries",e=>(e[1]=dt(this,e[1]),e))},every(e,t){return vt(this,"every",e,t,void 0,arguments)},filter(e,t){return vt(this,"filter",e,t,n=>n.map(o=>dt(this,o)),arguments)},find(e,t){return vt(this,"find",e,t,n=>dt(this,n),arguments)},findIndex(e,t){return vt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return vt(this,"findLast",e,t,n=>dt(this,n),arguments)},findLastIndex(e,t){return vt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return vt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ma(this,"includes",e)},indexOf(...e){return ma(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return ma(this,"lastIndexOf",e)},map(e,t){return vt(this,"map",e,t,void 0,arguments)},pop(){return Rn(this,"pop")},push(...e){return Rn(this,"push",e)},reduce(e,...t){return Js(this,"reduce",e,t)},reduceRight(e,...t){return Js(this,"reduceRight",e,t)},shift(){return Rn(this,"shift")},some(e,t){return vt(this,"some",e,t,void 0,arguments)},splice(...e){return Rn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Rn(this,"unshift",e)},values(){return ha(this,"values",e=>dt(this,e))}};function ha(e,t,n){const o=ho(e),a=o[t]();return o!==e&&!Ge(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Rc=Array.prototype;function vt(e,t,n,o,a,s){const i=ho(e),r=i!==e&&!Ge(e),l=i[t];if(l!==Rc[t]){const f=l.apply(e,s);return r?tt(f):f}let c=n;i!==e&&(r?c=function(f,m){return n.call(this,dt(e,f),m,e)}:n.length>2&&(c=function(f,m){return n.call(this,f,m,e)}));const u=l.call(i,c,o);return r&&a?a(u):u}function Js(e,t,n,o){const a=ho(e),s=a!==e&&!Ge(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,f){return r&&(r=!1,c=dt(e,c)),n.call(this,c,dt(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=a[t](i,...o);return r?dt(e,l):l}function ma(e,t,n){const o=ce(e);De(o,"iterate",In);const a=o[t](...n);return(a===-1||a===!1)&&So(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Rn(e,t,n=[]){ut(),ca();const o=ce(e)[t].apply(e,n);return ua(),gt(),o}const Dc=na("__proto__,__v_isRef,__isVue"),Xs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ve));function Fc(e){Ve(e)||(e=String(e));const t=ce(this);return De(t,"has",e),t.hasOwnProperty(e)}class Zs{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(a?s?ai:oi:s?ni:ti).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=ee(t);if(!a){let l;if(i&&(l=Ic[n]))return l;if(n==="hasOwnProperty")return Fc}const r=Reflect.get(t,n,ve(t)?t:o);if((Ve(n)?Xs.has(n):Dc(n))||(a||De(t,"get",n),s))return r;if(ve(r)){const l=i&&ro(n)?r:r.value;return a&&de(l)?_a(l):l}return de(r)?a?_a(r):yo(r):r}}class Qs extends Zs{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=ee(t)&&ro(n);if(!this._isShallow){const c=Tt(s);if(!Ge(o)&&!Tt(o)&&(s=ce(s),o=ce(o)),!i&&ve(s)&&!ve(o))return c||(s.value=o),!0}const r=i?Number(n)e,mo=e=>Reflect.getPrototypeOf(e);function Kc(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),i=jt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?ba:t?dn:tt;return!t&&De(s,"iterate",l?pa:Qt),Te(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:r?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function bo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Uc(e,t){const n={get(a){const s=this.__v_raw,i=ce(s),r=ce(a);e||(ct(a,r)&&De(i,"get",a),De(i,"get",r));const{has:l}=mo(i),c=t?ba:e?dn:tt;if(l.call(i,a))return c(s.get(a));if(l.call(i,r))return c(s.get(r));s!==i&&s.get(a)},get size(){const a=this.__v_raw;return!e&&De(ce(a),"iterate",Qt),a.size},has(a){const s=this.__v_raw,i=ce(s),r=ce(a);return e||(ct(a,r)&&De(i,"has",a),De(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=ce(r),c=t?ba:e?dn:tt;return!e&&De(l,"iterate",Qt),r.forEach((u,f)=>a.call(s,c(u),c(f),i))}};return Te(n,e?{add:bo("add"),set:bo("set"),delete:bo("delete"),clear:bo("clear")}:{add(a){const s=ce(this),i=mo(s),r=ce(a),l=!t&&!Ge(a)&&!Tt(a)?r:a;return i.has.call(s,l)||ct(a,l)&&i.has.call(s,a)||ct(r,l)&&i.has.call(s,r)||(s.add(l),St(s,"add",l,l)),this},set(a,s){!t&&!Ge(s)&&!Tt(s)&&(s=ce(s));const i=ce(this),{has:r,get:l}=mo(i);let c=r.call(i,a);c||(a=ce(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?ct(s,u)&&St(i,"set",a,s):St(i,"add",a,s),this},delete(a){const s=ce(this),{has:i,get:r}=mo(s);let l=i.call(s,a);l||(a=ce(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&St(s,"delete",a,void 0),c},clear(){const a=ce(this),s=a.size!==0,i=a.clear();return s&&St(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=Kc(a,e,t)}),n}function _o(e,t){const n=Uc(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(ge(n,a)&&a in o?n:o,a,s)}const Gc={get:_o(!1,!1)},zc={get:_o(!1,!0)},qc={get:_o(!0,!1)},Hc={get:_o(!0,!0)},ti=new WeakMap,ni=new WeakMap,oi=new WeakMap,ai=new WeakMap;function Vc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function yo(e){return Tt(e)?e:Ao(e,!1,Oc,Gc,ti)}function Wc(e){return Ao(e,!1,jc,zc,ni)}function _a(e){return Ao(e,!0,xc,qc,oi)}function mb(e){return Ao(e,!0,Bc,Hc,ai)}function Ao(e,t,n,o,a){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=Vc(yc(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function kt(e){return Tt(e)?kt(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function Ge(e){return!!(e&&e.__v_isShallow)}function So(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function Dn(e){return!ge(e,"__v_skip")&&Object.isExtensible(e)&&Ms(e,"__v_skip",!0),e}const tt=e=>de(e)?yo(e):e,dn=e=>de(e)?_a(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function fe(e){return si(e,!1)}function ya(e){return si(e,!0)}function si(e,t){return ve(e)?e:new Yc(e,t)}class Yc{constructor(t,n){this.dep=new fa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:tt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Ge(t)||Tt(t);t=o?t:ce(t),ct(t,n)&&(this._rawValue=t,this._value=o?t:tt(t),this.dep.trigger())}}function vo(e){return ve(e)?e.value:e}const Jc={get:(e,t,n)=>t==="__v_raw"?e:vo(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return ve(a)&&!ve(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function ii(e){return kt(e)?e:new Proxy(e,Jc)}function Xc(e){const t=ee(e)?new Array(e.length):{};for(const n in e)t[n]=Qc(e,n);return t}class Zc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Ve(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!ee(t)||Ve(this._key)||!ro(this._key))do a=!So(s)||Ge(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=vo(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Mc(this._raw,this._key)}}function Qc(e,t,n){return new Zc(e,t,n)}class eu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new fa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return Gs(this,!0),!0}get value(){const t=this.dep.track();return Hs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tu(e,t,n=!1){let o,a;return oe(e)?o=e:(o=e.get,a=e.set),new eu(o,a,n)}const ko={},To=new WeakMap;let en;function nu(e,t=!1,n=en){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function ou(e,t,n=me){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=b=>a?b:Ge(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,f,m,k,C=!1,S=!1;if(ve(e)?(f=()=>e.value,C=Ge(e)):kt(e)?(f=()=>c(e),C=!0):ee(e)?(S=!0,C=e.some(b=>kt(b)||Ge(b)),f=()=>e.map(b=>{if(ve(b))return b.value;if(kt(b))return c(b);if(oe(b))return l?l(b,2):b()})):oe(e)?t?f=l?()=>l(e,2):e:f=()=>{if(m){ut();try{m()}finally{gt()}}const b=en;en=u;try{return l?l(e,3,[k]):e(k)}finally{en=b}}:f=lt,t&&a){const b=f,y=a===!0?1/0:a;f=()=>Bt(b(),y)}const N=Bs(),w=()=>{u.stop(),N&&N.active&&oa(N.effects,u)};if(s&&t){const b=t;t=(...y)=>{const $=b(...y);return w(),$}}let L=S?new Array(e.length).fill(ko):ko;const _=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const y=u.run();if(b||a||C||(S?y.some(($,P)=>ct($,L[P])):ct(y,L))){m&&m();const $=en;en=u;try{const P=[y,L===ko?void 0:S&&L[0]===ko?[]:L,k];L=y,l?l(t,3,P):t(...P)}finally{en=$}}}else u.run()};return r&&r(_),u=new Ks(f),u.scheduler=i?()=>i(_,!1):_,k=b=>nu(b,!1,u),m=u.onStop=()=>{const b=To.get(u);if(b){if(l)l(b,4);else for(const y of b)y();To.delete(u)}},t?o?_(!0):L=u.run():i?i(_.bind(null,!0),!0):u.run(),w.pause=u.pause.bind(u),w.resume=u.resume.bind(u),w.stop=w,w}function Bt(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))Bt(e.value,t,n);else if(ee(e))for(let o=0;o{Bt(o,t,n)});else if(io(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** +**/let Ee;class js{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&&Ee&&(Ee.active?(this.parent=Ee,this.index=(Ee.scopes||(Ee.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(Ee===this)Ee=this.prevScope;else{let t=Ee;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(Pn){let t=Pn;for(Pn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Nn;){let t=Nn;for(Nn=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 zs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function qs(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),da(o),Nc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function ga(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Hs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Hs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mn)||(e.globalVersion=Mn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ga(e))))return;e.flags|=2;const t=e.dep,n=be,o=et;be=e,et=!0;try{zs(e);const a=e.fn(e._value);(t.version===0||ct(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{be=n,et=o,qs(e),e.flags&=-3}}function da(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.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)da(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Nc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let et=!0;const Vs=[];function ut(){Vs.push(et),et=!1}function gt(){const e=Vs.pop();et=e===void 0?!0:e}function Ws(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=be;be=void 0;try{t()}finally{be=n}}}let Mn=0;class Pc{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 fa{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(!be||!et||be===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==be)n=this.activeLink=new Pc(be,this),be.deps?(n.prevDep=be.depsTail,be.depsTail.nextDep=n,be.depsTail=n):be.deps=be.depsTail=n,Ys(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=be.depsTail,n.nextDep=void 0,be.depsTail.nextDep=n,be.depsTail=n,be.deps===n&&(be.deps=o)}return n}trigger(t){this.version++,Mn++,this.notify(t)}notify(t){ca();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ua()}}}function Ys(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)Ys(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const po=new WeakMap,Qt=Symbol(""),pa=Symbol(""),In=Symbol("");function De(e,t,n){if(et&&be){let o=po.get(e);o||po.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new fa),a.map=o,a.key=n),a.track()}}function St(e,t,n,o,a,s){const i=po.get(e);if(!i){Mn++;return}const r=l=>{l&&l.trigger()};if(ca(),t==="clear")i.forEach(r);else{const l=ee(e),c=l&&ro(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,m)=>{(m==="length"||m===In||!Ve(m)&&m>=u)&&r(f)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(In)),t){case"add":l?c&&r(i.get("length")):(r(i.get(Qt)),jt(e)&&r(i.get(pa)));break;case"delete":l||(r(i.get(Qt)),jt(e)&&r(i.get(pa)));break;case"set":jt(e)&&r(i.get(Qt));break}}ua()}function Mc(e,t){const n=po.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(De(t,"iterate",In),Ge(e)?t:t.map(tt))}function ho(e){return De(e=ce(e),"iterate",In),e}function dt(e,t){return Tt(e)?dn(kt(e)?tt(t):t):tt(t)}const Ic={__proto__:null,[Symbol.iterator](){return ha(this,Symbol.iterator,e=>dt(this,e))},concat(...e){return gn(this).concat(...e.map(t=>ee(t)?gn(t):t))},entries(){return ha(this,"entries",e=>(e[1]=dt(this,e[1]),e))},every(e,t){return vt(this,"every",e,t,void 0,arguments)},filter(e,t){return vt(this,"filter",e,t,n=>n.map(o=>dt(this,o)),arguments)},find(e,t){return vt(this,"find",e,t,n=>dt(this,n),arguments)},findIndex(e,t){return vt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return vt(this,"findLast",e,t,n=>dt(this,n),arguments)},findLastIndex(e,t){return vt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return vt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ma(this,"includes",e)},indexOf(...e){return ma(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return ma(this,"lastIndexOf",e)},map(e,t){return vt(this,"map",e,t,void 0,arguments)},pop(){return Rn(this,"pop")},push(...e){return Rn(this,"push",e)},reduce(e,...t){return Js(this,"reduce",e,t)},reduceRight(e,...t){return Js(this,"reduceRight",e,t)},shift(){return Rn(this,"shift")},some(e,t){return vt(this,"some",e,t,void 0,arguments)},splice(...e){return Rn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Rn(this,"unshift",e)},values(){return ha(this,"values",e=>dt(this,e))}};function ha(e,t,n){const o=ho(e),a=o[t]();return o!==e&&!Ge(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Rc=Array.prototype;function vt(e,t,n,o,a,s){const i=ho(e),r=i!==e&&!Ge(e),l=i[t];if(l!==Rc[t]){const f=l.apply(e,s);return r?tt(f):f}let c=n;i!==e&&(r?c=function(f,m){return n.call(this,dt(e,f),m,e)}:n.length>2&&(c=function(f,m){return n.call(this,f,m,e)}));const u=l.call(i,c,o);return r&&a?a(u):u}function Js(e,t,n,o){const a=ho(e),s=a!==e&&!Ge(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,f){return r&&(r=!1,c=dt(e,c)),n.call(this,c,dt(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=a[t](i,...o);return r?dt(e,l):l}function ma(e,t,n){const o=ce(e);De(o,"iterate",In);const a=o[t](...n);return(a===-1||a===!1)&&So(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Rn(e,t,n=[]){ut(),ca();const o=ce(e)[t].apply(e,n);return ua(),gt(),o}const Dc=na("__proto__,__v_isRef,__isVue"),Xs=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ve));function Fc(e){Ve(e)||(e=String(e));const t=ce(this);return De(t,"has",e),t.hasOwnProperty(e)}class Zs{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(a?s?ai:oi:s?ni:ti).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=ee(t);if(!a){let l;if(i&&(l=Ic[n]))return l;if(n==="hasOwnProperty")return Fc}const r=Reflect.get(t,n,ve(t)?t:o);if((Ve(n)?Xs.has(n):Dc(n))||(a||De(t,"get",n),s))return r;if(ve(r)){const l=i&&ro(n)?r:r.value;return a&&de(l)?_a(l):l}return de(r)?a?_a(r):yo(r):r}}class Qs extends Zs{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=ee(t)&&ro(n);if(!this._isShallow){const c=Tt(s);if(!Ge(o)&&!Tt(o)&&(s=ce(s),o=ce(o)),!i&&ve(s)&&!ve(o))return c||(s.value=o),!0}const r=i?Number(n)e,mo=e=>Reflect.getPrototypeOf(e);function Kc(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),i=jt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?ba:t?dn:tt;return!t&&De(s,"iterate",l?pa:Qt),Te(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:r?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function bo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Uc(e,t){const n={get(a){const s=this.__v_raw,i=ce(s),r=ce(a);e||(ct(a,r)&&De(i,"get",a),De(i,"get",r));const{has:l}=mo(i),c=t?ba:e?dn:tt;if(l.call(i,a))return c(s.get(a));if(l.call(i,r))return c(s.get(r));s!==i&&s.get(a)},get size(){const a=this.__v_raw;return!e&&De(ce(a),"iterate",Qt),a.size},has(a){const s=this.__v_raw,i=ce(s),r=ce(a);return e||(ct(a,r)&&De(i,"has",a),De(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=ce(r),c=t?ba:e?dn:tt;return!e&&De(l,"iterate",Qt),r.forEach((u,f)=>a.call(s,c(u),c(f),i))}};return Te(n,e?{add:bo("add"),set:bo("set"),delete:bo("delete"),clear:bo("clear")}:{add(a){const s=ce(this),i=mo(s),r=ce(a),l=!t&&!Ge(a)&&!Tt(a)?r:a;return i.has.call(s,l)||ct(a,l)&&i.has.call(s,a)||ct(r,l)&&i.has.call(s,r)||(s.add(l),St(s,"add",l,l)),this},set(a,s){!t&&!Ge(s)&&!Tt(s)&&(s=ce(s));const i=ce(this),{has:r,get:l}=mo(i);let c=r.call(i,a);c||(a=ce(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?ct(s,u)&&St(i,"set",a,s):St(i,"add",a,s),this},delete(a){const s=ce(this),{has:i,get:r}=mo(s);let l=i.call(s,a);l||(a=ce(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&St(s,"delete",a,void 0),c},clear(){const a=ce(this),s=a.size!==0,i=a.clear();return s&&St(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=Kc(a,e,t)}),n}function _o(e,t){const n=Uc(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(ge(n,a)&&a in o?n:o,a,s)}const Gc={get:_o(!1,!1)},zc={get:_o(!1,!0)},qc={get:_o(!0,!1)},Hc={get:_o(!0,!0)},ti=new WeakMap,ni=new WeakMap,oi=new WeakMap,ai=new WeakMap;function Vc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function yo(e){return Tt(e)?e:Ao(e,!1,Oc,Gc,ti)}function Wc(e){return Ao(e,!1,jc,zc,ni)}function _a(e){return Ao(e,!0,xc,qc,oi)}function bb(e){return Ao(e,!0,Bc,Hc,ai)}function Ao(e,t,n,o,a){if(!de(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const i=Vc(yc(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function kt(e){return Tt(e)?kt(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function Ge(e){return!!(e&&e.__v_isShallow)}function So(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function Dn(e){return!ge(e,"__v_skip")&&Object.isExtensible(e)&&Ms(e,"__v_skip",!0),e}const tt=e=>de(e)?yo(e):e,dn=e=>de(e)?_a(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function fe(e){return si(e,!1)}function ya(e){return si(e,!0)}function si(e,t){return ve(e)?e:new Yc(e,t)}class Yc{constructor(t,n){this.dep=new fa,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:tt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||Ge(t)||Tt(t);t=o?t:ce(t),ct(t,n)&&(this._rawValue=t,this._value=o?t:tt(t),this.dep.trigger())}}function vo(e){return ve(e)?e.value:e}const Jc={get:(e,t,n)=>t==="__v_raw"?e:vo(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return ve(a)&&!ve(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function ii(e){return kt(e)?e:new Proxy(e,Jc)}function Xc(e){const t=ee(e)?new Array(e.length):{};for(const n in e)t[n]=Qc(e,n);return t}class Zc{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Ve(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!ee(t)||Ve(this._key)||!ro(this._key))do a=!So(s)||Ge(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=vo(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const n=this._object[this._key];if(ve(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Mc(this._raw,this._key)}}function Qc(e,t,n){return new Zc(e,t,n)}class eu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new fa(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&be!==this)return Gs(this,!0),!0}get value(){const t=this.dep.track();return Hs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function tu(e,t,n=!1){let o,a;return oe(e)?o=e:(o=e.get,a=e.set),new eu(o,a,n)}const ko={},To=new WeakMap;let en;function nu(e,t=!1,n=en){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function ou(e,t,n=me){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=b=>a?b:Ge(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,f,m,k,C=!1,S=!1;if(ve(e)?(f=()=>e.value,C=Ge(e)):kt(e)?(f=()=>c(e),C=!0):ee(e)?(S=!0,C=e.some(b=>kt(b)||Ge(b)),f=()=>e.map(b=>{if(ve(b))return b.value;if(kt(b))return c(b);if(oe(b))return l?l(b,2):b()})):oe(e)?t?f=l?()=>l(e,2):e:f=()=>{if(m){ut();try{m()}finally{gt()}}const b=en;en=u;try{return l?l(e,3,[k]):e(k)}finally{en=b}}:f=lt,t&&a){const b=f,y=a===!0?1/0:a;f=()=>Bt(b(),y)}const N=Bs(),w=()=>{u.stop(),N&&N.active&&oa(N.effects,u)};if(s&&t){const b=t;t=(...y)=>{const $=b(...y);return w(),$}}let L=S?new Array(e.length).fill(ko):ko;const _=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const y=u.run();if(b||a||C||(S?y.some(($,P)=>ct($,L[P])):ct(y,L))){m&&m();const $=en;en=u;try{const P=[y,L===ko?void 0:S&&L[0]===ko?[]:L,k];L=y,l?l(t,3,P):t(...P)}finally{en=$}}}else u.run()};return r&&r(_),u=new Ks(f),u.scheduler=i?()=>i(_,!1):_,k=b=>nu(b,!1,u),m=u.onStop=()=>{const b=To.get(u);if(b){if(l)l(b,4);else for(const y of b)y();To.delete(u)}},t?o?_(!0):L=u.run():i?i(_.bind(null,!0),!0):u.run(),w.pause=u.pause.bind(u),w.resume=u.resume.bind(u),w.stop=w,w}function Bt(e,t=1/0,n){if(t<=0||!de(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ve(e))Bt(e.value,t,n);else if(ee(e))for(let o=0;o{Bt(o,t,n)});else if(io(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Fn=[];let Aa=!1;function bb(e,...t){if(Aa)return;Aa=!0,ut();const n=Fn.length?Fn[Fn.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=au();if(o)fn(o,n,11,[e+t.map(s=>{var i,r;return(r=(i=s.toString)==null?void 0:i.call(s))!=null?r:JSON.stringify(s)}).join(""),n&&n.proxy,a.map(({vnode:s})=>`at <${or(n,s.type)}>`).join(` +**/const Fn=[];let Aa=!1;function _b(e,...t){if(Aa)return;Aa=!0,ut();const n=Fn.length?Fn[Fn.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=au();if(o)fn(o,n,11,[e+t.map(s=>{var i,r;return(r=(i=s.toString)==null?void 0:i.call(s))!=null?r:JSON.stringify(s)}).join(""),n&&n.proxy,a.map(({vnode:s})=>`at <${or(n,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` `,...su(a)),console.warn(...s)}gt(),Aa=!1}function au(){let e=Fn[Fn.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 su(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...iu(n))}),t}function iu({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${or(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...ru(e.props),s]:[a+s]}function ru(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...ri(o,e[o]))}),n.length>3&&t.push(" ..."),t}function ri(e,t,n){return Ae(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ve(t)?(t=ri(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):oe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function fn(e,t,n,o){try{return o?e(...o):e()}catch(a){On(a,t,n)}}function nt(e,t,n,o){if(oe(e)){const a=fn(e,t,n,o);return a&&Ns(a)&&a.catch(s=>{On(s,t,n)}),a}if(ee(e)){const a=[];for(let s=0;s>>1,a=Oe[o],s=xn(a);s=xn(n)?Oe.push(e):Oe.splice(cu(t),0,e),e.flags|=1,ci()}}function ci(){$o||($o=li.then(di))}function uu(e){if(!ee(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1);else for(let t=0;txn(n)-xn(o));if(pn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function di(e){try{for(ft=0;ft{o._d&&Fo(-1);const s=Lo(t),i=sn.length;let r;try{r=e(...a)}finally{for(let l=sn.length;l>i;l--)Yi();Lo(s),o._d&&Fo(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function tn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&oe(t)?t.call(o&&o.proxy):t}}function du(){return!!(Nt()||on)}const fu=Symbol.for("v-scx"),pu=()=>Fe(fu);function hu(e,t){return va(e,null,t)}function nn(e,t,n){return va(e,t,n)}function va(e,t,n=me){const{immediate:o,deep:a,flush:s,once:i}=n,r=Te({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const k=pu();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=lt,k.resume=lt,k.pause=lt,k}}const u=Me;r.call=(k,C,S)=>nt(k,u,C,S);let f=!1;s==="post"?r.scheduler=k=>{Ke(k,u&&u.suspense)}:s!=="sync"&&(f=!0,r.scheduler=(k,C)=>{C?k():Sa(k)}),r.augmentJob=k=>{t&&(k.flags|=4),f&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const m=ou(e,t,r);return _n&&(c?c.push(m):l&&m()),m}function mu(e,t,n){const o=this.proxy,a=Ae(e)?e.includes(".")?pi(o,e):()=>o[e]:e.bind(o,o);let s;oe(t)?s=t:(s=t.handler,n=t);const i=Yn(this),r=va(a,s.bind(o),n);return i(),r}function pi(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,ka=Symbol("_leaveCb");function _u(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Et){t=n;break}}return t}function hi(e){if(!Po(e))return Co(e.type)&&e.children?_u(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&&oe(n.default))return n.default()}}function Ta(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ta(Co(n.type)&&hi(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 jn(e,t){return oe(e)?Te({name:e.name},t,{setup:e}):e}function $a(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 wo=new WeakMap;function Bn(e,t,n,o,a=!1){if(ee(e)){e.forEach((S,N)=>Bn(S,t&&(ee(t)?t[N]:t),n,o,a));return}if(Kn(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Bn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===me?r.refs={}:r.refs,f=r.setupState,m=ce(f),k=f===me?Cs:S=>mi(u,S)?!1:ge(m,S),C=(S,N)=>!(N&&mi(u,N));if(c!=null&&c!==l){if(bi(t),Ae(c))u[c]=null,k(c)&&(f[c]=null);else if(ve(c)){const S=t;C(c,S.k)&&(c.value=null),S.k&&(u[S.k]=null)}}if(oe(l))fn(l,r,12,[i,u]);else{const S=Ae(l),N=ve(l);if(S||N){const w=()=>{if(e.f){const L=S?k(l)?f[l]:u[l]:C()||!e.k?l.value:u[e.k];if(a)ee(L)&&oa(L,s);else if(ee(L))L.includes(s)||L.push(s);else if(S)u[l]=[s],k(l)&&(f[l]=u[l]);else{const _=[s];C(l,e.k)&&(l.value=_),e.k&&(u[e.k]=_)}}else S?(u[l]=i,k(l)&&(f[l]=i)):N&&(C(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const L=()=>{w(),wo.delete(e)};L.id=-1,wo.set(e,L),Ke(L,n)}else bi(e),w()}}}function bi(e){const t=wo.get(e);t&&(t.flags|=8,wo.delete(e))}const _i=e=>e.nodeType===8;uo().requestIdleCallback,uo().cancelIdleCallback;function yu(e,t){if(_i(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(_i(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Kn=e=>!!e.type.__asyncLoader;function Au(e){oe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,f=0;const m=()=>(f++,c=null,k()),k=()=>{let C;return c||(C=c=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),l)return new Promise((N,w)=>{l(S,()=>N(m()),()=>w(S),f+1)});throw S}).then(S=>C!==c&&c?c:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),u=S,S)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(C,S,N){const w=C.isConnected;let L=!1;(S.bu||(S.bu=[])).push(()=>L=!0);const _=()=>{L||!C.parentNode||w&&!C.isConnected||N()},b=s?()=>{const y=s(_,$=>yu(C,$));y&&(S.bum||(S.bum=[])).push(y)}:_;u?b():k().then(()=>!S.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const C=Me;if($a(C),u)return()=>No(u,C);const S=y=>{c=null,On(y,C,13,!o)};if(r&&C.suspense||_n)return k().then(y=>()=>No(y,C)).catch(y=>(S(y),()=>o?Ne(o,{error:y}):null));const N=fe(!1),w=fe(),L=fe(!!a);let _,b;return Io(()=>{_!=null&&clearTimeout(_),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{C.isUnmounted||(L.value=!1)},a)),i!=null&&(_=setTimeout(()=>{if(!C.isUnmounted&&!N.value&&!w.value){const y=new Error(`Async component timed out after ${i}ms.`);S(y),w.value=y}},i)),k().then(()=>{C.isUnmounted||(N.value=!0,C.parent&&Po(C.parent.vnode)&&C.parent.update())}).catch(y=>{if(C.isUnmounted){c=null;return}S(y),w.value=y}),()=>{if(N.value&&u)return No(u,C);if(w.value&&o)return Ne(o,{error:w.value});if(n&&!L.value)return No(n,C)}}})}function No(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Ne(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Po=e=>e.type.__isKeepAlive;function Su(e,t){yi(e,"a",t)}function vu(e,t){yi(e,"da",t)}function yi(e,t,n=Me){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Mo(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Po(a.parent.vnode)&&ku(o,t,n,a),a=a.parent}}function ku(e,t,n,o){const a=Mo(t,e,o,!0);Io(()=>{oa(o[t],a)},n)}function Mo(e,t,n=Me,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{ut();const r=Yn(n),l=nt(t,n,e,i);return r(),gt(),l});return o?a.unshift(s):a.push(s),s}}const $t=e=>(t,n=Me)=>{(!_n||e==="sp")&&Mo(e,(...o)=>t(...o),n)},Ai=$t("bm"),Un=$t("m"),Tu=$t("bu"),$u=$t("u"),Ea=$t("bum"),Io=$t("um"),Eu=$t("sp"),Lu=$t("rtg"),Cu=$t("rtc");function wu(e,t=Me){Mo("ec",e,t)}const Nu="components",Si=Symbol.for("v-ndc");function vi(e){return Ae(e)?Pu(Nu,e,!1)||e:e||Si}function Pu(e,t,n=!0,o=!1){const a=ot||Me;if(a){const s=a.type;{const r=nr(s,!1);if(r&&(r===t||r===we(t)||r===co(we(t))))return s}const i=ki(a[e]||s[e],t)||ki(a.appContext[e],t);return!i&&o?s:i}}function ki(e,t){return e&&(e[t]||e[we(t)]||e[co(we(t))])}function Mu(e,t,n,o){let a;const s=n,i=ee(e);if(i||Ae(e)){const r=i&&kt(e);let l=!1,c=!1;r&&(l=!Ge(e),c=Tt(e),e=ho(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;le?Qi(e)?Fa(e):La(e.parent):null,Gn=Te(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=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Li(e),$forceUpdate:e=>e.f||(e.f=()=>{Sa(e.update)}),$nextTick:e=>e.n||(e.n=Eo.bind(e.proxy)),$watch:e=>mu.bind(e)}),Ca=(e,t)=>e!==me&&!e.__isScriptSetup&&ge(e,t),Iu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(Ca(o,t))return i[t]=1,o[t];if(a!==me&&ge(a,t))return i[t]=2,a[t];if(ge(s,t))return i[t]=3,s[t];if(n!==me&&ge(n,t))return i[t]=4,n[t];wa&&(i[t]=0)}}const c=Gn[t];let u,f;if(c)return t==="$attrs"&&De(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==me&&ge(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,ge(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return Ca(a,t)?(a[t]=n,!0):o!==me&&ge(o,t)?(o[t]=n,!0):ge(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:a,props:s,type:i}},r){let l;return!!(n[r]||e!==me&&r[0]!=="$"&&ge(e,r)||Ca(t,r)||ge(s,r)||ge(o,r)||ge(Gn,r)||ge(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ge(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ti(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let wa=!0;function Ru(e){const t=Li(e),n=e.proxy,o=e.ctx;wa=!1,t.beforeCreate&&$i(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:k,updated:C,activated:S,deactivated:N,beforeDestroy:w,beforeUnmount:L,destroyed:_,unmounted:b,render:y,renderTracked:$,renderTriggered:P,errorCaptured:F,serverPrefetch:v,expose:q,inheritAttrs:ie,components:W,directives:ne,filters:Y}=t;if(c&&Du(c,o,null),i)for(const H in i){const V=i[H];oe(V)&&(o[H]=V.bind(n))}if(a){const H=a.call(n,n);de(H)&&(e.data=yo(H))}if(wa=!0,s)for(const H in s){const V=s[H],Q=oe(V)?V.bind(n,n):oe(V.get)?V.get.bind(n,n):lt,X=!oe(V)&&oe(V.set)?V.set.bind(n):lt,Z=he({get:Q,set:X});Object.defineProperty(o,H,{enumerable:!0,configurable:!0,get:()=>Z.value,set:re=>Z.value=re})}if(r)for(const H in r)Ei(r[H],o,n,H);if(l){const H=oe(l)?l.call(n):l;Reflect.ownKeys(H).forEach(V=>{pt(V,H[V])})}u&&$i(u,e,"c");function j(H,V){ee(V)?V.forEach(Q=>H(Q.bind(n))):V&&H(V.bind(n))}if(j(Ai,f),j(Un,m),j(Tu,k),j($u,C),j(Su,S),j(vu,N),j(wu,F),j(Cu,$),j(Lu,P),j(Ea,L),j(Io,b),j(Eu,v),ee(q))if(q.length){const H=e.exposed||(e.exposed={});q.forEach(V=>{Object.defineProperty(H,V,{get:()=>n[V],set:Q=>n[V]=Q,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===lt&&(e.render=y),ie!=null&&(e.inheritAttrs=ie),W&&(e.components=W),ne&&(e.directives=ne),v&&$a(e)}function Du(e,t,n=lt){ee(e)&&(e=Na(e));for(const o in e){const a=e[o];let s;de(a)?"default"in a?s=Fe(a.from||o,a.default,!0):s=Fe(a.from||o):s=Fe(a),ve(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function $i(e,t,n){nt(ee(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ei(e,t,n,o){let a=o.includes(".")?pi(n,o):()=>n[o];if(Ae(e)){const s=t[e];oe(s)&&nn(a,s)}else if(oe(e))nn(a,e.bind(n));else if(de(e))if(ee(e))e.forEach(s=>Ei(s,t,n,o));else{const s=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(s)&&nn(a,s,e)}}function Li(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Ro(l,c,i,!0)),Ro(l,t,i)),de(t)&&s.set(t,l),l}function Ro(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Ro(e,s,n,!0),a&&a.forEach(i=>Ro(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=Fu[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Fu={data:Ci,props:wi,emits:wi,methods:zn,computed:zn,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:zn,directives:zn,watch:xu,provide:Ci,inject:Ou};function Ci(e,t){return t?e?function(){return Te(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function Ou(e,t){return zn(Na(e),Na(t))}function Na(e){if(ee(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${we(t)}Modifiers`]||e[`${We(t)}Modifiers`];function Uu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||me;let a=n;const s=t.startsWith("update:"),i=s&&Ku(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>Ae(u)?u.trim():u)),i.number&&(a=a.map(vc)));let r,l=o[r=aa(t)]||o[r=aa(we(t))];!l&&s&&(l=o[r=aa(We(t))]),l&&nt(l,e,6,a);const c=o[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,nt(c,e,6,a)}}const Gu=new WeakMap;function Pi(e,t,n=!1){const o=n?Gu:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!oe(e)){const l=c=>{const u=Pi(c,t,!0);u&&(r=!0,Te(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(de(e)&&o.set(e,null),null):(ee(s)?s.forEach(l=>i[l]=null):Te(i,s),de(e)&&o.set(e,i),i)}function Do(e,t){return!e||!oo(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ge(e,t[0].toLowerCase()+t.slice(1))||ge(e,We(t))||ge(e,t))}function _b(){}function Mi(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:f,data:m,setupState:k,ctx:C,inheritAttrs:S}=e,N=Lo(e);let w,L;try{if(n.shapeFlag&4){const b=a||o,y=b;w=ht(c.call(y,b,u,f,k,m,C)),L=r}else{const b=t;w=ht(b.length>1?b(f,{attrs:r,slots:i,emit:l}):b(f,null)),L=t.props?r:zu(r)}}catch(b){sn.length=0,On(b,e,1),w=Ne(Et)}let _=w;if(L&&S!==!1){const b=Object.keys(L),{shapeFlag:y}=_;b.length&&y&7&&(s&&b.some(ao)&&(L=qu(L,s)),_=mn(_,L,!1,!0))}if(n.dirs&&(_=mn(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition){const b=Co(_.type)&&hi(_)||_;Ta(b,n.transition)}return w=_,Lo(N),w}const zu=e=>{let t;for(const n in e)(n==="class"||n==="style"||oo(n))&&((t||(t={}))[n]=e[n]);return t},qu=(e,t)=>{const n={};for(const o in e)(!ao(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Hu(e,t,n){const{props:o,children:a,component:s}=e,{props:i,children:r,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?Ii(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Di),Oi=e=>Object.getPrototypeOf(e)===Di;function Wu(e,t,n,o=!1){const a={},s=Fi();e.propsDefaults=Object.create(null),xi(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:Wc(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Yu(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:i}}=e,r=ce(a),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[m,k]=ji(f,t,!0);Te(i,m),k&&r.push(...k)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return de(e)&&o.set(e,un),un;if(ee(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ia=e=>ee(e)?e.map(ht):[ht(e)],Xu=(e,t,n)=>{if(t._n)return t;const o=gu((...a)=>Ia(t(...a)),n);return o._c=!1,o},Ki=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ma(a))continue;const s=e[a];if(oe(s))t[a]=Xu(a,s,o);else if(s!=null){const i=Ia(s);t[a]=()=>i}}},Ui=(e,t)=>{const n=Ia(t);e.slots.default=()=>n},Gi=(e,t,n)=>{for(const o in t)(n||!Ma(o))&&(e[o]=t[o])},Zu=(e,t,n)=>{const o=e.slots=Fi();if(e.vnode.shapeFlag&32){const a=t._;a?(Gi(o,t,n),n&&Ms(o,"_",a,!0)):Ki(t,o)}else t&&Ui(e,t)},Qu=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=me;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:Gi(a,t,n):(s=!t.$stable,Ki(t,a)),i=t}else t&&(Ui(e,t),i={default:1});if(s)for(const r in a)!Ma(r)&&i[r]==null&&delete a[r]},Ke=ag;function eg(e){return tg(e)}function tg(e,t){const n=uo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:k=lt,insertStaticContent:C}=e,S=(p,A,h,M=null,x=null,O=null,U=void 0,K=null,g=!!A.dynamicChildren)=>{if(p===A)return;p&&!Vn(p,A)&&(M=Ot(p),re(p,x,O,!0),p=null),A.patchFlag===-2&&(g=!1,A.dynamicChildren=null);const{type:d,ref:E,shapeFlag:I}=A;switch(d){case qn:N(p,A,h,M);break;case Et:w(p,A,h,M);break;case Da:p==null&&L(A,h,M,U);break;case Ye:W(p,A,h,M,x,O,U,K,g);break;default:I&1?y(p,A,h,M,x,O,U,K,g):I&6?ne(p,A,h,M,x,O,U,K,g):(I&64||I&128)&&d.process(p,A,h,M,x,O,U,K,g,Qe)}E!=null&&x?Bn(E,p&&p.ref,O,A||p,!A):E==null&&p&&p.ref!=null&&Bn(p.ref,null,O,p,!0)},N=(p,A,h,M)=>{if(p==null)o(A.el=r(A.children),h,M);else{const x=A.el=p.el;A.children!==p.children&&c(x,A.children)}},w=(p,A,h,M)=>{p==null?o(A.el=l(A.children||""),h,M):A.el=p.el},L=(p,A,h,M)=>{[p.el,p.anchor]=C(p.children,A,h,M,p.el,p.anchor)},_=({el:p,anchor:A},h,M)=>{let x;for(;p&&p!==A;)x=m(p),o(p,h,M),p=x;o(A,h,M)},b=({el:p,anchor:A})=>{let h;for(;p&&p!==A;)h=m(p),a(p),p=h;a(A)},y=(p,A,h,M,x,O,U,K,g)=>{if(A.type==="svg"?U="svg":A.type==="math"&&(U="mathml"),p==null)$(A,h,M,x,O,U,K,g);else{const d=p.el&&p.el._isVueCE?p.el:null;try{d&&d._beginPatch(),v(p,A,x,O,U,K,g)}finally{d&&d._endPatch()}}},$=(p,A,h,M,x,O,U,K)=>{let g,d;const{props:E,shapeFlag:I,transition:G,dirs:B}=p;if(g=p.el=i(p.type,O,E&&E.is,E),I&8?u(g,p.children):I&16&&F(p.children,g,null,M,x,Ra(p,O),U,K),B&&tn(p,null,M,"created"),P(g,p,p.scopeId,U,M),E){for(const R in E)R!=="value"&&!Cn(R)&&s(g,R,null,E[R],O,M);"value"in E&&s(g,"value",null,E.value,O),(d=E.onVnodeBeforeMount)&&mt(d,M,p)}B&&tn(p,null,M,"beforeMount");const T=ng(x,G);T&&G.beforeEnter(g),o(g,A,h),((d=E&&E.onVnodeMounted)||T||B)&&Ke(()=>{try{d&&mt(d,M,p),T&&G.enter(g),B&&tn(p,null,M,"mounted")}finally{}},x)},P=(p,A,h,M,x)=>{if(h&&k(p,h),M)for(let O=0;O{for(let d=g;d{const K=A.el=p.el;let{patchFlag:g,dynamicChildren:d,dirs:E}=A;g|=p.patchFlag&16;const I=p.props||me,G=A.props||me;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&mt(B,h,A,p),E&&tn(A,p,h,"beforeUpdate"),h&&an(h,!0),d&&(!p.dynamicChildren||p.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?q(p.dynamicChildren,d,K,h,M,Ra(A,x),O):U||V(p,A,K,null,h,M,Ra(A,x),O,!1),g>0){if(g&16)ie(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const T=A.dynamicProps;for(let R=0;R{B&&mt(B,h,A,p),E&&tn(A,p,h,"updated")},M)},q=(p,A,h,M,x,O,U)=>{for(let K=0;K{if(A!==h){if(A!==me)for(const O in A)!Cn(O)&&!(O in h)&&s(p,O,A[O],null,x,M);for(const O in h){if(Cn(O))continue;const U=h[O],K=A[O];U!==K&&O!=="value"&&s(p,O,K,U,x,M)}"value"in h&&s(p,"value",A.value,h.value,x)}},W=(p,A,h,M,x,O,U,K,g)=>{const d=A.el=p?p.el:r(""),E=A.anchor=p?p.anchor:r("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=A;B&&(K=K?K.concat(B):B),p==null?(o(d,h,M),o(E,h,M),F(A.children||[],h,E,x,O,U,K,g)):I>0&&I&64&&G&&p.dynamicChildren&&p.dynamicChildren.length===G.length?(q(p.dynamicChildren,G,h,x,O,U,K),(A.key!=null||x&&A===x.subTree)&&zi(p,A,!0)):V(p,A,h,E,x,O,U,K,g)},ne=(p,A,h,M,x,O,U,K,g)=>{A.slotScopeIds=K,p==null?A.shapeFlag&512?x.ctx.activate(A,h,M,U,g):Y(A,h,M,x,O,U,g):D(p,A,g)},Y=(p,A,h,M,x,O,U)=>{const K=p.component=ug(p,M,x);if(Po(p)&&(K.ctx.renderer=Qe),gg(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!p.el){const g=K.subTree=Ne(Et);w(null,g,A,h),p.placeholder=g.el}}else j(K,p,A,h,x,O,U)},D=(p,A,h)=>{const M=A.component=p.component;if(Hu(p,A,h))if(M.asyncDep&&!M.asyncResolved){H(M,A,h);return}else M.next=A,M.update();else A.el=p.el,M.vnode=A},j=(p,A,h,M,x,O,U)=>{const K=()=>{if(p.isMounted){let{next:I,bu:G,u:B,parent:T,vnode:R}=p;{const Re=qi(p);if(Re){I&&(I.el=R.el,H(p,I,U)),Re.asyncDep.then(()=>{Ke(()=>{p.isUnmounted||d()},x)});return}}let J=I,se;an(p,!1),I?(I.el=R.el,H(p,I,U)):I=R,G&&sa(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&mt(se,T,I,R),an(p,!0);const ye=Mi(p),Be=p.subTree;p.subTree=ye,S(Be,ye,f(Be.el),Ot(Be),p,x,O),I.el=ye.el,J===null&&Vu(p,ye.el),B&&Ke(B,x),(se=I.props&&I.props.onVnodeUpdated)&&Ke(()=>mt(se,T,I,R),x)}else{let I;const{el:G,props:B}=A,{bm:T,m:R,parent:J,root:se,type:ye}=p,Be=Kn(A);an(p,!1),T&&sa(T),!Be&&(I=B&&B.onVnodeBeforeMount)&&mt(I,J,A),an(p,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ye,p.parent?p.parent.type:void 0);const Re=p.subTree=Mi(p);S(null,Re,h,M,p,x,O),A.el=Re.el}if(R&&Ke(R,x),!Be&&(I=B&&B.onVnodeMounted)){const Re=A;Ke(()=>mt(I,J,Re),x)}(A.shapeFlag&256||J&&Kn(J.vnode)&&J.vnode.shapeFlag&256)&&p.a&&Ke(p.a,x),p.isMounted=!0,A=h=M=null}};p.scope.on();const g=p.effect=new Ks(K);p.scope.off();const d=p.update=g.run.bind(g),E=p.job=g.runIfDirty.bind(g);E.i=p,E.id=p.uid,g.scheduler=()=>Sa(E),an(p,!0),d()},H=(p,A,h)=>{A.component=p;const M=p.vnode.props;p.vnode=A,p.next=null,Yu(p,A.props,M,h),Qu(p,A.children,h),ut(),ui(p),gt()},V=(p,A,h,M,x,O,U,K,g=!1)=>{const d=p&&p.children,E=p?p.shapeFlag:0,I=A.children,{patchFlag:G,shapeFlag:B}=A;if(G>0){if(G&128){X(d,I,h,M,x,O,U,K,g);return}else if(G&256){Q(d,I,h,M,x,O,U,K,g);return}}B&8?(E&16&&rt(d,x,O),I!==d&&u(h,I)):E&16?B&16?X(d,I,h,M,x,O,U,K,g):rt(d,x,O,!0):(E&8&&u(h,""),B&16&&F(I,h,M,x,O,U,K,g))},Q=(p,A,h,M,x,O,U,K,g)=>{p=p||un,A=A||un;const d=p.length,E=A.length,I=Math.min(d,E);let G;for(G=0;GE?rt(p,x,O,!0,!1,I):F(A,h,M,x,O,U,K,g,I)},X=(p,A,h,M,x,O,U,K,g)=>{let d=0;const E=A.length;let I=p.length-1,G=E-1;for(;d<=I&&d<=G;){const B=p[d],T=A[d]=g?wt(A[d]):ht(A[d]);if(Vn(B,T))S(B,T,h,null,x,O,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=p[I],T=A[G]=g?wt(A[G]):ht(A[G]);if(Vn(B,T))S(B,T,h,null,x,O,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,T=BG)for(;d<=I;)re(p[d],x,O,!0),d++;else{const B=d,T=d,R=new Map;for(d=T;d<=G;d++){const He=A[d]=g?wt(A[d]):ht(A[d]);He.key!=null&&R.set(He.key,d)}let J,se=0;const ye=G-T+1;let Be=!1,Re=0;const cn=new Array(ye);for(d=0;d=ye){re(He,x,O,!0);continue}let At;if(He.key!=null)At=R.get(He.key);else for(J=T;J<=G;J++)if(cn[J-T]===0&&Vn(He,A[J])){At=J;break}At===void 0?re(He,x,O,!0):(cn[At-T]=d+1,At>=Re?Re=At:Be=!0,S(He,A[At],h,null,x,O,U,K,g),se++)}const Ls=Be?og(cn):un;for(J=Ls.length-1,d=ye-1;d>=0;d--){const He=T+d,At=A[He],hc=A[He+1],mc=He+1{const{el:O,type:U,transition:K,children:g,shapeFlag:d}=p;if(d&6){Z(p.component.subTree,A,h,M);return}if(d&128){p.suspense.move(A,h,M);return}if(d&64){U.move(p,A,h,Qe);return}if(U===Ye){o(O,A,h);for(let I=0;IK.enter(O),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,T=()=>{p.ctx.isUnmounted?a(O):o(O,A,h)},R=()=>{const J=O._isLeaving||!!O[ka];O._isLeaving&&O[ka](!0),K.persisted&&!J?T():I(O,()=>{T(),B&&B()})};G?G(O,T,R):R()}else o(O,A,h)},re=(p,A,h,M=!1,x=!1)=>{const{type:O,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:E,patchFlag:I,dirs:G,cacheIndex:B,memo:T}=p;if(I===-2&&(x=!1),K!=null&&(ut(),Bn(K,null,h,p,!0),gt()),B!=null&&(A.renderCache[B]=void 0),E&256){A.ctx.deactivate(p);return}const R=E&1&&G,J=!Kn(p);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&mt(se,A,p),E&6)yt(p.component,h,M);else{if(E&128){p.suspense.unmount(h,M);return}R&&tn(p,null,A,"beforeUnmount"),E&64?p.type.remove(p,A,h,Qe,M):d&&!d.hasOnce&&(O!==Ye||I>0&&I&64)?rt(d,A,h,!1,!0):(O===Ye&&I&384||!x&&E&16)&&rt(g,A,h),M&&ke(p)}const ye=T!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||ye)&&Ke(()=>{se&&mt(se,A,p),R&&tn(p,null,A,"unmounted"),ye&&(p.el=null)},h)},ke=p=>{const{type:A,el:h,anchor:M,transition:x}=p;if(A===Ye){Ze(h,M);return}if(A===Da){b(p);return}const O=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(p.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,O);K?K(p.el,O,g):g()}else O()},Ze=(p,A)=>{let h;for(;p!==A;)h=m(p),a(p),p=h;a(A)},yt=(p,A,h)=>{const{bum:M,scope:x,job:O,subTree:U,um:K,m:g,a:d}=p;Hi(g),Hi(d),M&&sa(M),x.stop(),O&&(O.flags|=8,re(U,p,A,h)),K&&Ke(K,A),Ke(()=>{p.isUnmounted=!0},A)},rt=(p,A,h,M=!1,x=!1,O=0)=>{for(let U=O;U{if(p.shapeFlag&6)return Ot(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const A=m(p.anchor||p.el),h=A&&A[bu];return h?m(h):A};let xt=!1;const Xt=(p,A,h)=>{let M;p==null?A._vnode&&(re(A._vnode,null,null,!0),M=A._vnode.component):S(A._vnode||null,p,A,null,null,null,h),A._vnode=p,xt||(xt=!0,ui(M),gi(),xt=!1)},Qe={p:S,um:re,m:Z,r:ke,mt:Y,mc:F,pc:V,pbc:q,n:Ot,o:e};return{render:Xt,hydrate:void 0,createApp:Bu(Xt)}}function Ra({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 an({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ng(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zi(e,t,n=!1){const o=e.children,a=t.children;if(ee(o)&&ee(a))for(let s=0;s>1,e[n[r]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function qi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qi(t)}function Hi(e){if(e)for(let t=0;te.__isSuspense;function ag(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):uu(e)}const Ye=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),Et=Symbol.for("v-cmt"),Da=Symbol.for("v-stc"),sn=[];let ze=null;function qe(e=!1){sn.push(ze=e?null:[])}function Yi(){sn.pop(),ze=sn[sn.length-1]||null}let Hn=1;function Fo(e,t=!1){Hn+=e,e<0&&ze&&t&&(ze.hasOnce=!0)}function Ji(e){return e.dynamicChildren=Hn>0?ze||un:null,Yi(),Hn>0&&ze&&ze.push(e),e}function Lt(e,t,n,o,a,s){return Ji(Le(e,t,n,o,a,s,!0))}function Oo(e,t,n,o,a){return Ji(Ne(e,t,n,o,a,!0))}function xo(e){return e?e.__v_isVNode===!0:!1}function Vn(e,t){return e.type===t.type&&e.key===t.key}const Xi=({key:e})=>e??null,jo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||ve(e)||oe(e)?{i:ot,r:e,k:t,f:!!n}:e:null);function Le(e,t=null,n=null,o=0,a=null,s=e===Ye?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Xi(t),ref:t&&jo(t),scopeId:fi,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:a,dynamicChildren:null,appContext:null,ctx:ot};return r?(Bo(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Ae(n)?8:16),Hn>0&&!i&&ze&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&ze.push(l),l}const Ne=sg;function sg(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===Si)&&(e=Et),xo(e)){const r=mn(e,t,!0);return n&&Bo(r,n),Hn>0&&!s&&ze&&(r.shapeFlag&6?ze[ze.indexOf(e)]=r:ze.push(r)),r.patchFlag=-2,r}if(bg(e)&&(e=e.__vccOpts),t){t=ig(t);let{class:r,style:l}=t;r&&!Ae(r)&&(t.class=wn(r)),de(l)&&(So(l)&&!ee(l)&&(l=Te({},l)),t.style=go(l))}const i=Ae(e)?1:Wi(e)?128:Co(e)?64:de(e)?4:oe(e)?2:0;return Le(e,t,n,o,a,i,s,!0)}function ig(e){return e?So(e)||Oi(e)?Te({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?rg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Xi(c),ref:t&&t.ref?n&&s?ee(s)?s.concat(jo(t)):[s,jo(t)]:jo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ye?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ta(u,l.clone(u)),u}function Ct(e=" ",t=0){return Ne(qn,null,e,t)}function bn(e="",t=!1){return t?(qe(),Oo(Et,null,e)):Ne(Et,null,e)}function ht(e){return e==null||typeof e=="boolean"?Ne(Et):ee(e)?Ne(Ye,null,e.slice()):xo(e)?wt(e):Ne(qn,null,String(e))}function wt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Bo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Bo(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Oi(t)?t._ctx=ot:a===3&&ot&&(ot.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(oe(t)){if(o&65){Bo(e,{default:t});return}t={default:t,_ctx:ot},n=32}else t=String(t),o&64?(n=16,t=[Ct(t)]):n=8;e.children=t,e.shapeFlag|=n}function rg(...e){const t={};for(let n=0;nMe||ot;let Ko,Wn;{const e=uo(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};Ko=t("__VUE_INSTANCE_SETTERS__",n=>Me=n),Wn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Yn=e=>{const t=Me;return Ko(e),e.scope.on(),()=>{e.scope.off(),Ko(t)}},Zi=()=>{Me&&Me.scope.off(),Ko(null)};function Qi(e){return e.vnode.shapeFlag&4}let _n=!1;function gg(e,t=!1,n=!1){t&&Wn(t);const{props:o,children:a}=e.vnode,s=Qi(e);Wu(e,o,s,t),Zu(e,a,n||t);const i=s?dg(e,t):void 0;return t&&Wn(!1),i}function dg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Iu);const{setup:o}=n;if(o){ut();const a=e.setupContext=o.length>1?pg(e):null,s=Yn(e),i=fn(o,e,0,[e.props,a]),r=Ns(i);if(gt(),s(),(r||e.sp)&&!Kn(e)&&$a(e),r){if(i.then(Zi,Zi),t)return i.then(l=>{Wn(!0);try{er(e,l,t)}finally{Wn(!1)}}).catch(l=>{On(l,e,0)});e.asyncDep=i}else er(e,i)}else tr(e)}function er(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=ii(t)),tr(e)}function tr(e,t,n){const o=e.type;e.render||(e.render=o.render||lt);{const a=Yn(e);ut();try{Ru(e)}finally{gt(),a()}}}const fg={get(e,t){return De(e,"get",""),e[t]}};function pg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,fg),slots:e.slots,emit:e.emit,expose:t}}function Fa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ii(Dn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}const hg=/(?:^|[-_])\w/g,mg=e=>e.replace(hg,t=>t.toUpperCase()).replace(/[-_]/g,"");function nr(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function or(e,t,n=!1){let o=nr(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const i in s)if(s[i]===t)return i};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?mg(o):n?"App":"Anonymous"}function bg(e){return oe(e)&&"__vccOpts"in e}const he=(e,t)=>tu(e,t,_n);function ar(e,t,n){try{Fo(-1);const o=arguments.length;return o===2?de(t)&&!ee(t)?xo(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&xo(n)&&(n=[n]),Ne(e,t,n))}finally{Fo(1)}}const _g="3.5.42";/** +`],...iu(n))}),t}function iu({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${or(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...ru(e.props),s]:[a+s]}function ru(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...ri(o,e[o]))}),n.length>3&&t.push(" ..."),t}function ri(e,t,n){return Ae(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ve(t)?(t=ri(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):oe(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function fn(e,t,n,o){try{return o?e(...o):e()}catch(a){On(a,t,n)}}function nt(e,t,n,o){if(oe(e)){const a=fn(e,t,n,o);return a&&Ns(a)&&a.catch(s=>{On(s,t,n)}),a}if(ee(e)){const a=[];for(let s=0;s>>1,a=Oe[o],s=xn(a);s=xn(n)?Oe.push(e):Oe.splice(cu(t),0,e),e.flags|=1,ci()}}function ci(){$o||($o=li.then(di))}function uu(e){if(!ee(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1);else for(let t=0;txn(n)-xn(o));if(pn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function di(e){try{for(ft=0;ft{o._d&&Fo(-1);const s=Lo(t),i=sn.length;let r;try{r=e(...a)}finally{for(let l=sn.length;l>i;l--)Yi();Lo(s),o._d&&Fo(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function tn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&oe(t)?t.call(o&&o.proxy):t}}function du(){return!!(Nt()||on)}const fu=Symbol.for("v-scx"),pu=()=>Fe(fu);function hu(e,t){return va(e,null,t)}function nn(e,t,n){return va(e,t,n)}function va(e,t,n=me){const{immediate:o,deep:a,flush:s,once:i}=n,r=Te({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const k=pu();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=lt,k.resume=lt,k.pause=lt,k}}const u=Me;r.call=(k,C,S)=>nt(k,u,C,S);let f=!1;s==="post"?r.scheduler=k=>{Ke(k,u&&u.suspense)}:s!=="sync"&&(f=!0,r.scheduler=(k,C)=>{C?k():Sa(k)}),r.augmentJob=k=>{t&&(k.flags|=4),f&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const m=ou(e,t,r);return _n&&(c?c.push(m):l&&m()),m}function mu(e,t,n){const o=this.proxy,a=Ae(e)?e.includes(".")?pi(o,e):()=>o[e]:e.bind(o,o);let s;oe(t)?s=t:(s=t.handler,n=t);const i=Yn(this),r=va(a,s.bind(o),n);return i(),r}function pi(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,ka=Symbol("_leaveCb");function _u(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Et){t=n;break}}return t}function hi(e){if(!Po(e))return Co(e.type)&&e.children?_u(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&&oe(n.default))return n.default()}}function Ta(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ta(Co(n.type)&&hi(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 jn(e,t){return oe(e)?Te({name:e.name},t,{setup:e}):e}function $a(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 wo=new WeakMap;function Bn(e,t,n,o,a=!1){if(ee(e)){e.forEach((S,N)=>Bn(S,t&&(ee(t)?t[N]:t),n,o,a));return}if(Kn(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Bn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===me?r.refs={}:r.refs,f=r.setupState,m=ce(f),k=f===me?Cs:S=>mi(u,S)?!1:ge(m,S),C=(S,N)=>!(N&&mi(u,N));if(c!=null&&c!==l){if(bi(t),Ae(c))u[c]=null,k(c)&&(f[c]=null);else if(ve(c)){const S=t;C(c,S.k)&&(c.value=null),S.k&&(u[S.k]=null)}}if(oe(l))fn(l,r,12,[i,u]);else{const S=Ae(l),N=ve(l);if(S||N){const w=()=>{if(e.f){const L=S?k(l)?f[l]:u[l]:C()||!e.k?l.value:u[e.k];if(a)ee(L)&&oa(L,s);else if(ee(L))L.includes(s)||L.push(s);else if(S)u[l]=[s],k(l)&&(f[l]=u[l]);else{const _=[s];C(l,e.k)&&(l.value=_),e.k&&(u[e.k]=_)}}else S?(u[l]=i,k(l)&&(f[l]=i)):N&&(C(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const L=()=>{w(),wo.delete(e)};L.id=-1,wo.set(e,L),Ke(L,n)}else bi(e),w()}}}function bi(e){const t=wo.get(e);t&&(t.flags|=8,wo.delete(e))}const _i=e=>e.nodeType===8;uo().requestIdleCallback,uo().cancelIdleCallback;function yu(e,t){if(_i(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(_i(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Kn=e=>!!e.type.__asyncLoader;function Au(e){oe(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,f=0;const m=()=>(f++,c=null,k()),k=()=>{let C;return c||(C=c=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),l)return new Promise((N,w)=>{l(S,()=>N(m()),()=>w(S),f+1)});throw S}).then(S=>C!==c&&c?c:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),u=S,S)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(C,S,N){const w=C.isConnected;let L=!1;(S.bu||(S.bu=[])).push(()=>L=!0);const _=()=>{L||!C.parentNode||w&&!C.isConnected||N()},b=s?()=>{const y=s(_,$=>yu(C,$));y&&(S.bum||(S.bum=[])).push(y)}:_;u?b():k().then(()=>!S.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const C=Me;if($a(C),u)return()=>No(u,C);const S=y=>{c=null,On(y,C,13,!o)};if(r&&C.suspense||_n)return k().then(y=>()=>No(y,C)).catch(y=>(S(y),()=>o?Ne(o,{error:y}):null));const N=fe(!1),w=fe(),L=fe(!!a);let _,b;return Io(()=>{_!=null&&clearTimeout(_),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{C.isUnmounted||(L.value=!1)},a)),i!=null&&(_=setTimeout(()=>{if(!C.isUnmounted&&!N.value&&!w.value){const y=new Error(`Async component timed out after ${i}ms.`);S(y),w.value=y}},i)),k().then(()=>{C.isUnmounted||(N.value=!0,C.parent&&Po(C.parent.vnode)&&C.parent.update())}).catch(y=>{if(C.isUnmounted){c=null;return}S(y),w.value=y}),()=>{if(N.value&&u)return No(u,C);if(w.value&&o)return Ne(o,{error:w.value});if(n&&!L.value)return No(n,C)}}})}function No(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Ne(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Po=e=>e.type.__isKeepAlive;function Su(e,t){yi(e,"a",t)}function vu(e,t){yi(e,"da",t)}function yi(e,t,n=Me){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Mo(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Po(a.parent.vnode)&&ku(o,t,n,a),a=a.parent}}function ku(e,t,n,o){const a=Mo(t,e,o,!0);Io(()=>{oa(o[t],a)},n)}function Mo(e,t,n=Me,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{ut();const r=Yn(n),l=nt(t,n,e,i);return r(),gt(),l});return o?a.unshift(s):a.push(s),s}}const $t=e=>(t,n=Me)=>{(!_n||e==="sp")&&Mo(e,(...o)=>t(...o),n)},Ai=$t("bm"),Un=$t("m"),Tu=$t("bu"),$u=$t("u"),Ea=$t("bum"),Io=$t("um"),Eu=$t("sp"),Lu=$t("rtg"),Cu=$t("rtc");function wu(e,t=Me){Mo("ec",e,t)}const Nu="components",Si=Symbol.for("v-ndc");function vi(e){return Ae(e)?Pu(Nu,e,!1)||e:e||Si}function Pu(e,t,n=!0,o=!1){const a=ot||Me;if(a){const s=a.type;{const r=nr(s,!1);if(r&&(r===t||r===we(t)||r===co(we(t))))return s}const i=ki(a[e]||s[e],t)||ki(a.appContext[e],t);return!i&&o?s:i}}function ki(e,t){return e&&(e[t]||e[we(t)]||e[co(we(t))])}function Mu(e,t,n,o){let a;const s=n,i=ee(e);if(i||Ae(e)){const r=i&&kt(e);let l=!1,c=!1;r&&(l=!Ge(e),c=Tt(e),e=ho(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;le?Qi(e)?Fa(e):La(e.parent):null,Gn=Te(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=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Li(e),$forceUpdate:e=>e.f||(e.f=()=>{Sa(e.update)}),$nextTick:e=>e.n||(e.n=Eo.bind(e.proxy)),$watch:e=>mu.bind(e)}),Ca=(e,t)=>e!==me&&!e.__isScriptSetup&&ge(e,t),Iu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(Ca(o,t))return i[t]=1,o[t];if(a!==me&&ge(a,t))return i[t]=2,a[t];if(ge(s,t))return i[t]=3,s[t];if(n!==me&&ge(n,t))return i[t]=4,n[t];wa&&(i[t]=0)}}const c=Gn[t];let u,f;if(c)return t==="$attrs"&&De(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==me&&ge(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,ge(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return Ca(a,t)?(a[t]=n,!0):o!==me&&ge(o,t)?(o[t]=n,!0):ge(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:a,props:s,type:i}},r){let l;return!!(n[r]||e!==me&&r[0]!=="$"&&ge(e,r)||Ca(t,r)||ge(s,r)||ge(o,r)||ge(Gn,r)||ge(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ge(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ti(e){return ee(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let wa=!0;function Ru(e){const t=Li(e),n=e.proxy,o=e.ctx;wa=!1,t.beforeCreate&&$i(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:k,updated:C,activated:S,deactivated:N,beforeDestroy:w,beforeUnmount:L,destroyed:_,unmounted:b,render:y,renderTracked:$,renderTriggered:P,errorCaptured:F,serverPrefetch:v,expose:q,inheritAttrs:ie,components:W,directives:ne,filters:Y}=t;if(c&&Du(c,o,null),i)for(const H in i){const V=i[H];oe(V)&&(o[H]=V.bind(n))}if(a){const H=a.call(n,n);de(H)&&(e.data=yo(H))}if(wa=!0,s)for(const H in s){const V=s[H],Q=oe(V)?V.bind(n,n):oe(V.get)?V.get.bind(n,n):lt,X=!oe(V)&&oe(V.set)?V.set.bind(n):lt,Z=he({get:Q,set:X});Object.defineProperty(o,H,{enumerable:!0,configurable:!0,get:()=>Z.value,set:re=>Z.value=re})}if(r)for(const H in r)Ei(r[H],o,n,H);if(l){const H=oe(l)?l.call(n):l;Reflect.ownKeys(H).forEach(V=>{pt(V,H[V])})}u&&$i(u,e,"c");function j(H,V){ee(V)?V.forEach(Q=>H(Q.bind(n))):V&&H(V.bind(n))}if(j(Ai,f),j(Un,m),j(Tu,k),j($u,C),j(Su,S),j(vu,N),j(wu,F),j(Cu,$),j(Lu,P),j(Ea,L),j(Io,b),j(Eu,v),ee(q))if(q.length){const H=e.exposed||(e.exposed={});q.forEach(V=>{Object.defineProperty(H,V,{get:()=>n[V],set:Q=>n[V]=Q,enumerable:!0})})}else e.exposed||(e.exposed={});y&&e.render===lt&&(e.render=y),ie!=null&&(e.inheritAttrs=ie),W&&(e.components=W),ne&&(e.directives=ne),v&&$a(e)}function Du(e,t,n=lt){ee(e)&&(e=Na(e));for(const o in e){const a=e[o];let s;de(a)?"default"in a?s=Fe(a.from||o,a.default,!0):s=Fe(a.from||o):s=Fe(a),ve(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function $i(e,t,n){nt(ee(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ei(e,t,n,o){let a=o.includes(".")?pi(n,o):()=>n[o];if(Ae(e)){const s=t[e];oe(s)&&nn(a,s)}else if(oe(e))nn(a,e.bind(n));else if(de(e))if(ee(e))e.forEach(s=>Ei(s,t,n,o));else{const s=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(s)&&nn(a,s,e)}}function Li(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Ro(l,c,i,!0)),Ro(l,t,i)),de(t)&&s.set(t,l),l}function Ro(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Ro(e,s,n,!0),a&&a.forEach(i=>Ro(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=Fu[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Fu={data:Ci,props:wi,emits:wi,methods:zn,computed:zn,beforeCreate:xe,created:xe,beforeMount:xe,mounted:xe,beforeUpdate:xe,updated:xe,beforeDestroy:xe,beforeUnmount:xe,destroyed:xe,unmounted:xe,activated:xe,deactivated:xe,errorCaptured:xe,serverPrefetch:xe,components:zn,directives:zn,watch:xu,provide:Ci,inject:Ou};function Ci(e,t){return t?e?function(){return Te(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function Ou(e,t){return zn(Na(e),Na(t))}function Na(e){if(ee(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${we(t)}Modifiers`]||e[`${We(t)}Modifiers`];function Uu(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||me;let a=n;const s=t.startsWith("update:"),i=s&&Ku(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>Ae(u)?u.trim():u)),i.number&&(a=a.map(vc)));let r,l=o[r=aa(t)]||o[r=aa(we(t))];!l&&s&&(l=o[r=aa(We(t))]),l&&nt(l,e,6,a);const c=o[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,nt(c,e,6,a)}}const Gu=new WeakMap;function Pi(e,t,n=!1){const o=n?Gu:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!oe(e)){const l=c=>{const u=Pi(c,t,!0);u&&(r=!0,Te(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(de(e)&&o.set(e,null),null):(ee(s)?s.forEach(l=>i[l]=null):Te(i,s),de(e)&&o.set(e,i),i)}function Do(e,t){return!e||!oo(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ge(e,t[0].toLowerCase()+t.slice(1))||ge(e,We(t))||ge(e,t))}function yb(){}function Mi(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:f,data:m,setupState:k,ctx:C,inheritAttrs:S}=e,N=Lo(e);let w,L;try{if(n.shapeFlag&4){const b=a||o,y=b;w=ht(c.call(y,b,u,f,k,m,C)),L=r}else{const b=t;w=ht(b.length>1?b(f,{attrs:r,slots:i,emit:l}):b(f,null)),L=t.props?r:zu(r)}}catch(b){sn.length=0,On(b,e,1),w=Ne(Et)}let _=w;if(L&&S!==!1){const b=Object.keys(L),{shapeFlag:y}=_;b.length&&y&7&&(s&&b.some(ao)&&(L=qu(L,s)),_=mn(_,L,!1,!0))}if(n.dirs&&(_=mn(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition){const b=Co(_.type)&&hi(_)||_;Ta(b,n.transition)}return w=_,Lo(N),w}const zu=e=>{let t;for(const n in e)(n==="class"||n==="style"||oo(n))&&((t||(t={}))[n]=e[n]);return t},qu=(e,t)=>{const n={};for(const o in e)(!ao(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Hu(e,t,n){const{props:o,children:a,component:s}=e,{props:i,children:r,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?Ii(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Di),Oi=e=>Object.getPrototypeOf(e)===Di;function Wu(e,t,n,o=!1){const a={},s=Fi();e.propsDefaults=Object.create(null),xi(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:Wc(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Yu(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:i}}=e,r=ce(a),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[m,k]=ji(f,t,!0);Te(i,m),k&&r.push(...k)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return de(e)&&o.set(e,un),un;if(ee(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ia=e=>ee(e)?e.map(ht):[ht(e)],Xu=(e,t,n)=>{if(t._n)return t;const o=gu((...a)=>Ia(t(...a)),n);return o._c=!1,o},Ki=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ma(a))continue;const s=e[a];if(oe(s))t[a]=Xu(a,s,o);else if(s!=null){const i=Ia(s);t[a]=()=>i}}},Ui=(e,t)=>{const n=Ia(t);e.slots.default=()=>n},Gi=(e,t,n)=>{for(const o in t)(n||!Ma(o))&&(e[o]=t[o])},Zu=(e,t,n)=>{const o=e.slots=Fi();if(e.vnode.shapeFlag&32){const a=t._;a?(Gi(o,t,n),n&&Ms(o,"_",a,!0)):Ki(t,o)}else t&&Ui(e,t)},Qu=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=me;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:Gi(a,t,n):(s=!t.$stable,Ki(t,a)),i=t}else t&&(Ui(e,t),i={default:1});if(s)for(const r in a)!Ma(r)&&i[r]==null&&delete a[r]},Ke=ag;function eg(e){return tg(e)}function tg(e,t){const n=uo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:k=lt,insertStaticContent:C}=e,S=(p,A,h,M=null,x=null,O=null,U=void 0,K=null,g=!!A.dynamicChildren)=>{if(p===A)return;p&&!Vn(p,A)&&(M=Ot(p),re(p,x,O,!0),p=null),A.patchFlag===-2&&(g=!1,A.dynamicChildren=null);const{type:d,ref:E,shapeFlag:I}=A;switch(d){case qn:N(p,A,h,M);break;case Et:w(p,A,h,M);break;case Da:p==null&&L(A,h,M,U);break;case Ye:W(p,A,h,M,x,O,U,K,g);break;default:I&1?y(p,A,h,M,x,O,U,K,g):I&6?ne(p,A,h,M,x,O,U,K,g):(I&64||I&128)&&d.process(p,A,h,M,x,O,U,K,g,Qe)}E!=null&&x?Bn(E,p&&p.ref,O,A||p,!A):E==null&&p&&p.ref!=null&&Bn(p.ref,null,O,p,!0)},N=(p,A,h,M)=>{if(p==null)o(A.el=r(A.children),h,M);else{const x=A.el=p.el;A.children!==p.children&&c(x,A.children)}},w=(p,A,h,M)=>{p==null?o(A.el=l(A.children||""),h,M):A.el=p.el},L=(p,A,h,M)=>{[p.el,p.anchor]=C(p.children,A,h,M,p.el,p.anchor)},_=({el:p,anchor:A},h,M)=>{let x;for(;p&&p!==A;)x=m(p),o(p,h,M),p=x;o(A,h,M)},b=({el:p,anchor:A})=>{let h;for(;p&&p!==A;)h=m(p),a(p),p=h;a(A)},y=(p,A,h,M,x,O,U,K,g)=>{if(A.type==="svg"?U="svg":A.type==="math"&&(U="mathml"),p==null)$(A,h,M,x,O,U,K,g);else{const d=p.el&&p.el._isVueCE?p.el:null;try{d&&d._beginPatch(),v(p,A,x,O,U,K,g)}finally{d&&d._endPatch()}}},$=(p,A,h,M,x,O,U,K)=>{let g,d;const{props:E,shapeFlag:I,transition:G,dirs:B}=p;if(g=p.el=i(p.type,O,E&&E.is,E),I&8?u(g,p.children):I&16&&F(p.children,g,null,M,x,Ra(p,O),U,K),B&&tn(p,null,M,"created"),P(g,p,p.scopeId,U,M),E){for(const R in E)R!=="value"&&!Cn(R)&&s(g,R,null,E[R],O,M);"value"in E&&s(g,"value",null,E.value,O),(d=E.onVnodeBeforeMount)&&mt(d,M,p)}B&&tn(p,null,M,"beforeMount");const T=ng(x,G);T&&G.beforeEnter(g),o(g,A,h),((d=E&&E.onVnodeMounted)||T||B)&&Ke(()=>{try{d&&mt(d,M,p),T&&G.enter(g),B&&tn(p,null,M,"mounted")}finally{}},x)},P=(p,A,h,M,x)=>{if(h&&k(p,h),M)for(let O=0;O{for(let d=g;d{const K=A.el=p.el;let{patchFlag:g,dynamicChildren:d,dirs:E}=A;g|=p.patchFlag&16;const I=p.props||me,G=A.props||me;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&mt(B,h,A,p),E&&tn(A,p,h,"beforeUpdate"),h&&an(h,!0),d&&(!p.dynamicChildren||p.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?q(p.dynamicChildren,d,K,h,M,Ra(A,x),O):U||V(p,A,K,null,h,M,Ra(A,x),O,!1),g>0){if(g&16)ie(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const T=A.dynamicProps;for(let R=0;R{B&&mt(B,h,A,p),E&&tn(A,p,h,"updated")},M)},q=(p,A,h,M,x,O,U)=>{for(let K=0;K{if(A!==h){if(A!==me)for(const O in A)!Cn(O)&&!(O in h)&&s(p,O,A[O],null,x,M);for(const O in h){if(Cn(O))continue;const U=h[O],K=A[O];U!==K&&O!=="value"&&s(p,O,K,U,x,M)}"value"in h&&s(p,"value",A.value,h.value,x)}},W=(p,A,h,M,x,O,U,K,g)=>{const d=A.el=p?p.el:r(""),E=A.anchor=p?p.anchor:r("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=A;B&&(K=K?K.concat(B):B),p==null?(o(d,h,M),o(E,h,M),F(A.children||[],h,E,x,O,U,K,g)):I>0&&I&64&&G&&p.dynamicChildren&&p.dynamicChildren.length===G.length?(q(p.dynamicChildren,G,h,x,O,U,K),(A.key!=null||x&&A===x.subTree)&&zi(p,A,!0)):V(p,A,h,E,x,O,U,K,g)},ne=(p,A,h,M,x,O,U,K,g)=>{A.slotScopeIds=K,p==null?A.shapeFlag&512?x.ctx.activate(A,h,M,U,g):Y(A,h,M,x,O,U,g):D(p,A,g)},Y=(p,A,h,M,x,O,U)=>{const K=p.component=ug(p,M,x);if(Po(p)&&(K.ctx.renderer=Qe),gg(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!p.el){const g=K.subTree=Ne(Et);w(null,g,A,h),p.placeholder=g.el}}else j(K,p,A,h,x,O,U)},D=(p,A,h)=>{const M=A.component=p.component;if(Hu(p,A,h))if(M.asyncDep&&!M.asyncResolved){H(M,A,h);return}else M.next=A,M.update();else A.el=p.el,M.vnode=A},j=(p,A,h,M,x,O,U)=>{const K=()=>{if(p.isMounted){let{next:I,bu:G,u:B,parent:T,vnode:R}=p;{const Re=qi(p);if(Re){I&&(I.el=R.el,H(p,I,U)),Re.asyncDep.then(()=>{Ke(()=>{p.isUnmounted||d()},x)});return}}let J=I,se;an(p,!1),I?(I.el=R.el,H(p,I,U)):I=R,G&&sa(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&mt(se,T,I,R),an(p,!0);const ye=Mi(p),Be=p.subTree;p.subTree=ye,S(Be,ye,f(Be.el),Ot(Be),p,x,O),I.el=ye.el,J===null&&Vu(p,ye.el),B&&Ke(B,x),(se=I.props&&I.props.onVnodeUpdated)&&Ke(()=>mt(se,T,I,R),x)}else{let I;const{el:G,props:B}=A,{bm:T,m:R,parent:J,root:se,type:ye}=p,Be=Kn(A);an(p,!1),T&&sa(T),!Be&&(I=B&&B.onVnodeBeforeMount)&&mt(I,J,A),an(p,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(ye,p.parent?p.parent.type:void 0);const Re=p.subTree=Mi(p);S(null,Re,h,M,p,x,O),A.el=Re.el}if(R&&Ke(R,x),!Be&&(I=B&&B.onVnodeMounted)){const Re=A;Ke(()=>mt(I,J,Re),x)}(A.shapeFlag&256||J&&Kn(J.vnode)&&J.vnode.shapeFlag&256)&&p.a&&Ke(p.a,x),p.isMounted=!0,A=h=M=null}};p.scope.on();const g=p.effect=new Ks(K);p.scope.off();const d=p.update=g.run.bind(g),E=p.job=g.runIfDirty.bind(g);E.i=p,E.id=p.uid,g.scheduler=()=>Sa(E),an(p,!0),d()},H=(p,A,h)=>{A.component=p;const M=p.vnode.props;p.vnode=A,p.next=null,Yu(p,A.props,M,h),Qu(p,A.children,h),ut(),ui(p),gt()},V=(p,A,h,M,x,O,U,K,g=!1)=>{const d=p&&p.children,E=p?p.shapeFlag:0,I=A.children,{patchFlag:G,shapeFlag:B}=A;if(G>0){if(G&128){X(d,I,h,M,x,O,U,K,g);return}else if(G&256){Q(d,I,h,M,x,O,U,K,g);return}}B&8?(E&16&&rt(d,x,O),I!==d&&u(h,I)):E&16?B&16?X(d,I,h,M,x,O,U,K,g):rt(d,x,O,!0):(E&8&&u(h,""),B&16&&F(I,h,M,x,O,U,K,g))},Q=(p,A,h,M,x,O,U,K,g)=>{p=p||un,A=A||un;const d=p.length,E=A.length,I=Math.min(d,E);let G;for(G=0;GE?rt(p,x,O,!0,!1,I):F(A,h,M,x,O,U,K,g,I)},X=(p,A,h,M,x,O,U,K,g)=>{let d=0;const E=A.length;let I=p.length-1,G=E-1;for(;d<=I&&d<=G;){const B=p[d],T=A[d]=g?wt(A[d]):ht(A[d]);if(Vn(B,T))S(B,T,h,null,x,O,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=p[I],T=A[G]=g?wt(A[G]):ht(A[G]);if(Vn(B,T))S(B,T,h,null,x,O,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,T=BG)for(;d<=I;)re(p[d],x,O,!0),d++;else{const B=d,T=d,R=new Map;for(d=T;d<=G;d++){const He=A[d]=g?wt(A[d]):ht(A[d]);He.key!=null&&R.set(He.key,d)}let J,se=0;const ye=G-T+1;let Be=!1,Re=0;const cn=new Array(ye);for(d=0;d=ye){re(He,x,O,!0);continue}let At;if(He.key!=null)At=R.get(He.key);else for(J=T;J<=G;J++)if(cn[J-T]===0&&Vn(He,A[J])){At=J;break}At===void 0?re(He,x,O,!0):(cn[At-T]=d+1,At>=Re?Re=At:Be=!0,S(He,A[At],h,null,x,O,U,K,g),se++)}const Ls=Be?og(cn):un;for(J=Ls.length-1,d=ye-1;d>=0;d--){const He=T+d,At=A[He],hc=A[He+1],mc=He+1{const{el:O,type:U,transition:K,children:g,shapeFlag:d}=p;if(d&6){Z(p.component.subTree,A,h,M);return}if(d&128){p.suspense.move(A,h,M);return}if(d&64){U.move(p,A,h,Qe);return}if(U===Ye){o(O,A,h);for(let I=0;IK.enter(O),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,T=()=>{p.ctx.isUnmounted?a(O):o(O,A,h)},R=()=>{const J=O._isLeaving||!!O[ka];O._isLeaving&&O[ka](!0),K.persisted&&!J?T():I(O,()=>{T(),B&&B()})};G?G(O,T,R):R()}else o(O,A,h)},re=(p,A,h,M=!1,x=!1)=>{const{type:O,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:E,patchFlag:I,dirs:G,cacheIndex:B,memo:T}=p;if(I===-2&&(x=!1),K!=null&&(ut(),Bn(K,null,h,p,!0),gt()),B!=null&&(A.renderCache[B]=void 0),E&256){A.ctx.deactivate(p);return}const R=E&1&&G,J=!Kn(p);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&mt(se,A,p),E&6)yt(p.component,h,M);else{if(E&128){p.suspense.unmount(h,M);return}R&&tn(p,null,A,"beforeUnmount"),E&64?p.type.remove(p,A,h,Qe,M):d&&!d.hasOnce&&(O!==Ye||I>0&&I&64)?rt(d,A,h,!1,!0):(O===Ye&&I&384||!x&&E&16)&&rt(g,A,h),M&&ke(p)}const ye=T!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||ye)&&Ke(()=>{se&&mt(se,A,p),R&&tn(p,null,A,"unmounted"),ye&&(p.el=null)},h)},ke=p=>{const{type:A,el:h,anchor:M,transition:x}=p;if(A===Ye){Ze(h,M);return}if(A===Da){b(p);return}const O=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(p.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,O);K?K(p.el,O,g):g()}else O()},Ze=(p,A)=>{let h;for(;p!==A;)h=m(p),a(p),p=h;a(A)},yt=(p,A,h)=>{const{bum:M,scope:x,job:O,subTree:U,um:K,m:g,a:d}=p;Hi(g),Hi(d),M&&sa(M),x.stop(),O&&(O.flags|=8,re(U,p,A,h)),K&&Ke(K,A),Ke(()=>{p.isUnmounted=!0},A)},rt=(p,A,h,M=!1,x=!1,O=0)=>{for(let U=O;U{if(p.shapeFlag&6)return Ot(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const A=m(p.anchor||p.el),h=A&&A[bu];return h?m(h):A};let xt=!1;const Xt=(p,A,h)=>{let M;p==null?A._vnode&&(re(A._vnode,null,null,!0),M=A._vnode.component):S(A._vnode||null,p,A,null,null,null,h),A._vnode=p,xt||(xt=!0,ui(M),gi(),xt=!1)},Qe={p:S,um:re,m:Z,r:ke,mt:Y,mc:F,pc:V,pbc:q,n:Ot,o:e};return{render:Xt,hydrate:void 0,createApp:Bu(Xt)}}function Ra({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 an({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ng(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zi(e,t,n=!1){const o=e.children,a=t.children;if(ee(o)&&ee(a))for(let s=0;s>1,e[n[r]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function qi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:qi(t)}function Hi(e){if(e)for(let t=0;te.__isSuspense;function ag(e,t){t&&t.pendingBranch?ee(e)?t.effects.push(...e):t.effects.push(e):uu(e)}const Ye=Symbol.for("v-fgt"),qn=Symbol.for("v-txt"),Et=Symbol.for("v-cmt"),Da=Symbol.for("v-stc"),sn=[];let ze=null;function qe(e=!1){sn.push(ze=e?null:[])}function Yi(){sn.pop(),ze=sn[sn.length-1]||null}let Hn=1;function Fo(e,t=!1){Hn+=e,e<0&&ze&&t&&(ze.hasOnce=!0)}function Ji(e){return e.dynamicChildren=Hn>0?ze||un:null,Yi(),Hn>0&&ze&&ze.push(e),e}function Lt(e,t,n,o,a,s){return Ji(Le(e,t,n,o,a,s,!0))}function Oo(e,t,n,o,a){return Ji(Ne(e,t,n,o,a,!0))}function xo(e){return e?e.__v_isVNode===!0:!1}function Vn(e,t){return e.type===t.type&&e.key===t.key}const Xi=({key:e})=>e??null,jo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ae(e)||ve(e)||oe(e)?{i:ot,r:e,k:t,f:!!n}:e:null);function Le(e,t=null,n=null,o=0,a=null,s=e===Ye?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Xi(t),ref:t&&jo(t),scopeId:fi,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:a,dynamicChildren:null,appContext:null,ctx:ot};return r?(Bo(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Ae(n)?8:16),Hn>0&&!i&&ze&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&ze.push(l),l}const Ne=sg;function sg(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===Si)&&(e=Et),xo(e)){const r=mn(e,t,!0);return n&&Bo(r,n),Hn>0&&!s&&ze&&(r.shapeFlag&6?ze[ze.indexOf(e)]=r:ze.push(r)),r.patchFlag=-2,r}if(bg(e)&&(e=e.__vccOpts),t){t=ig(t);let{class:r,style:l}=t;r&&!Ae(r)&&(t.class=wn(r)),de(l)&&(So(l)&&!ee(l)&&(l=Te({},l)),t.style=go(l))}const i=Ae(e)?1:Wi(e)?128:Co(e)?64:de(e)?4:oe(e)?2:0;return Le(e,t,n,o,a,i,s,!0)}function ig(e){return e?So(e)||Oi(e)?Te({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?rg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Xi(c),ref:t&&t.ref?n&&s?ee(s)?s.concat(jo(t)):[s,jo(t)]:jo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ye?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ta(u,l.clone(u)),u}function Ct(e=" ",t=0){return Ne(qn,null,e,t)}function bn(e="",t=!1){return t?(qe(),Oo(Et,null,e)):Ne(Et,null,e)}function ht(e){return e==null||typeof e=="boolean"?Ne(Et):ee(e)?Ne(Ye,null,e.slice()):xo(e)?wt(e):Ne(qn,null,String(e))}function wt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Bo(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(ee(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Bo(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Oi(t)?t._ctx=ot:a===3&&ot&&(ot.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(oe(t)){if(o&65){Bo(e,{default:t});return}t={default:t,_ctx:ot},n=32}else t=String(t),o&64?(n=16,t=[Ct(t)]):n=8;e.children=t,e.shapeFlag|=n}function rg(...e){const t={};for(let n=0;nMe||ot;let Ko,Wn;{const e=uo(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};Ko=t("__VUE_INSTANCE_SETTERS__",n=>Me=n),Wn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Yn=e=>{const t=Me;return Ko(e),e.scope.on(),()=>{e.scope.off(),Ko(t)}},Zi=()=>{Me&&Me.scope.off(),Ko(null)};function Qi(e){return e.vnode.shapeFlag&4}let _n=!1;function gg(e,t=!1,n=!1){t&&Wn(t);const{props:o,children:a}=e.vnode,s=Qi(e);Wu(e,o,s,t),Zu(e,a,n||t);const i=s?dg(e,t):void 0;return t&&Wn(!1),i}function dg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Iu);const{setup:o}=n;if(o){ut();const a=e.setupContext=o.length>1?pg(e):null,s=Yn(e),i=fn(o,e,0,[e.props,a]),r=Ns(i);if(gt(),s(),(r||e.sp)&&!Kn(e)&&$a(e),r){if(i.then(Zi,Zi),t)return i.then(l=>{Wn(!0);try{er(e,l,t)}finally{Wn(!1)}}).catch(l=>{On(l,e,0)});e.asyncDep=i}else er(e,i)}else tr(e)}function er(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=ii(t)),tr(e)}function tr(e,t,n){const o=e.type;e.render||(e.render=o.render||lt);{const a=Yn(e);ut();try{Ru(e)}finally{gt(),a()}}}const fg={get(e,t){return De(e,"get",""),e[t]}};function pg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,fg),slots:e.slots,emit:e.emit,expose:t}}function Fa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ii(Dn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gn)return Gn[n](e)},has(t,n){return n in t||n in Gn}})):e.proxy}const hg=/(?:^|[-_])\w/g,mg=e=>e.replace(hg,t=>t.toUpperCase()).replace(/[-_]/g,"");function nr(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function or(e,t,n=!1){let o=nr(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const i in s)if(s[i]===t)return i};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?mg(o):n?"App":"Anonymous"}function bg(e){return oe(e)&&"__vccOpts"in e}const he=(e,t)=>tu(e,t,_n);function ar(e,t,n){try{Fo(-1);const o=arguments.length;return o===2?de(t)&&!ee(t)?xo(t)?Ne(e,null,[t]):Ne(e,t):Ne(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&xo(n)&&(n=[n]),Ne(e,t,n))}finally{Fo(1)}}const _g="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -68,9 +68,9 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(N,w)=>s.value?(qe(),Lt("div",{key:0,ref_key:"hintEl",ref:i,class:wn(["pin-hint",{dark:o.value}]),role:"status"},[Le("span",Qh,[w[0]||(w[0]=Le("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Ct(" "+Zt(a.value)+" ",1),Le("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let tm=0;const nm=za("ui",{state:()=>({_storeInstanceId:++tm,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:a=null,persistent:s=!1}=e,i={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(i),!s&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.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)}))}}}),om=za("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 a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:a,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()}}}),am=za("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]=Dn({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]=Dn({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}}}),Ul={_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}}},sm=".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}",im=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},rm={class:"profile-loader"},lm={key:0,class:"profile-error"},cm={key:1,class:"profile-error"},um=im({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var b;const n=e,o=Fe("profileConfig",null),a=he(()=>{var $;if(!n.profileConfig)return null;let y;try{y=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(y&&y.assetsBase===void 0){const P=($=o==null?void 0:o.value)==null?void 0:$.assetsBase;typeof P=="string"&&P&&(y.assetsBase=P)}return y}),s=he(()=>{var y;return((y=a.value)==null?void 0:y.profile)||null}),i=he(()=>{var $;const y=($=a.value)==null?void 0:$.tk;return typeof y=="string"&&y?y:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),r=he(()=>{var y;return((y=a.value)==null?void 0:y.dataSource)||Ul.activeSource||"doxa-csv"}),l=he(()=>{var y;return((y=a.value)==null?void 0:y.colorSet)||"default"}),c=he(()=>!1),u=he(()=>{var y;return((y=a.value)==null?void 0:y.pinHint)!==!1}),f=he(()=>{var $,P;const y=((($=a.value)==null?void 0:$.locale)||((P=a.value)==null?void 0:P.lang)||"").split("-")[0].toLowerCase();return Bl.includes(y)?y:""}),m=Fe("appI18n",null);hu(()=>{f.value&&m&&(m.global.locale.value=f.value)});const k=he(()=>{var y,$;return f.value||(($=(y=m==null?void 0:m.global)==null?void 0:y.locale)==null?void 0:$.value)||"en"}),C=he(()=>{var y;return((y=a.value)==null?void 0:y.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),S=Fe("profileModules",null);if(!S)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const N=he(()=>{if(!s.value)return null;const y=`./${s.value}.vue`;return S[y]?Au(S[y]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(S)),null)});pt("mapboxToken",i),pt("dataSource",r),pt("colorSet",l),pt("profileConfig",a),pt("instanceId",C),pt("lang",k);const w=nm(),L=om(),_=am();try{const y=typeof localStorage<"u"?localStorage.getItem("theme"):null;y&&((b=w.setTheme)==null||b.call(w,y))}catch{}return pt("uiStore",w),pt("mapStore",L),pt("dataStore",_),(y,$)=>(qe(),Lt("div",rm,[a.value?N.value?(qe(),Oo(vi(N.value),{key:2})):(qe(),Lt("div",cm,[Le("p",null,[$[1]||($[1]=Ct("⚠️ Profile ",-1)),Le("strong",null,'"'+Zt(s.value)+'"',1),$[2]||($[2]=Ct(" not found.",-1))])])):(qe(),Lt("div",lm,[...$[0]||($[0]=[Le("p",null,[Ct("⚠️ "),Le("strong",null,"doxa-map"),Ct(": missing or invalid "),Le("code",null,"profile-config"),Ct(" prop.")],-1),Le("p",null,[Ct("Example: "),Le("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),N.value&&c.value?(qe(),Oo(vi(vo(null)),{key:3})):bn("",!0),N.value&&u.value?(qe(),Oo(em,{key:4})):bn("",!0)]))}},[["styles",[sm]],["__scopeId","data-v-931b414b"]]),gm=Object.assign({"./all-people-groups.vue":()=>bc(()=>Promise.resolve().then(()=>gb),void 0)}),dm=Ug(um,{configureApp(e){e.use(Wg());const t=Xh();e.use(t),e.provide("appI18n",t),e.provide("profileModules",gm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",dm);const fm="rgba(120, 128, 134, 0.28)",Gl="36px",zl=()=>{};function pm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return zl;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return zl;const a=L=>L.classList.contains("map-scroll-edge--left");for(const L of o)L.style.background=`linear-gradient(${a(L)?"to right":"to left"}, ${fm} ${Gl}, transparent ${Gl})`,L.style.opacity="0",L.style.transition="opacity 0.16s ease",L.style.userSelect="none",L.style.webkitUserSelect="none";const s=L=>{L.style.opacity="1"},i=L=>{L.style.opacity="0"},r=()=>o.find(L=>!a(L))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const L of o)l.has(L)||i(L)},m=()=>{const L=r();L&&(s(L),u&&clearTimeout(u),u=setTimeout(f,250))},k=()=>m(),C=L=>{if(!(L.touches&&L.touches.length===1))return;const _=L.target;_&&_.classList&&_.classList.contains("map-scroll-edge")||m()},S=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",C,{passive:!0}),e.addEventListener("touchend",S,{passive:!0}),e.addEventListener("touchcancel",S,{passive:!0});const N=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",N,{passive:!0});const w=[];for(const L of o){const _=()=>{l.add(L),s(L)},b=()=>{l.delete(L),i(L)},y=()=>{c=!0,s(L)},$=()=>{c=!1,i(L)};L.addEventListener("mouseenter",_),L.addEventListener("mouseleave",b),L.addEventListener("touchstart",y,{passive:!0}),L.addEventListener("touchend",$,{passive:!0}),w.push(()=>{L.removeEventListener("mouseenter",_),L.removeEventListener("mouseleave",b),L.removeEventListener("touchstart",y),L.removeEventListener("touchend",$)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",C),e.removeEventListener("touchend",S),e.removeEventListener("touchcancel",S),typeof window<"u"&&window.removeEventListener("scroll",N);for(const _ of w)_();for(const _ of o)i(_)}}const hm=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 mm(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const n=hm[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 $n={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 ql(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 bm=$n.mapbox.css,_m="https://tiles.openfreemap.org/styles/liberty";function gs(e){var n;const t=((n=$n[e])==null?void 0:n.global)||$n.mapbox.global;return typeof window<"u"?window[t]:void 0}async function ym(e){const t=$n[e]||$n.mapbox;if(gs(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(gs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Am(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=i=>new Promise(r=>setTimeout(r,i)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),n.prepend(s)}),o(2e3)])}function Sm(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:_m}const vm=85.0511,Hl=-2,km=0,Tm=-60;function Vl(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function $m(e,t,n,o){if(!e||e<=0||!t||t<=0)return km;const a=Math.log2(e/512),s=Vl(o)-Vl(vm),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(Hl,Math.min(r,(n??18)-1))}function Em({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a="mapbox",center:s=[20,10],zoom:i=2,minZoom:r=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:m=!0,southCutoff:k=Tm,maxBounds:C=void 0}){const S=ya(null),N=fe(!1);let w=null,L=null,_=null;const b=a==="maplibre";async function y(){var Q;const F=mm(n,a).style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await ym(a);const v=gs(a);if(!v){console.error(`[useMapInstance] ${b?"maplibregl":"mapboxgl"} is not available. Add the ${b?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!b){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 Am(e.value,b?$n.maplibre.css:bm),await new Promise(X=>requestAnimationFrame(X));const q=e.value,ie=q.clientWidth,W=q.clientHeight;if(ie===0||W===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ie}×${W}). Map will be invisible. Check that parent elements have CSS sizing.`);let X=q.parentElement,Z=0;for(;X&&Z<5;)X=X.parentElement,Z++}const ne=t;b||(v.accessToken=ne);const Y=()=>typeof window<"u"&&window.innerWidth>=1024,D=(X,Z)=>{if(!Y())return Hl;const re=$m(X,Z,l,k);return typeof r=="number"?Math.max(r,re):re},j=D(q.clientWidth,q.clientHeight);if(b){S.value=new v.Map({container:e.value,style:Sm(F),center:s,zoom:i,minZoom:j,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...C?{maxBounds:C}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ql(S.value);try{e.value.__doxaMap=S.value}catch{}}else{const X=typeof o=="function"?o():o;S.value=new v.Map({accessToken:ne,container:e.value,style:F,...X?{config:X}:{},center:s,zoom:i,minZoom:j,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...C?{maxBounds:C}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ql(S.value);try{e.value.__doxaMap=S.value}catch{}}try{let X=!1;S.value.on("error",Z=>{var Ze,yt;const re=((Ze=Z==null?void 0:Z.error)==null?void 0:Ze.status)??(Z==null?void 0:Z.status),ke=String(((yt=Z==null?void 0:Z.error)==null?void 0:yt.url)||(Z==null?void 0:Z.sourceId)||"");re!==401&&re!==403||X||(X=!0,console.error(`[doxa-maps] Mapbox returned ${re} 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.`+(ke?` First failing request: ${ke.slice(0,120)}`:"")))})}catch{}try{S.value.touchZoomRotate.disableRotation()}catch{}_=pm(((Q=e.value)==null?void 0:Q.parentElement)||null,{enabled:m});let H=j,V=null;w=()=>{const X=S.value;if(!X)return;const Z=D(q.clientWidth,q.clientHeight);Z!==H&&(H=Z,X.setMinZoom(Z)),X.getZoom(){V=null;const re=S.value;if(!re)return;const ke=D(q.clientWidth,q.clientHeight);if(re.getZoom(){V&&(clearTimeout(V),V=null)},S.value.on("resize",w),typeof window<"u"&&(window.addEventListener("resize",w),window.addEventListener("orientationchange",w)),S.value.on("style.load",()=>{requestAnimationFrame(()=>{var X;(X=S.value)==null||X.resize(),S.value&&S.value.setMinZoom(D(q.clientWidth,q.clientHeight)),N.value=!0})})}function $(){if(S.value){if(w&&(S.value.off("resize",w),typeof window<"u"&&(window.removeEventListener("resize",w),window.removeEventListener("orientationchange",w)),w=null),L){try{L()}catch{}L=null}_&&(_(),_=null),S.value.remove(),S.value=null,N.value=!1}}return{map:S,isMapReady:N,initializeMap:y,destroy:$}}const Lm=["mapbox","maplibre"],Wl="mapbox";function Cm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function wm(e){const t=Cm(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||Wl).toLowerCase().trim();return Lm.includes(s)?s:Wl}const Yl="doxa-prayed-local",Nm=7*24*60*60*1e3;function Pm(){try{const e=localStorage.getItem(Yl);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Mm(e){try{localStorage.setItem(Yl,JSON.stringify(e))}catch{}}function Im(){const e=Date.now(),t=Pm();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>Nm)&&(delete t[o],n=!0);return n&&Mm(t),new Set(Object.keys(t))}function Rm(e){const t=Im();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Wt={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Jl={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"},ds="languageFamily",Dm="#000000",Yt={"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"},Fm=Yt;function fs(e){return Yt[e]||Dm}const Om=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Yt))t[e(n)]=n;return t})(),xm={"tai-kadai":"Kra-Dai",none:"Unknown"};function ps(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return xm[n]||Om[n]||t}function Xl(e){var t;return fs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function hs(){const e=["match",["get",ds]];return Object.entries(Yt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const Zl=hs,jm=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Fm,PALETTE:Yt,PROPERTY_KEY:ds,applyColor:hs,buildColorExpression:Zl,canonicalFamilyName:ps,default:{name:"Language Family",propertyKey:ds,palette:Yt,colors:Yt,getColor:Xl,applyColor:hs,buildColorExpression:Zl,getLanguageFamilyColor:fs,canonicalFamilyName:ps},defaultFamilyColor:"#95a5a6",getColor:Xl,getLanguageFamilyColor:fs,languageFamilyColors:Yt},Symbol.toStringTag,{value:"Module"})),Ql="adoptionStatus",Dt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Bm=Dt,ms={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Km=ms;function ec(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)?Dt.hasAdoption:Dt.notAdopted}function bs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Dt.hasAdoption,["==",t,1],Dt.hasAdoption,Dt.notAdopted]}const tc=bs,Um=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Bm,ADOPTION_LABELS:Km,LABELS:ms,PALETTE:Dt,PROPERTY_KEY:Ql,applyColor:bs,buildColorExpression:tc,default:{name:"Adoption Progress",propertyKey:Ql,palette:Dt,colors:Dt,labels:ms,getColor:ec,applyColor:bs,buildColorExpression:tc},getColor:ec},Symbol.toStringTag,{value:"Module"})),nc="engagementStatus",Ft={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},Gm=Ft,_s={notEngaged:"Unengaged",hasEngagement:"Engaged"},zm=_s;function oc(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)?Ft.hasEngagement:Ft.notEngaged}function ys({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Ft.hasEngagement,["==",t,1],Ft.hasEngagement,Ft.notEngaged]}const ac=ys,qm=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:Gm,ENGAGEMENT_LABELS:zm,LABELS:_s,PALETTE:Ft,PROPERTY_KEY:nc,applyColor:ys,buildColorExpression:ac,default:{name:"Engagement Progress",propertyKey:nc,palette:Ft,colors:Ft,labels:_s,getColor:oc,applyColor:ys,buildColorExpression:ac},getColor:oc},Symbol.toStringTag,{value:"Module"})),sc="peoplePraying",Qo=144,Jt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Hm=Jt,As={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Vm=As;function ea(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>=Qo?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function Ss(e){return Jt[ea(e)]}function ic(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 rc(e){return ea(e)==="fullPrayer"}function lc(e){return Ss(e)}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qo],Jt.fullPrayer,[">",t,0],Jt.hasPrayer,Jt.noPrayer]}const cc=vs,Wm=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qo,LABELS:As,PALETTE:Jt,PRAYER_COLORS:Hm,PRAYER_LABELS:Vm,PROPERTY_KEY:sc,applyColor:vs,buildColorExpression:cc,checkHasFullPrayer:rc,checkHasPrayer:ic,default:{name:"Prayer Progress",propertyKey:sc,palette:Jt,colors:Jt,labels:As,threshold:Qo,getColor:lc,applyColor:vs,buildColorExpression:cc,getPrayerLevel:ea,getPrayerColor:Ss,checkHasPrayer:ic,checkHasFullPrayer:rc},getColor:lc,getPrayerColor:Ss,getPrayerLevel:ea},Symbol.toStringTag,{value:"Module"})),uc="religion",ks="#94a3b8",Ts={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Xe={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function gc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ts[t]?t:"U"}function dc(e){var n,o,a;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)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return Xe[gc(t)]||ks}function $s(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Xe.C,"M",Xe.M,"H",Xe.H,"B",Xe.B,"E",Xe.E,"J",Xe.J,"S",Xe.S,"N",Xe.N,"O",Xe.O,ks]}const fc=$s,Ym=Object.assign({"./adoption.js":Um,"./engagement.js":qm,"./language-family.js":jm,"./prayer-progress.js":Wm,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Xe,PROPERTY_KEY:uc,RELIGION_FAMILIES:Ts,applyColor:$s,buildColorExpression:fc,default:{name:"Religion",propertyKey:uc,palette:Xe,families:Ts,getColor:dc,applyColor:$s,buildColorExpression:fc,fallback:ks},getColor:dc,getReligionFamily:gc},Symbol.toStringTag,{value:"Module"}))}),Jm=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),Xm=e=>e.replace(/-/g,"_").toUpperCase(),Zm={...{STATUS:"status",CUSTOM:"custom"}};function Qm(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=Jm(n);Zm[Xm(n)]=a}}Qm(Ym);function Es(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const eb=[[/ sign language$/i,"Sign Language"]];function tb(e){var r,l;const t=Es(e.languageFamily);if(t)return t;const n=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&Jl[n])return Jl[n];const o=Es(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Wt[c])return Wt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Wt[u])return Wt[u]}}if(Wt[a])return Wt[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&Wt[i])return Wt[i];for(const[c,u]of eb)if(c.test(a))return u;return""}function nb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=P=>P}=e;o||console.error("useMapData: dataSourceManager is required!");const i=fe(!1),r=fe(null),l=fe(!1),c=fe([]),u=fe([]),f=fe(null),m=fe([]),k=fe([]),C=fe([]),S=fe(null);async function N(){if(!o)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const D=a.getSourceData(n);u.value=s(D.normalizedData||[])}else{const D=await o.setActiveSource(n);for(const j of D){const H=Es(j.language||j.primary_language);H&&(j.language=H);const V=tb(j);j.languageFamily=ps(V)}u.value=s(D),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:D,timestamp:Date.now()})}c.value=s(Rm(u.value.map(D=>({id:D.uniqueId,slug:D.slug||"",rop3:D.peopleGroupId,peopleId3:D.peopleId3,name:D.name,language:D.language,languageFamily:D.languageFamily,country:D.country,population:D.population,status:D.engagementStatus||D.status,latitude:D.latitude,longitude:D.longitude,lng:D.longitude,lat:D.latitude,description:D.description,imageUrl:D.imageUrl,doxaRegion:D.doxaRegion||D.wagfRegion||"",peoplePraying:D.peoplePraying??null,_normalized:D}))));const P=o.getDataByLanguageFamily();m.value=Object.entries(P).map(([D,j])=>{const H=j.reduce((V,Q)=>{const X=parseInt(Q.population)||0;return V+X},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:H,groups:j}}).sort((D,j)=>j.count-D.count);const F=o.getDataByRegion();k.value=Object.entries(F).map(([D,j])=>{const H=j.reduce((V,Q)=>{const X=parseInt(Q.population)||0;return V+X},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:H,groups:j}}).sort((D,j)=>D.name.localeCompare(j.name));const v={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(D=>{const j=parseInt(D.population)||0;let H=!1;D.bible==="Available"&&(v.bible.count++,v.bible.population+=j,v.bible.groups.push(D),H=!0),D.jesusFilm==="Available"&&(v.jesusFilm.count++,v.jesusFilm.population+=j,v.jesusFilm.groups.push(D),H=!0),D.radio==="Available"&&(v.radio.count++,v.radio.population+=j,v.radio.groups.push(D),H=!0),D.gospel==="Available"&&(v.gospel.count++,v.gospel.population+=j,v.gospel.groups.push(D),H=!0),D.audio==="Available"&&(v.audio.count++,v.audio.population+=j,v.audio.groups.push(D),H=!0),D.stories==="Available"&&(v.stories.count++,v.stories.population+=j,v.stories.groups.push(D),H=!0),H?(v.hasResources.count++,v.hasResources.population+=j,v.hasResources.groups.push(D)):(v.noResources.count++,v.noResources.population+=j,v.noResources.groups.push(D))});const q=u.value.length,ie=u.value.reduce((D,j)=>D+(parseInt(j.population)||0),0),W={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ne={bible:{count:q-v.bible.count,population:ie-v.bible.population},jesusFilm:{count:q-v.jesusFilm.count,population:ie-v.jesusFilm.population},radio:{count:q-v.radio.count,population:ie-v.radio.population},gospel:{count:q-v.gospel.count,population:ie-v.gospel.population},audio:{count:q-v.audio.count,population:ie-v.audio.population},stories:{count:q-v.stories.count,population:ie-v.stories.population}},Y="#2c3e50";return C.value=[{name:W.bible,key:"bible",count:v.bible.count,population:v.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ne.bible.count,population:ne.bible.population,color:Y}]},{name:W.jesusFilm,key:"jesusFilm",count:v.jesusFilm.count,population:v.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ne.jesusFilm.count,population:ne.jesusFilm.population,color:Y}]},{name:W.radio,key:"radio",count:v.radio.count,population:v.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ne.radio.count,population:ne.radio.population,color:Y}]},{name:W.gospel,key:"gospel",count:v.gospel.count,population:v.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ne.gospel.count,population:ne.gospel.population,color:Y}]},{name:W.audio,key:"audio",count:v.audio.count,population:v.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ne.audio.count,population:ne.audio.population,color:Y}]},{name:W.stories,key:"stories",count:v.stories.count,population:v.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ne.stories.count,population:ne.stories.population,color:Y}]},{name:W.hasResources,key:"hasResources",count:v.hasResources.count,population:v.hasResources.population,isParent:!0,children:[{name:W.noResources,key:"noResources",count:v.noResources.count,population:v.noResources.population,color:Y}]}],S.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:k.value,resourcesData:C.value,stats:S.value}}catch(P){throw console.error(`Failed to load data for map "${t}":`,P),r.value=P.message||"Failed to load data",P}finally{i.value=!1}}async function w(){var P,F,v;try{const q={},ie=u.value||[];for(const W of ie){const ne=W.countryIso||((F=(P=W._raw)==null?void 0:P.country_code)==null?void 0:F.value)||"",Y=(v=W._raw)==null?void 0:v.wagf_region,D=W.doxaRegion||W.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ne&&D&&!q[ne]&&(q[ne]=D)}return f.value={isoToRegion:q},f.value}catch(q){throw console.error(`Error building regions data for map "${t}":`,q),r.value=q.message||"Failed to build regions",q}}function L(){return o?o.getDataByLanguageFamily():{}}function _(){return o?o.getDataByRegion():{}}function b(P){return L()[P]||[]}function y(P){return _()[P]||[]}function $(){c.value=[],u.value=[],f.value=null,m.value=[],k.value=[],C.value=[],S.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:m,doxaRegionsData:k,resourcesData:C,stats:S,loadData:N,loadRegionsData:w,getDataByLanguageFamily:L,getDataByRegion:_,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:y,clearData:$}}function ob(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:ta&&ta.tagName.toUpperCase()==="SCRIPT"&&ta.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}class pc{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=Ul,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 a="",s=!1,i=[],r=!0;for(let l=0;ls.value?(qe(),Lt("div",{key:0,ref_key:"hintEl",ref:i,class:wn(["pin-hint",{dark:o.value}]),role:"status"},[Le("span",Qh,[w[0]||(w[0]=Le("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Ct(" "+Zt(a.value)+" ",1),Le("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let tm=0;const nm=za("ui",{state:()=>({_storeInstanceId:++tm,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:a=null,persistent:s=!1}=e,i={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(i),!s&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.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)}))}}}),om=za("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 a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:a,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()}}}),am=za("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]=Dn({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]=Dn({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}}}),Ul={_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}}},sm=".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}",im=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},rm={class:"profile-loader"},lm={key:0,class:"profile-error"},cm={key:1,class:"profile-error"},um=im({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var b;const n=e,o=Fe("profileConfig",null),a=he(()=>{var $;if(!n.profileConfig)return null;let y;try{y=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(y&&y.assetsBase===void 0){const P=($=o==null?void 0:o.value)==null?void 0:$.assetsBase;typeof P=="string"&&P&&(y.assetsBase=P)}return y}),s=he(()=>{var y;return((y=a.value)==null?void 0:y.profile)||null}),i=he(()=>{var $;const y=($=a.value)==null?void 0:$.tk;return typeof y=="string"&&y?y:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),r=he(()=>{var y;return((y=a.value)==null?void 0:y.dataSource)||Ul.activeSource||"doxa-csv"}),l=he(()=>{var y;return((y=a.value)==null?void 0:y.colorSet)||"default"}),c=he(()=>!1),u=he(()=>{var y;return((y=a.value)==null?void 0:y.pinHint)!==!1}),f=he(()=>{var $,P;const y=((($=a.value)==null?void 0:$.locale)||((P=a.value)==null?void 0:P.lang)||"").split("-")[0].toLowerCase();return Bl.includes(y)?y:""}),m=Fe("appI18n",null);hu(()=>{f.value&&m&&(m.global.locale.value=f.value)});const k=he(()=>{var y,$;return f.value||(($=(y=m==null?void 0:m.global)==null?void 0:y.locale)==null?void 0:$.value)||"en"}),C=he(()=>{var y;return((y=a.value)==null?void 0:y.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),S=Fe("profileModules",null);if(!S)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const N=he(()=>{if(!s.value)return null;const y=`./${s.value}.vue`;return S[y]?Au(S[y]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(S)),null)});pt("mapboxToken",i),pt("dataSource",r),pt("colorSet",l),pt("profileConfig",a),pt("instanceId",C),pt("lang",k);const w=nm(),L=om(),_=am();try{const y=typeof localStorage<"u"?localStorage.getItem("theme"):null;y&&((b=w.setTheme)==null||b.call(w,y))}catch{}return pt("uiStore",w),pt("mapStore",L),pt("dataStore",_),(y,$)=>(qe(),Lt("div",rm,[a.value?N.value?(qe(),Oo(vi(N.value),{key:2})):(qe(),Lt("div",cm,[Le("p",null,[$[1]||($[1]=Ct("⚠️ Profile ",-1)),Le("strong",null,'"'+Zt(s.value)+'"',1),$[2]||($[2]=Ct(" not found.",-1))])])):(qe(),Lt("div",lm,[...$[0]||($[0]=[Le("p",null,[Ct("⚠️ "),Le("strong",null,"doxa-map"),Ct(": missing or invalid "),Le("code",null,"profile-config"),Ct(" prop.")],-1),Le("p",null,[Ct("Example: "),Le("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),N.value&&c.value?(qe(),Oo(vi(vo(null)),{key:3})):bn("",!0),N.value&&u.value?(qe(),Oo(em,{key:4})):bn("",!0)]))}},[["styles",[sm]],["__scopeId","data-v-931b414b"]]),gm=Object.assign({"./all-people-groups.vue":()=>bc(()=>Promise.resolve().then(()=>db),void 0)}),dm=Ug(um,{configureApp(e){e.use(Wg());const t=Xh();e.use(t),e.provide("appI18n",t),e.provide("profileModules",gm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",dm);const fm="rgba(120, 128, 134, 0.28)",Gl="36px",zl=()=>{};function pm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return zl;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return zl;const a=L=>L.classList.contains("map-scroll-edge--left");for(const L of o)L.style.background=`linear-gradient(${a(L)?"to right":"to left"}, ${fm} ${Gl}, transparent ${Gl})`,L.style.opacity="0",L.style.transition="opacity 0.16s ease",L.style.userSelect="none",L.style.webkitUserSelect="none";const s=L=>{L.style.opacity="1"},i=L=>{L.style.opacity="0"},r=()=>o.find(L=>!a(L))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const L of o)l.has(L)||i(L)},m=()=>{const L=r();L&&(s(L),u&&clearTimeout(u),u=setTimeout(f,250))},k=()=>m(),C=L=>{if(!(L.touches&&L.touches.length===1))return;const _=L.target;_&&_.classList&&_.classList.contains("map-scroll-edge")||m()},S=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",C,{passive:!0}),e.addEventListener("touchend",S,{passive:!0}),e.addEventListener("touchcancel",S,{passive:!0});const N=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",N,{passive:!0});const w=[];for(const L of o){const _=()=>{l.add(L),s(L)},b=()=>{l.delete(L),i(L)},y=()=>{c=!0,s(L)},$=()=>{c=!1,i(L)};L.addEventListener("mouseenter",_),L.addEventListener("mouseleave",b),L.addEventListener("touchstart",y,{passive:!0}),L.addEventListener("touchend",$,{passive:!0}),w.push(()=>{L.removeEventListener("mouseenter",_),L.removeEventListener("mouseleave",b),L.removeEventListener("touchstart",y),L.removeEventListener("touchend",$)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",C),e.removeEventListener("touchend",S),e.removeEventListener("touchcancel",S),typeof window<"u"&&window.removeEventListener("scroll",N);for(const _ of w)_();for(const _ of o)i(_)}}const hm=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"]},{id:"galaxy",label:"Galaxy",mood:"deep-space ground, blue oceans — the night side of Earth",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",paint:[{layer:"water",prop:"fill-color",value:"#2563a8"},{layer:"waterway",prop:"line-color",value:"#2b6fbb"},{layer:"waterway-shadow",prop:"line-color",value:"#1d4f86"},{layer:"water-shadow",prop:"fill-color",value:"#1d4f86"},{layer:"waterway-river",prop:"line-color",value:"#2b6fbb"},{layer:"waterway-stream-canal",prop:"line-color",value:"#2b6fbb"},{layer:"background",prop:"background-color",value:"#05070d"},{layer:"land",prop:"background-color",value:"#05070d"}],bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function mm(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const n=hm[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0,paint:n.paint}:{style:n.mapbox,lightPreset:n.lightPreset,paint:n.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function bm(e,t){if(!e||!Array.isArray(t))return[];const n=[];for(const o of t)if(!(!o||!o.layer||!o.prop))try{if(!e.getLayer(o.layer))continue;e.setPaintProperty(o.layer,o.prop,o.value),n.push(o.layer+"."+o.prop)}catch{}return n}const $n={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 ql(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 _m=$n.mapbox.css,ym="https://tiles.openfreemap.org/styles/liberty";function gs(e){var n;const t=((n=$n[e])==null?void 0:n.global)||$n.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Am(e){const t=$n[e]||$n.mapbox;if(gs(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(gs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Sm(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=i=>new Promise(r=>setTimeout(r,i)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),n.prepend(s)}),o(2e3)])}function vm(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:ym}const km=85.0511,Hl=-2,Tm=0,$m=-60;function Vl(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Em(e,t,n,o){if(!e||e<=0||!t||t<=0)return Tm;const a=Math.log2(e/512),s=Vl(o)-Vl(km),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(Hl,Math.min(r,(n??18)-1))}function Lm({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a="mapbox",center:s=[20,10],zoom:i=2,minZoom:r=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:m=!0,southCutoff:k=$m,maxBounds:C=void 0}){const S=ya(null),N=fe(!1);let w=null,L=null,_=null;const b=a==="maplibre";async function y(){var Q;const P=mm(n,a),F=P.style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Am(a);const v=gs(a);if(!v){console.error(`[useMapInstance] ${b?"maplibregl":"mapboxgl"} is not available. Add the ${b?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!b){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 Sm(e.value,b?$n.maplibre.css:_m),await new Promise(X=>requestAnimationFrame(X));const q=e.value,ie=q.clientWidth,W=q.clientHeight;if(ie===0||W===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ie}×${W}). Map will be invisible. Check that parent elements have CSS sizing.`);let X=q.parentElement,Z=0;for(;X&&Z<5;)X=X.parentElement,Z++}const ne=t;b||(v.accessToken=ne);const Y=()=>typeof window<"u"&&window.innerWidth>=1024,D=(X,Z)=>{if(!Y())return Hl;const re=Em(X,Z,l,k);return typeof r=="number"?Math.max(r,re):re},j=D(q.clientWidth,q.clientHeight);if(b){S.value=new v.Map({container:e.value,style:vm(F),center:s,zoom:i,minZoom:j,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...C?{maxBounds:C}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ql(S.value);try{e.value.__doxaMap=S.value}catch{}}else{const X=typeof o=="function"?o():o;S.value=new v.Map({accessToken:ne,container:e.value,style:F,...X?{config:X}:{},center:s,zoom:i,minZoom:j,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...C?{maxBounds:C}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ql(S.value);try{e.value.__doxaMap=S.value}catch{}}try{let X=!1;S.value.on("error",Z=>{var Ze,yt;const re=((Ze=Z==null?void 0:Z.error)==null?void 0:Ze.status)??(Z==null?void 0:Z.status),ke=String(((yt=Z==null?void 0:Z.error)==null?void 0:yt.url)||(Z==null?void 0:Z.sourceId)||"");re!==401&&re!==403||X||(X=!0,console.error(`[doxa-maps] Mapbox returned ${re} 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.`+(ke?` First failing request: ${ke.slice(0,120)}`:"")))})}catch{}try{S.value.touchZoomRotate.disableRotation()}catch{}_=pm(((Q=e.value)==null?void 0:Q.parentElement)||null,{enabled:m});let H=j,V=null;w=()=>{const X=S.value;if(!X)return;const Z=D(q.clientWidth,q.clientHeight);Z!==H&&(H=Z,X.setMinZoom(Z)),X.getZoom(){V=null;const re=S.value;if(!re)return;const ke=D(q.clientWidth,q.clientHeight);if(re.getZoom(){V&&(clearTimeout(V),V=null)},S.value.on("resize",w),typeof window<"u"&&(window.addEventListener("resize",w),window.addEventListener("orientationchange",w)),S.value.on("style.load",()=>{if(P.paint&&S.value){const X=bm(S.value,P.paint);console.info("[useMapInstance] style paint applied ("+a+"):",X.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var X;(X=S.value)==null||X.resize(),S.value&&S.value.setMinZoom(D(q.clientWidth,q.clientHeight)),N.value=!0})})}function $(){if(S.value){if(w&&(S.value.off("resize",w),typeof window<"u"&&(window.removeEventListener("resize",w),window.removeEventListener("orientationchange",w)),w=null),L){try{L()}catch{}L=null}_&&(_(),_=null),S.value.remove(),S.value=null,N.value=!1}}return{map:S,isMapReady:N,initializeMap:y,destroy:$}}const Cm=["mapbox","maplibre"],Wl="mapbox";function wm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function Nm(e){const t=wm(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||Wl).toLowerCase().trim();return Cm.includes(s)?s:Wl}const Yl="doxa-prayed-local",Pm=7*24*60*60*1e3;function Mm(){try{const e=localStorage.getItem(Yl);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Im(e){try{localStorage.setItem(Yl,JSON.stringify(e))}catch{}}function Rm(){const e=Date.now(),t=Mm();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>Pm)&&(delete t[o],n=!0);return n&&Im(t),new Set(Object.keys(t))}function Dm(e){const t=Rm();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Wt={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Jl={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"},ds="languageFamily",Fm="#000000",Yt={"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"},Om=Yt;function fs(e){return Yt[e]||Fm}const xm=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Yt))t[e(n)]=n;return t})(),jm={"tai-kadai":"Kra-Dai",none:"Unknown"};function ps(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return jm[n]||xm[n]||t}function Xl(e){var t;return fs(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function hs(){const e=["match",["get",ds]];return Object.entries(Yt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const Zl=hs,Bm=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:Om,PALETTE:Yt,PROPERTY_KEY:ds,applyColor:hs,buildColorExpression:Zl,canonicalFamilyName:ps,default:{name:"Language Family",propertyKey:ds,palette:Yt,colors:Yt,getColor:Xl,applyColor:hs,buildColorExpression:Zl,getLanguageFamilyColor:fs,canonicalFamilyName:ps},defaultFamilyColor:"#95a5a6",getColor:Xl,getLanguageFamilyColor:fs,languageFamilyColors:Yt},Symbol.toStringTag,{value:"Module"})),Ql="adoptionStatus",Dt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Km=Dt,ms={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Um=ms;function ec(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)?Dt.hasAdoption:Dt.notAdopted}function bs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Dt.hasAdoption,["==",t,1],Dt.hasAdoption,Dt.notAdopted]}const tc=bs,Gm=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Km,ADOPTION_LABELS:Um,LABELS:ms,PALETTE:Dt,PROPERTY_KEY:Ql,applyColor:bs,buildColorExpression:tc,default:{name:"Adoption Progress",propertyKey:Ql,palette:Dt,colors:Dt,labels:ms,getColor:ec,applyColor:bs,buildColorExpression:tc},getColor:ec},Symbol.toStringTag,{value:"Module"})),nc="engagementStatus",Ft={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},zm=Ft,_s={notEngaged:"Unengaged",hasEngagement:"Engaged"},qm=_s;function oc(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)?Ft.hasEngagement:Ft.notEngaged}function ys({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],Ft.hasEngagement,["==",t,1],Ft.hasEngagement,Ft.notEngaged]}const ac=ys,Hm=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:zm,ENGAGEMENT_LABELS:qm,LABELS:_s,PALETTE:Ft,PROPERTY_KEY:nc,applyColor:ys,buildColorExpression:ac,default:{name:"Engagement Progress",propertyKey:nc,palette:Ft,colors:Ft,labels:_s,getColor:oc,applyColor:ys,buildColorExpression:ac},getColor:oc},Symbol.toStringTag,{value:"Module"})),sc="peoplePraying",Qo=144,Jt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},Vm=Jt,As={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Wm=As;function ea(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>=Qo?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function Ss(e){return Jt[ea(e)]}function ic(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 rc(e){return ea(e)==="fullPrayer"}function lc(e){return Ss(e)}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qo],Jt.fullPrayer,[">",t,0],Jt.hasPrayer,Jt.noPrayer]}const cc=vs,Ym=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qo,LABELS:As,PALETTE:Jt,PRAYER_COLORS:Vm,PRAYER_LABELS:Wm,PROPERTY_KEY:sc,applyColor:vs,buildColorExpression:cc,checkHasFullPrayer:rc,checkHasPrayer:ic,default:{name:"Prayer Progress",propertyKey:sc,palette:Jt,colors:Jt,labels:As,threshold:Qo,getColor:lc,applyColor:vs,buildColorExpression:cc,getPrayerLevel:ea,getPrayerColor:Ss,checkHasPrayer:ic,checkHasFullPrayer:rc},getColor:lc,getPrayerColor:Ss,getPrayerLevel:ea},Symbol.toStringTag,{value:"Module"})),uc="religion",ks="#94a3b8",Ts={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},Xe={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function gc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ts[t]?t:"U"}function dc(e){var n,o,a;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)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return Xe[gc(t)]||ks}function $s(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",Xe.C,"M",Xe.M,"H",Xe.H,"B",Xe.B,"E",Xe.E,"J",Xe.J,"S",Xe.S,"N",Xe.N,"O",Xe.O,ks]}const fc=$s,Jm=Object.assign({"./adoption.js":Gm,"./engagement.js":Hm,"./language-family.js":Bm,"./prayer-progress.js":Ym,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:Xe,PROPERTY_KEY:uc,RELIGION_FAMILIES:Ts,applyColor:$s,buildColorExpression:fc,default:{name:"Religion",propertyKey:uc,palette:Xe,families:Ts,getColor:dc,applyColor:$s,buildColorExpression:fc,fallback:ks},getColor:dc,getReligionFamily:gc},Symbol.toStringTag,{value:"Module"}))}),Xm=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),Zm=e=>e.replace(/-/g,"_").toUpperCase(),Qm={...{STATUS:"status",CUSTOM:"custom"}};function eb(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=Xm(n);Qm[Zm(n)]=a}}eb(Jm);function Es(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const tb=[[/ sign language$/i,"Sign Language"]];function nb(e){var r,l;const t=Es(e.languageFamily);if(t)return t;const n=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&Jl[n])return Jl[n];const o=Es(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Wt[c])return Wt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Wt[u])return Wt[u]}}if(Wt[a])return Wt[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&Wt[i])return Wt[i];for(const[c,u]of tb)if(c.test(a))return u;return""}function ob(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=P=>P}=e;o||console.error("useMapData: dataSourceManager is required!");const i=fe(!1),r=fe(null),l=fe(!1),c=fe([]),u=fe([]),f=fe(null),m=fe([]),k=fe([]),C=fe([]),S=fe(null);async function N(){if(!o)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const D=a.getSourceData(n);u.value=s(D.normalizedData||[])}else{const D=await o.setActiveSource(n);for(const j of D){const H=Es(j.language||j.primary_language);H&&(j.language=H);const V=nb(j);j.languageFamily=ps(V)}u.value=s(D),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:D,timestamp:Date.now()})}c.value=s(Dm(u.value.map(D=>({id:D.uniqueId,slug:D.slug||"",rop3:D.peopleGroupId,peopleId3:D.peopleId3,name:D.name,language:D.language,languageFamily:D.languageFamily,country:D.country,population:D.population,status:D.engagementStatus||D.status,latitude:D.latitude,longitude:D.longitude,lng:D.longitude,lat:D.latitude,description:D.description,imageUrl:D.imageUrl,doxaRegion:D.doxaRegion||D.wagfRegion||"",peoplePraying:D.peoplePraying??null,_normalized:D}))));const P=o.getDataByLanguageFamily();m.value=Object.entries(P).map(([D,j])=>{const H=j.reduce((V,Q)=>{const X=parseInt(Q.population)||0;return V+X},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:H,groups:j}}).sort((D,j)=>j.count-D.count);const F=o.getDataByRegion();k.value=Object.entries(F).map(([D,j])=>{const H=j.reduce((V,Q)=>{const X=parseInt(Q.population)||0;return V+X},0);return{name:D,count:j.length,peopleGroupCount:j.length,population:H,groups:j}}).sort((D,j)=>D.name.localeCompare(j.name));const v={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(D=>{const j=parseInt(D.population)||0;let H=!1;D.bible==="Available"&&(v.bible.count++,v.bible.population+=j,v.bible.groups.push(D),H=!0),D.jesusFilm==="Available"&&(v.jesusFilm.count++,v.jesusFilm.population+=j,v.jesusFilm.groups.push(D),H=!0),D.radio==="Available"&&(v.radio.count++,v.radio.population+=j,v.radio.groups.push(D),H=!0),D.gospel==="Available"&&(v.gospel.count++,v.gospel.population+=j,v.gospel.groups.push(D),H=!0),D.audio==="Available"&&(v.audio.count++,v.audio.population+=j,v.audio.groups.push(D),H=!0),D.stories==="Available"&&(v.stories.count++,v.stories.population+=j,v.stories.groups.push(D),H=!0),H?(v.hasResources.count++,v.hasResources.population+=j,v.hasResources.groups.push(D)):(v.noResources.count++,v.noResources.population+=j,v.noResources.groups.push(D))});const q=u.value.length,ie=u.value.reduce((D,j)=>D+(parseInt(j.population)||0),0),W={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ne={bible:{count:q-v.bible.count,population:ie-v.bible.population},jesusFilm:{count:q-v.jesusFilm.count,population:ie-v.jesusFilm.population},radio:{count:q-v.radio.count,population:ie-v.radio.population},gospel:{count:q-v.gospel.count,population:ie-v.gospel.population},audio:{count:q-v.audio.count,population:ie-v.audio.population},stories:{count:q-v.stories.count,population:ie-v.stories.population}},Y="#2c3e50";return C.value=[{name:W.bible,key:"bible",count:v.bible.count,population:v.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ne.bible.count,population:ne.bible.population,color:Y}]},{name:W.jesusFilm,key:"jesusFilm",count:v.jesusFilm.count,population:v.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ne.jesusFilm.count,population:ne.jesusFilm.population,color:Y}]},{name:W.radio,key:"radio",count:v.radio.count,population:v.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ne.radio.count,population:ne.radio.population,color:Y}]},{name:W.gospel,key:"gospel",count:v.gospel.count,population:v.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ne.gospel.count,population:ne.gospel.population,color:Y}]},{name:W.audio,key:"audio",count:v.audio.count,population:v.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ne.audio.count,population:ne.audio.population,color:Y}]},{name:W.stories,key:"stories",count:v.stories.count,population:v.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ne.stories.count,population:ne.stories.population,color:Y}]},{name:W.hasResources,key:"hasResources",count:v.hasResources.count,population:v.hasResources.population,isParent:!0,children:[{name:W.noResources,key:"noResources",count:v.noResources.count,population:v.noResources.population,color:Y}]}],S.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:k.value,resourcesData:C.value,stats:S.value}}catch(P){throw console.error(`Failed to load data for map "${t}":`,P),r.value=P.message||"Failed to load data",P}finally{i.value=!1}}async function w(){var P,F,v;try{const q={},ie=u.value||[];for(const W of ie){const ne=W.countryIso||((F=(P=W._raw)==null?void 0:P.country_code)==null?void 0:F.value)||"",Y=(v=W._raw)==null?void 0:v.wagf_region,D=W.doxaRegion||W.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ne&&D&&!q[ne]&&(q[ne]=D)}return f.value={isoToRegion:q},f.value}catch(q){throw console.error(`Error building regions data for map "${t}":`,q),r.value=q.message||"Failed to build regions",q}}function L(){return o?o.getDataByLanguageFamily():{}}function _(){return o?o.getDataByRegion():{}}function b(P){return L()[P]||[]}function y(P){return _()[P]||[]}function $(){c.value=[],u.value=[],f.value=null,m.value=[],k.value=[],C.value=[],S.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:m,doxaRegionsData:k,resourcesData:C,stats:S,loadData:N,loadRegionsData:w,getDataByLanguageFamily:L,getDataByRegion:_,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:y,clearData:$}}function ab(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:ta&&ta.tagName.toUpperCase()==="SCRIPT"&&ta.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&"https://pray.doxa.life"||""}class pc{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=Ul,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 a="",s=!1,i=[],r=!0;for(let l=0;l0){if(i.push(a.trim()),a="",r)o.push(...i),r=!1;else if(i.length>1){const f={};o.forEach((m,k)=>{f[m]=i[k]||""}),n.push(f)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};o.forEach((c,u)=>{l[c]=i[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,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=ob(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,f]of Object.entries(i))s.push(`${u}=${encodeURIComponent(f)}`);const r=`${n}${o}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.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 a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(o,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}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 a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];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||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.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 pc;const ab={class:"apg-root"},sb={key:0,class:"apg-loading"},ib={key:1,class:"apg-error"},rb={key:2,class:"apg-legend"},lb={class:"apg-legend-sub"},cb=["onClick"],ub={class:"apg-count"},gb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ne;Kl(` +`&&l++,a||i.length>0){if(i.push(a.trim()),a="",r)o.push(...i),r=!1;else if(i.length>1){const f={};o.forEach((m,k)=>{f[m]=i[k]||""}),n.push(f)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};o.forEach((c,u)=>{l[c]=i[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,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=ab(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,f]of Object.entries(i))s.push(`${u}=${encodeURIComponent(f)}`);const r=`${n}${o}?${s.join("&")}`;try{const u=await fetch(r);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.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 a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(o,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}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 a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];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||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.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 pc;const sb={class:"apg-root"},ib={key:0,class:"apg-loading"},rb={key:1,class:"apg-error"},lb={key:2,class:"apg-legend"},cb={class:"apg-legend-sub"},ub=["onClick"],gb={class:"apg-count"},db=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ne;Kl(` .apg-root { position:absolute;inset:0;overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; } .apg-canvas { position:absolute;inset:0; } @@ -101,10 +101,10 @@ .apg-pop .meta { color:#4b5563;margin-top:4px; } .apg-pop a { display:inline-block;margin-top:7px;font-weight:700;color:#b45309;text-decoration:none; } .apg-pop a:hover { text-decoration:underline; } -`,"all-people-groups");const t=Fe("profileConfig"),n=Fe("mapboxToken"),o=Fe("dataSource"),a=Fe("dataStore"),s=Fe("mapStore"),i=wm(t),r=he(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=fe({doxa:0,frontier:0,unreached:0,reached:0});function f(Y,D){if(D.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const D=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||D||"agwm"))}const k=fe(null),C=fe(!1),S=fe(null),{map:N,initializeMap:w,destroy:L}=Em({containerRef:k,accessToken:n.value,provider:i,style:((ne=t==null?void 0:t.value)==null?void 0:ne.style)??"ink",center:[20,12],zoom:1.6}),_=new pc,b=nb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:_,dataStore:a,markRaw:Y=>Y});let y=[],$=new Map;function P(Y){return String(Y??"").replace(/[&<>"']/g,D=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[D])}async function F(){const[Y,D]=await Promise.all([fetch(`${r.value}/people-groups/people-groups-slim.json`).then(Q=>{if(!Q.ok)throw new Error(`people-groups-slim.json ${Q.status}`);return Q.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(Q=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",Q),[]))]),j=new Set;for(const Q of D){const X=String(Q.peopleGroupId||Q.rop3||"");X&&(j.add(X),$.has(X)||$.set(X,{slug:Q.slug||"",name:Q.name||""}))}const H=[],V={doxa:0,frontier:0,unreached:0,reached:0};for(const Q of Y.rows||[]){const X=Number(Q.Lat),Z=Number(Q.Long);if(!Number.isFinite(X)||!Number.isFinite(Z)||X===0&&Z===0)continue;const re=f(Q,j);V[re]++,H.push({type:"Feature",geometry:{type:"Point",coordinates:[Z,X]},properties:{name:Q.Name||"",country:Q.CountryName||"",population:Number(Q.Population)||0,gsec:Q.GSEC,evangelical:Q.EvangelicalLevel||"",language:Q.LanguageName||"",religion:Q.ReligionName||"",rop3:String(Q.ROP3Code||""),category:re}})}return u.value=V,y=H,{type:"FeatureCollection",features:H}}function v(Y){const D=N.value;D.addSource("apg",{type:"geojson",data:Y}),D.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),D.on("mouseenter","apg-pins",()=>{D.getCanvas().style.cursor="pointer"}),D.on("mouseleave","apg-pins",()=>{D.getCanvas().style.cursor=""}),D.on("click","apg-pins",j=>{const H=j.features&&j.features[0];if(!H)return;const V=H.properties,Q=V.category==="doxa"?$.get(V.rop3):null,X=l.find(ke=>ke.id===V.category),Z=Q&&Q.slug?`Pray for them →`:"",re=i==="maplibre"?window.maplibregl:window.mapboxgl;new re.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
+`,"all-people-groups");const t=Fe("profileConfig"),n=Fe("mapboxToken"),o=Fe("dataSource"),a=Fe("dataStore"),s=Fe("mapStore"),i=Nm(t),r=he(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=fe({doxa:0,frontier:0,unreached:0,reached:0});function f(Y,D){if(D.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const D=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||D||"agwm"))}const k=fe(null),C=fe(!1),S=fe(null),{map:N,initializeMap:w,destroy:L}=Lm({containerRef:k,accessToken:n.value,provider:i,style:((ne=t==null?void 0:t.value)==null?void 0:ne.style)??"ink",center:[20,12],zoom:1.6}),_=new pc,b=ob({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:_,dataStore:a,markRaw:Y=>Y});let y=[],$=new Map;function P(Y){return String(Y??"").replace(/[&<>"']/g,D=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[D])}async function F(){const[Y,D]=await Promise.all([fetch(`${r.value}/people-groups/people-groups-slim.json`).then(Q=>{if(!Q.ok)throw new Error(`people-groups-slim.json ${Q.status}`);return Q.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(Q=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",Q),[]))]),j=new Set;for(const Q of D){const X=String(Q.peopleGroupId||Q.rop3||"");X&&(j.add(X),$.has(X)||$.set(X,{slug:Q.slug||"",name:Q.name||""}))}const H=[],V={doxa:0,frontier:0,unreached:0,reached:0};for(const Q of Y.rows||[]){const X=Number(Q.Lat),Z=Number(Q.Long);if(!Number.isFinite(X)||!Number.isFinite(Z)||X===0&&Z===0)continue;const re=f(Q,j);V[re]++,H.push({type:"Feature",geometry:{type:"Point",coordinates:[Z,X]},properties:{name:Q.Name||"",country:Q.CountryName||"",population:Number(Q.Population)||0,gsec:Q.GSEC,evangelical:Q.EvangelicalLevel||"",language:Q.LanguageName||"",religion:Q.ReligionName||"",rop3:String(Q.ROP3Code||""),category:re}})}return u.value=V,y=H,{type:"FeatureCollection",features:H}}function v(Y){const D=N.value;D.addSource("apg",{type:"geojson",data:Y}),D.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),D.on("mouseenter","apg-pins",()=>{D.getCanvas().style.cursor="pointer"}),D.on("mouseleave","apg-pins",()=>{D.getCanvas().style.cursor=""}),D.on("click","apg-pins",j=>{const H=j.features&&j.features[0];if(!H)return;const V=H.properties,Q=V.category==="doxa"?$.get(V.rop3):null,X=l.find(ke=>ke.id===V.category),Z=Q&&Q.slug?`Pray for them →`:"",re=i==="maplibre"?window.maplibregl:window.mapboxgl;new re.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
${P(V.name)} ${P(X.label.split(" — ")[0])}
${P(V.country)} · pop ${Number(V.population).toLocaleString()}
${P(V.evangelical||"GSEC "+V.gsec)}
${P(V.language)}${V.religion?" · "+P(V.religion):""}
${Z} -
`).addTo(D)})}const q=fe(null);function ie(Y){const D=N.value;if(!D||!D.getLayer("apg-pins"))return;if(q.value===Y){q.value=null,D.setFilter("apg-pins",null),D.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}q.value=Y,D.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,H=85,V=-180,Q=-85,X=0;for(const Z of y){if(Z.properties.category!==Y)continue;const[re,ke]=Z.geometry.coordinates;reV&&(V=re),keQ&&(Q=ke),X++}X&&D.fitBounds([[j,H],[V,Q]],{padding:60,duration:900,maxZoom:6})}Un(async()=>{const Y=F().catch(D=>(S.value=String((D==null?void 0:D.message)||D),null));try{await w()}catch(D){S.value=String((D==null?void 0:D.message)||D);return}if(!N.value){S.value="Map failed to initialize — check token and container";return}N.value.once("style.load",async()=>{var D;try{const j=await Y;if(!j)return;try{N.value.setProjection("mercator")}catch{}v(j),(D=s==null?void 0:s.registerMap)==null||D.call(s,"all-people-groups",N.value),C.value=!0}catch(j){S.value=String((j==null?void 0:j.message)||j)}})}),Ea(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),L()});const W=he(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,D)=>(qe(),Lt("div",ab,[!C.value&&!S.value?(qe(),Lt("div",sb,"Loading every people group…")):bn("",!0),S.value?(qe(),Lt("div",ib,"The map could not be loaded. "+Zt(S.value),1)):bn("",!0),Le("div",{ref_key:"mapContainer",ref:k,class:"apg-canvas"},null,512),C.value?(qe(),Lt("div",rb,[D[0]||(D[0]=Le("div",{class:"apg-legend-title"},"All People Groups",-1)),Le("div",lb,Zt(W.value.toLocaleString())+" group–country locations",1),(qe(),Lt(Ye,null,Mu(l,j=>Le("div",{key:j.id,class:wn(["apg-row",{active:q.value===j.id}]),onClick:H=>ie(j.id)},[Le("span",{class:"apg-dot",style:go({background:j.color})},null,4),Ct(" "+Zt(j.label)+" ",1),Le("span",ub,Zt((u.value[j.id]||0).toLocaleString()),1)],10,cb)),64)),D[1]||(D[1]=Le("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); +
`).addTo(D)})}const q=fe(null);function ie(Y){const D=N.value;if(!D||!D.getLayer("apg-pins"))return;if(q.value===Y){q.value=null,D.setFilter("apg-pins",null),D.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}q.value=Y,D.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,H=85,V=-180,Q=-85,X=0;for(const Z of y){if(Z.properties.category!==Y)continue;const[re,ke]=Z.geometry.coordinates;reV&&(V=re),keQ&&(Q=ke),X++}X&&D.fitBounds([[j,H],[V,Q]],{padding:60,duration:900,maxZoom:6})}Un(async()=>{const Y=F().catch(D=>(S.value=String((D==null?void 0:D.message)||D),null));try{await w()}catch(D){S.value=String((D==null?void 0:D.message)||D);return}if(!N.value){S.value="Map failed to initialize — check token and container";return}N.value.once("style.load",async()=>{var D;try{const j=await Y;if(!j)return;try{N.value.setProjection("mercator")}catch{}v(j),(D=s==null?void 0:s.registerMap)==null||D.call(s,"all-people-groups",N.value),C.value=!0}catch(j){S.value=String((j==null?void 0:j.message)||j)}})}),Ea(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),L()});const W=he(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,D)=>(qe(),Lt("div",sb,[!C.value&&!S.value?(qe(),Lt("div",ib,"Loading every people group…")):bn("",!0),S.value?(qe(),Lt("div",rb,"The map could not be loaded. "+Zt(S.value),1)):bn("",!0),Le("div",{ref_key:"mapContainer",ref:k,class:"apg-canvas"},null,512),C.value?(qe(),Lt("div",lb,[D[0]||(D[0]=Le("div",{class:"apg-legend-title"},"All People Groups",-1)),Le("div",cb,Zt(W.value.toLocaleString())+" group–country locations",1),(qe(),Lt(Ye,null,Mu(l,j=>Le("div",{key:j.id,class:wn(["apg-row",{active:q.value===j.id}]),onClick:H=>ie(j.id)},[Le("span",{class:"apg-dot",style:go({background:j.color})},null,4),Ct(" "+Zt(j.label)+" ",1),Le("span",gb,Zt((u.value[j.id]||0).toLocaleString()),1)],10,ub)),64)),D[1]||(D[1]=Le("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/all-people-groups/all-people-groups/index.html b/public/doxa-maps/all-people-groups/all-people-groups/index.html index 0bd81d00f..41f7bfc3b 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups/index.html +++ b/public/doxa-maps/all-people-groups/all-people-groups/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":21,"profileCount":32,"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-xK62b4nEd/ei3xDdRNOOCl9YyDRliPUvS8dtna07xFFR1nwPqaCiAHBNuxRtuaIH","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-xK62b4nEd/ei3xDdRNOOCl9YyDRliPUvS8dtna07xFFR1nwPqaCiAHBNuxRtuaIH\" 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-LUOvfZc9KcFqZGKjtE2G6gg3guW7LS6DIvZBA0Mqf4qnyzwUh5EG86a5XXJp4Lyl","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["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-LUOvfZc9KcFqZGKjtE2G6gg3guW7LS6DIvZBA0Mqf4qnyzwUh5EG86a5XXJp4Lyl\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q","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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-fqVHxFNirz7+lNdo6RyMGcSABK6RIBNOw+iEQ/Ea6/c5UP+9dqS+Qt4I26HW5B7q\" 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-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55","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-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55\" 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-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55\" 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-4oEJ1WQ36fRu6m4gNDOZykKE7vBb+Hjb3SCrpK6fLUEbw3n0K5IP+eEAOgXXLN6B","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-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-4oEJ1WQ36fRu6m4gNDOZykKE7vBb+Hjb3SCrpK6fLUEbw3n0K5IP+eEAOgXXLN6B\" 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-30eVMRgp3BZf/wqP7A2s3/n3G62zmxdAyRX1m7dktVcAXDAva/pAdALScLNtY/2D","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-30eVMRgp3BZf/wqP7A2s3/n3G62zmxdAyRX1m7dktVcAXDAva/pAdALScLNtY/2D\" 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-GNqHiINJmPj5jwlIbFd3WQ2FfQy9VwJ6gZEjisE/TmS23X7RjCEz5YL81gKSVD5c","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"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-GNqHiINJmPj5jwlIbFd3WQ2FfQy9VwJ6gZEjisE/TmS23X7RjCEz5YL81gKSVD5c\" 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-RNehzQHiymgsOQl1VH//TZQeAQyx1F3W7tBEjS/o02V9GoAaqFISm8gt6xFn0xse","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-RNehzQHiymgsOQl1VH//TZQeAQyx1F3W7tBEjS/o02V9GoAaqFISm8gt6xFn0xse\" 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-nj5ld5CCWbfFoRiOSAdTKuZqK97b9HnROryFnZI8bDC8/ASzsLeqQdK5dI71lsq+","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-nj5ld5CCWbfFoRiOSAdTKuZqK97b9HnROryFnZI8bDC8/ASzsLeqQdK5dI71lsq+\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X","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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-MBKsP+YZGmQ/TOcM1VDm7E0qB5EOP5W+MbUWVtfjiP1J0pIDSUi5SWbj1bgY74+X\" 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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" 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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" 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-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO\" 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-SSTG1RUFoIjmfKCE2kvXqr3T0EfIHCys9RQ1NI+DtzhqGtRncZ9IYKEsXhyPV7gN","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-SSTG1RUFoIjmfKCE2kvXqr3T0EfIHCys9RQ1NI+DtzhqGtRncZ9IYKEsXhyPV7gN\" 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-YMc5RAwC0wy15F04IiCfyDsWCDpY4orw4Mt9+3oiO+8zNpzmsXWydqaBA+PTLdpo","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"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-YMc5RAwC0wy15F04IiCfyDsWCDpY4orw4Mt9+3oiO+8zNpzmsXWydqaBA+PTLdpo\" 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":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-/lrJX10JhiaXgpDAv0tf4R7ycgOaBRG+8oDasqHnD9MomT8ZGiykoh5+/vCJSJsr","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/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=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-/lrJX10JhiaXgpDAv0tf4R7ycgOaBRG+8oDasqHnD9MomT8ZGiykoh5+/vCJSJsr\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":false,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/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-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"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-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" 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>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-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=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"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-sKkGeAjsGUgLLaWb4UtIBEaBY+/9/oPiURNUuHNEJDvsNuwvexY8SQag1QsOPJQO","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-sKkGeAjsGUgLLaWb4UtIBEaBY+/9/oPiURNUuHNEJDvsNuwvexY8SQag1QsOPJQO\" 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-RD6XMWZvRaam/1XF9HAsXE+XutNjsboygfmxLMP9JJEnZ0LdIHqR+gYGWE1Y6Gzq","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-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-RD6XMWZvRaam/1XF9HAsXE+XutNjsboygfmxLMP9JJEnZ0LdIHqR+gYGWE1Y6Gzq\" 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-g9iK/zw5CvcyhNWdWHe8n2S/O22tv3PhQhoCe45ArdX5dL2YRBBRl/hFjktel1UU","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"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-g9iK/zw5CvcyhNWdWHe8n2S/O22tv3PhQhoCe45ArdX5dL2YRBBRl/hFjktel1UU\" 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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28","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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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-6BLnoGxxah2nBlYZe3+9dY5xquKg1exSyIUNazvQz7/0sJM4ROA4aHjRGjNMQL28\" 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" }, "bundle": "all-people-groups" } @@ -35,7 +35,7 @@ "bundle": "big-picture", "scriptUrl": "./big-picture/big-picture.js", "output": "doxa-maps/big-picture/big-picture.js", - "integrity": "sha384-a9W2VPCO3zJ+1pqWQadGso72rNPTfmZgO4aoGtZN7RDFQpVQbeTvy8JBsGi9VH43", + "integrity": "sha384-LUOvfZc9KcFqZGKjtE2G6gg3guW7LS6DIvZBA0Mqf4qnyzwUh5EG86a5XXJp4Lyl", "elements": [ "bp-big-picture", "bp-research-header", @@ -57,7 +57,7 @@ "scriptUrl": "./big-picture/big-picture.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -154,7 +154,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-11tC7IzM7DM66gTcAlLSb0bwA7TTkfKYmdrYdiGlBTy9eLVhYCjKgD+LmhZ+qLwO", + "integrity": "sha384-Hz695w/9J1maAa0H9nynW2C6KvE6ltlaaTV9rtkNLDEHnxuI53dXZtiLL7JtVF55", "elements": [ "country-posters-map" ], @@ -170,7 +170,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -184,7 +184,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -193,7 +193,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-w8aVTRyH8dlsHIjJMHrFe6QbnZaafEb3wGjykrVlqWvj+I0S5eMwXfyBHy/SS/X0", + "integrity": "sha384-4oEJ1WQ36fRu6m4gNDOZykKE7vBb+Hjb3SCrpK6fLUEbw3n0K5IP+eEAOgXXLN6B", "elements": [ "dashboard-plus-grid" ], @@ -213,7 +213,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -237,7 +237,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "doxa-maps/demo-map/demo-map.js", - "integrity": "sha384-yLc6o2sikAUcTgqEszWaO9whzFZnBAZoO4gPXJhG3tzvfKaDpK2mhAW3qXwrycDO", + "integrity": "sha384-30eVMRgp3BZf/wqP7A2s3/n3G62zmxdAyRX1m7dktVcAXDAva/pAdALScLNtY/2D", "elements": [ "demo-map" ], @@ -253,7 +253,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -331,7 +331,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-ugm8PXu3KYQmGJoQnOUaICqt07r17kQa1bINkKsrUgt89uENqvd87rxT2NBeyC9/", + "integrity": "sha384-RNehzQHiymgsOQl1VH//TZQeAQyx1F3W7tBEjS/o02V9GoAaqFISm8gt6xFn0xse", "elements": [ "doxa-research-map" ], @@ -347,7 +347,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -356,7 +356,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-fl3Eh//QzBhOEpF3OJcfZDXOdpyb/yxiQ5aEroT23Onjya6wvBlx+F2dUB6FiBZu", + "integrity": "sha384-nj5ld5CCWbfFoRiOSAdTKuZqK97b9HnROryFnZI8bDC8/ASzsLeqQdK5dI71lsq+", "elements": [ "doxa-map", "doxa-simple-map" @@ -373,7 +373,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -623,7 +623,7 @@ "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-HnFFKkrNrn1G3n0Ytk55taH2k/0xGwgWh2vQwJZZWN6F2TTOD2X7vnMq8eqSXpnE", + "integrity": "sha384-we1vxOSsKO6L9jEWyO9RgD7mwBuR9HsBiCkk7vYS/zAADO3T7oXkpED2XeOd8tzO", "elements": [ "my-upg-100-list-map" ], @@ -643,7 +643,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -657,7 +657,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -671,7 +671,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -680,7 +680,7 @@ "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", + "integrity": "sha384-SSTG1RUFoIjmfKCE2kvXqr3T0EfIHCys9RQ1NI+DtzhqGtRncZ9IYKEsXhyPV7gN", "elements": [ "people-groups-grid" ], @@ -696,7 +696,7 @@ "scriptUrl": "./people-groups-grid/people-groups-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -741,7 +741,7 @@ "bundle": "plugin-studio", "scriptUrl": "./plugin-studio/plugin-studio.js", "output": "doxa-maps/plugin-studio/plugin-studio.js", - "integrity": "sha384-VuTJ3Db517xAN7nyV6VKdM0YJH6ToDwxyCjjAEeK69x8KompgYFCHWs29Q0BkfJp", + "integrity": "sha384-YMc5RAwC0wy15F04IiCfyDsWCDpY4orw4Mt9+3oiO+8zNpzmsXWydqaBA+PTLdpo", "elements": [ "plugin-studio" ], @@ -769,7 +769,7 @@ "scriptUrl": "./plugin-studio/plugin-studio.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -796,7 +796,7 @@ "bundle": "prayer-walk-planner", "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "output": "doxa-maps/prayer-walk-planner/prayer-walk-planner.js", - "integrity": "sha384-+XBRYgeeX8JLpdYcc+oGtkQf+Zgc2JkFK6/tlMBh5qghF9rNAJLk1lwVxWkU0cKx", + "integrity": "sha384-/lrJX10JhiaXgpDAv0tf4R7ycgOaBRG+8oDasqHnD9MomT8ZGiykoh5+/vCJSJsr", "elements": [ "prayer-walk-planner" ], @@ -812,7 +812,7 @@ "scriptUrl": "./prayer-walk-planner/prayer-walk-planner.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -821,7 +821,7 @@ "bundle": "regions-dashboard", "scriptUrl": "./regions-dashboard/regions-dashboard.js", "output": "doxa-maps/regions-dashboard/regions-dashboard.js", - "integrity": "sha384-5QpUDIMXiWozhCtGWtXmkcbZPjuqaGMDKU5RrudhFcbMMWxfTI+OhnNbbhHAlYxv", + "integrity": "sha384-jSSCXCZ3Z6JEFDmap/W92BrPfKdpjl7pMh/t/MbkN3MxY1cYAjrq3NZsUnvfsxan", "elements": [ "regions-dashboard" ], @@ -841,7 +841,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -855,7 +855,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -869,7 +869,7 @@ "scriptUrl": "./regions-dashboard/regions-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -878,7 +878,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-sQL0nI6tuJD+PpCrg4TbNH5QwazCgMmk/oLwCH7QVbtoh4uYdoPhIPdokF1WLTgT", + "integrity": "sha384-sKkGeAjsGUgLLaWb4UtIBEaBY+/9/oPiURNUuHNEJDvsNuwvexY8SQag1QsOPJQO", "elements": [ "research-dashboard-map" ], @@ -894,7 +894,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } diff --git a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js index e259a5012..14f83eb6f 100644 --- a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js @@ -6,14 +6,14 @@ * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ut;class yi{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&&ut&&(ut.active?(this.parent=ut,this.index=(ut.scopes||(ut.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(ut===this)ut=this.prevScope;else{let t=ut;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 o,n;for(o=0,n=this.effects.length;o0)return;if(Mn){let t=Mn;for(Mn=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Pn;){let t=Pn;for(Pn=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function xi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Si(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Ar(n),Gd(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Sr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ai(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ai(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Nn)||(e.globalVersion=Nn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Sr(e))))return;e.flags|=2;const t=e.dep,o=He,n=Ut;He=e,Ut=!0;try{xi(e);const a=e.fn(e._value);(t.version===0||Jt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{He=o,Ut=n,Si(e),e.flags&=-3}}function Ar(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)Ar(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Gd(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Ut=!0;const $i=[];function Zt(){$i.push(Ut),Ut=!1}function Xt(){const e=$i.pop();Ut=e===void 0?!0:e}function Li(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=He;He=void 0;try{t()}finally{He=o}}}let Nn=0;class Ud{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class $r{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||!Ut||He===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==He)o=this.activeLink=new Ud(He,this),He.deps?(o.prevDep=He.depsTail,He.depsTail.nextDep=o,He.depsTail=o):He.deps=He.depsTail=o,Ci(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=He.depsTail,o.nextDep=void 0,He.depsTail.nextDep=o,He.depsTail=o,He.deps===o&&(He.deps=n)}return o}trigger(t){this.version++,Nn++,this.notify(t)}notify(t){wr();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{xr()}}}function Ci(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Ci(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const _a=new WeakMap,Go=Symbol(""),Lr=Symbol(""),In=Symbol("");function xt(e,t,o){if(Ut&&He){let n=_a.get(e);n||_a.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new $r),a.map=n,a.key=o),a.track()}}function uo(e,t,o,n,a,r){const s=_a.get(e);if(!s){Nn++;return}const i=l=>{l&&l.trigger()};if(wr(),t==="clear")s.forEach(i);else{const l=ve(e),c=l&&ga(o);if(l&&o==="length"){const u=Number(n);s.forEach((p,g)=>{(g==="length"||g===In||!It(g)&&g>=u)&&i(p)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),c&&i(s.get(In)),t){case"add":l?c&&i(s.get("length")):(i(s.get(Go)),Co(e)&&i(s.get(Lr)));break;case"delete":l||(i(s.get(Go)),Co(e)&&i(s.get(Lr)));break;case"set":Co(e)&&i(s.get(Go));break}}xr()}function Kd(e,t){const o=_a.get(e);return o&&o.get(t)}function tn(e){const t=Me(e);return t===e?t:(xt(t,"iterate",In),Ft(e)?t:t.map(Kt))}function va(e){return xt(e=Me(e),"iterate",In),e}function Qt(e,t){return fo(e)?nn(go(e)?Kt(t):t):Kt(t)}const zd={__proto__:null,[Symbol.iterator](){return Cr(this,Symbol.iterator,e=>Qt(this,e))},concat(...e){return tn(this).concat(...e.map(t=>ve(t)?tn(t):t))},entries(){return Cr(this,"entries",e=>(e[1]=Qt(this,e[1]),e))},every(e,t){return po(this,"every",e,t,void 0,arguments)},filter(e,t){return po(this,"filter",e,t,o=>o.map(n=>Qt(this,n)),arguments)},find(e,t){return po(this,"find",e,t,o=>Qt(this,o),arguments)},findIndex(e,t){return po(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return po(this,"findLast",e,t,o=>Qt(this,o),arguments)},findLastIndex(e,t){return po(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return po(this,"forEach",e,t,void 0,arguments)},includes(...e){return Er(this,"includes",e)},indexOf(...e){return Er(this,"indexOf",e)},join(e){return tn(this).join(e)},lastIndexOf(...e){return Er(this,"lastIndexOf",e)},map(e,t){return po(this,"map",e,t,void 0,arguments)},pop(){return Rn(this,"pop")},push(...e){return Rn(this,"push",e)},reduce(e,...t){return Ei(this,"reduce",e,t)},reduceRight(e,...t){return Ei(this,"reduceRight",e,t)},shift(){return Rn(this,"shift")},some(e,t){return po(this,"some",e,t,void 0,arguments)},splice(...e){return Rn(this,"splice",e)},toReversed(){return tn(this).toReversed()},toSorted(e){return tn(this).toSorted(e)},toSpliced(...e){return tn(this).toSpliced(...e)},unshift(...e){return Rn(this,"unshift",e)},values(){return Cr(this,"values",e=>Qt(this,e))}};function Cr(e,t,o){const n=va(e),a=n[t]();return n!==e&&!Ft(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const Hd=Array.prototype;function po(e,t,o,n,a,r){const s=va(e),i=s!==e&&!Ft(e),l=s[t];if(l!==Hd[t]){const p=l.apply(e,r);return i?Kt(p):p}let c=o;s!==e&&(i?c=function(p,g){return o.call(this,Qt(e,p),g,e)}:o.length>2&&(c=function(p,g){return o.call(this,p,g,e)}));const u=l.call(s,c,n);return i&&a?a(u):u}function Ei(e,t,o,n){const a=va(e),r=a!==e&&!Ft(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(c,u,p){return i&&(i=!1,c=Qt(e,c)),o.call(this,c,Qt(e,u),p,e)}):o.length>3&&(s=function(c,u,p){return o.call(this,c,u,p,e)}));const l=a[t](s,...n);return i?Qt(e,l):l}function Er(e,t,o){const n=Me(e);xt(n,"iterate",In);const a=n[t](...o);return(a===-1||a===!1)&&Aa(o[0])?(o[0]=Me(o[0]),n[t](...o)):a}function Rn(e,t,o=[]){Zt(),wr();const n=Me(e)[t].apply(e,o);return xr(),Xt(),n}const Vd=hr("__proto__,__v_isRef,__isVue"),Ti=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(It));function Wd(e){It(e)||(e=String(e));const t=Me(this);return xt(t,"has",e),t.hasOwnProperty(e)}class Pi{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?Oi:Fi:r?Ri:Ii).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=ve(t);if(!a){let l;if(s&&(l=zd[o]))return l;if(o==="hasOwnProperty")return Wd}const i=Reflect.get(t,o,Je(t)?t:n);if((It(o)?Ti.has(o):Vd(o))||(a||xt(t,"get",o),r))return i;if(Je(i)){const l=s&&ga(o)?i:i.value;return a&&Be(l)?Pr(l):l}return Be(i)?a?Pr(i):on(i):i}}class Mi extends Pi{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=ve(t)&&ga(o);if(!this._isShallow){const c=fo(r);if(!Ft(n)&&!fo(n)&&(r=Me(r),n=Me(n)),!s&&Je(r)&&!Je(n))return c||(r.value=n),!0}const i=s?Number(o)e,ka=e=>Reflect.getPrototypeOf(e);function Xd(e,t,o){return function(...n){const a=this.__v_raw,r=Me(a),s=Co(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,c=a[e](...n),u=o?Tr:t?nn:Kt;return!t&&xt(r,"iterate",l?Lr:Go),ot(Object.create(c),{next(){const{value:p,done:g}=c.next();return g?{value:p,done:g}:{value:i?[u(p[0]),u(p[1])]:u(p),done:g}}})}}function wa(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Qd(e,t){const o={get(a){const r=this.__v_raw,s=Me(r),i=Me(a);e||(Jt(a,i)&&xt(s,"get",a),xt(s,"get",i));const{has:l}=ka(s),c=t?Tr:e?nn:Kt;if(l.call(s,a))return c(r.get(a));if(l.call(s,i))return c(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&xt(Me(a),"iterate",Go),a.size},has(a){const r=this.__v_raw,s=Me(r),i=Me(a);return e||(Jt(a,i)&&xt(s,"has",a),xt(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Me(i),c=t?Tr:e?nn:Kt;return!e&&xt(l,"iterate",Go),i.forEach((u,p)=>a.call(r,c(u),c(p),s))}};return ot(o,e?{add:wa("add"),set:wa("set"),delete:wa("delete"),clear:wa("clear")}:{add(a){const r=Me(this),s=ka(r),i=Me(a),l=!t&&!Ft(a)&&!fo(a)?i:a;return s.has.call(r,l)||Jt(a,l)&&s.has.call(r,a)||Jt(i,l)&&s.has.call(r,i)||(r.add(l),uo(r,"add",l,l)),this},set(a,r){!t&&!Ft(r)&&!fo(r)&&(r=Me(r));const s=Me(this),{has:i,get:l}=ka(s);let c=i.call(s,a);c||(a=Me(a),c=i.call(s,a));const u=l.call(s,a);return s.set(a,r),c?Jt(r,u)&&uo(s,"set",a,r):uo(s,"add",a,r),this},delete(a){const r=Me(this),{has:s,get:i}=ka(r);let l=s.call(r,a);l||(a=Me(a),l=s.call(r,a)),i&&i.call(r,a);const c=r.delete(a);return l&&uo(r,"delete",a,void 0),c},clear(){const a=Me(this),r=a.size!==0,s=a.clear();return r&&uo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Xd(a,e,t)}),o}function xa(e,t){const o=Qd(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Re(o,a)&&a in n?o:n,a,r)}const ep={get:xa(!1,!1)},tp={get:xa(!1,!0)},op={get:xa(!0,!1)},np={get:xa(!0,!0)},Ii=new WeakMap,Ri=new WeakMap,Fi=new WeakMap,Oi=new WeakMap;function ap(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function on(e){return fo(e)?e:Sa(e,!1,Yd,ep,Ii)}function rp(e){return Sa(e,!1,Jd,tp,Ri)}function Pr(e){return Sa(e,!0,qd,op,Fi)}function bw(e){return Sa(e,!0,Zd,np,Oi)}function Sa(e,t,o,n,a){if(!Be(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=ap(Pd(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function go(e){return fo(e)?go(e.__v_raw):!!(e&&e.__v_isReactive)}function fo(e){return!!(e&&e.__v_isReadonly)}function Ft(e){return!!(e&&e.__v_isShallow)}function Aa(e){return e?!!e.__v_raw:!1}function Me(e){const t=e&&e.__v_raw;return t?Me(t):e}function Uo(e){return!Re(e,"__v_skip")&&Object.isExtensible(e)&&di(e,"__v_skip",!0),e}const Kt=e=>Be(e)?on(e):e,nn=e=>Be(e)?Pr(e):e;function Je(e){return e?e.__v_isRef===!0:!1}function ue(e){return Di(e,!1)}function an(e){return Di(e,!0)}function Di(e,t){return Je(e)?e:new sp(e,t)}class sp{constructor(t,o){this.dep=new $r,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Me(t),this._value=o?t:Kt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ft(t)||fo(t);t=n?t:Me(t),Jt(t,o)&&(this._rawValue=t,this._value=n?t:Kt(t),this.dep.trigger())}}function be(e){return Je(e)?e.value:e}const ip={get:(e,t,o)=>t==="__v_raw"?e:be(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Je(a)&&!Je(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Bi(e){return go(e)?e:new Proxy(e,ip)}function lp(e){const t=ve(e)?new Array(e.length):{};for(const o in e)t[o]=ji(e,o);return t}class cp{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=It(o)?o:String(o),this._raw=Me(t);let a=!0,r=t;if(!ve(t)||It(this._key)||!ga(this._key))do a=!Aa(r)||Ft(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=be(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Je(this._raw[this._key])){const o=this._object[this._key];if(Je(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Kd(this._raw,this._key)}}class up{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function dp(e,t,o){return Je(e)?e:we(e)?new up(e):Be(e)&&arguments.length>1?ji(e,t,o):ue(e)}function ji(e,t,o){return new cp(e,t,o)}class pp{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new $r(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Nn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&He!==this)return wi(this,!0),!0}get value(){const t=this.dep.track();return Ai(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function gp(e,t,o=!1){let n,a;return we(e)?n=e:(n=e.get,a=e.set),new pp(n,a,o)}const $a={},La=new WeakMap;let Ko;function fp(e,t=!1,o=Ko){if(o){let n=La.get(o);n||La.set(o,n=[]),n.push(e)}}function hp(e,t,o=Ue){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,c=y=>a?y:Ft(y)||a===!1||a===0?ho(y,1):ho(y);let u,p,g,x,w=!1,h=!1;if(Je(e)?(p=()=>e.value,w=Ft(e)):go(e)?(p=()=>c(e),w=!0):ve(e)?(h=!0,w=e.some(y=>go(y)||Ft(y)),p=()=>e.map(y=>{if(Je(y))return y.value;if(go(y))return c(y);if(we(y))return l?l(y,2):y()})):we(e)?t?p=l?()=>l(e,2):e:p=()=>{if(g){Zt();try{g()}finally{Xt()}}const y=Ko;Ko=u;try{return l?l(e,3,[x]):e(x)}finally{Ko=y}}:p=qt,t&&a){const y=p,m=a===!0?1/0:a;p=()=>ho(y(),m)}const d=_i(),_=()=>{u.stop(),d&&d.active&&mr(d.effects,u)};if(r&&t){const y=t;t=(...m)=>{const $=y(...m);return _(),$}}let k=h?new Array(e.length).fill($a):$a;const v=y=>{if(!(!(u.flags&1)||!u.dirty&&!y))if(t){const m=u.run();if(y||a||w||(h?m.some(($,L)=>Jt($,k[L])):Jt(m,k))){g&&g();const $=Ko;Ko=u;try{const L=[m,k===$a?void 0:h&&k[0]===$a?[]:k,x];k=m,l?l(t,3,L):t(...L)}finally{Ko=$}}}else u.run()};return i&&i(v),u=new vi(p),u.scheduler=s?()=>s(v,!1):v,x=y=>fp(y,!1,u),g=u.onStop=()=>{const y=La.get(u);if(y){if(l)l(y,4);else for(const m of y)m();La.delete(u)}},t?n?v(!0):k=u.run():s?s(v.bind(null,!0),!0):u.run(),_.pause=u.pause.bind(u),_.resume=u.resume.bind(u),_.stop=_,_}function ho(e,t=1/0,o){if(t<=0||!Be(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Je(e))ho(e.value,t,o);else if(ve(e))for(let n=0;n{ho(n,t,o)});else if(pa(e)){for(const n in e)ho(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&ho(e[n],t,o)}return e}/** +**/let ut;class yi{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&&ut&&(ut.active?(this.parent=ut,this.index=(ut.scopes||(ut.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(ut===this)ut=this.prevScope;else{let t=ut;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 o,n;for(o=0,n=this.effects.length;o0)return;if(Mn){let t=Mn;for(Mn=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Pn;){let t=Pn;for(Pn=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function xi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Si(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Ar(n),Gd(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Sr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ai(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ai(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Nn)||(e.globalVersion=Nn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Sr(e))))return;e.flags|=2;const t=e.dep,o=He,n=Ut;He=e,Ut=!0;try{xi(e);const a=e.fn(e._value);(t.version===0||Jt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{He=o,Ut=n,Si(e),e.flags&=-3}}function Ar(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)Ar(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Gd(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Ut=!0;const $i=[];function Zt(){$i.push(Ut),Ut=!1}function Xt(){const e=$i.pop();Ut=e===void 0?!0:e}function Li(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=He;He=void 0;try{t()}finally{He=o}}}let Nn=0;class Ud{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class $r{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||!Ut||He===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==He)o=this.activeLink=new Ud(He,this),He.deps?(o.prevDep=He.depsTail,He.depsTail.nextDep=o,He.depsTail=o):He.deps=He.depsTail=o,Ci(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=He.depsTail,o.nextDep=void 0,He.depsTail.nextDep=o,He.depsTail=o,He.deps===o&&(He.deps=n)}return o}trigger(t){this.version++,Nn++,this.notify(t)}notify(t){wr();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{xr()}}}function Ci(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Ci(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const _a=new WeakMap,Go=Symbol(""),Lr=Symbol(""),In=Symbol("");function xt(e,t,o){if(Ut&&He){let n=_a.get(e);n||_a.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new $r),a.map=n,a.key=o),a.track()}}function uo(e,t,o,n,a,r){const s=_a.get(e);if(!s){Nn++;return}const i=l=>{l&&l.trigger()};if(wr(),t==="clear")s.forEach(i);else{const l=ve(e),c=l&&ga(o);if(l&&o==="length"){const u=Number(n);s.forEach((p,g)=>{(g==="length"||g===In||!It(g)&&g>=u)&&i(p)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),c&&i(s.get(In)),t){case"add":l?c&&i(s.get("length")):(i(s.get(Go)),Co(e)&&i(s.get(Lr)));break;case"delete":l||(i(s.get(Go)),Co(e)&&i(s.get(Lr)));break;case"set":Co(e)&&i(s.get(Go));break}}xr()}function Kd(e,t){const o=_a.get(e);return o&&o.get(t)}function tn(e){const t=Me(e);return t===e?t:(xt(t,"iterate",In),Ft(e)?t:t.map(Kt))}function va(e){return xt(e=Me(e),"iterate",In),e}function Qt(e,t){return fo(e)?nn(go(e)?Kt(t):t):Kt(t)}const zd={__proto__:null,[Symbol.iterator](){return Cr(this,Symbol.iterator,e=>Qt(this,e))},concat(...e){return tn(this).concat(...e.map(t=>ve(t)?tn(t):t))},entries(){return Cr(this,"entries",e=>(e[1]=Qt(this,e[1]),e))},every(e,t){return po(this,"every",e,t,void 0,arguments)},filter(e,t){return po(this,"filter",e,t,o=>o.map(n=>Qt(this,n)),arguments)},find(e,t){return po(this,"find",e,t,o=>Qt(this,o),arguments)},findIndex(e,t){return po(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return po(this,"findLast",e,t,o=>Qt(this,o),arguments)},findLastIndex(e,t){return po(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return po(this,"forEach",e,t,void 0,arguments)},includes(...e){return Er(this,"includes",e)},indexOf(...e){return Er(this,"indexOf",e)},join(e){return tn(this).join(e)},lastIndexOf(...e){return Er(this,"lastIndexOf",e)},map(e,t){return po(this,"map",e,t,void 0,arguments)},pop(){return Rn(this,"pop")},push(...e){return Rn(this,"push",e)},reduce(e,...t){return Ei(this,"reduce",e,t)},reduceRight(e,...t){return Ei(this,"reduceRight",e,t)},shift(){return Rn(this,"shift")},some(e,t){return po(this,"some",e,t,void 0,arguments)},splice(...e){return Rn(this,"splice",e)},toReversed(){return tn(this).toReversed()},toSorted(e){return tn(this).toSorted(e)},toSpliced(...e){return tn(this).toSpliced(...e)},unshift(...e){return Rn(this,"unshift",e)},values(){return Cr(this,"values",e=>Qt(this,e))}};function Cr(e,t,o){const n=va(e),a=n[t]();return n!==e&&!Ft(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const Hd=Array.prototype;function po(e,t,o,n,a,r){const s=va(e),i=s!==e&&!Ft(e),l=s[t];if(l!==Hd[t]){const p=l.apply(e,r);return i?Kt(p):p}let c=o;s!==e&&(i?c=function(p,g){return o.call(this,Qt(e,p),g,e)}:o.length>2&&(c=function(p,g){return o.call(this,p,g,e)}));const u=l.call(s,c,n);return i&&a?a(u):u}function Ei(e,t,o,n){const a=va(e),r=a!==e&&!Ft(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(c,u,p){return i&&(i=!1,c=Qt(e,c)),o.call(this,c,Qt(e,u),p,e)}):o.length>3&&(s=function(c,u,p){return o.call(this,c,u,p,e)}));const l=a[t](s,...n);return i?Qt(e,l):l}function Er(e,t,o){const n=Me(e);xt(n,"iterate",In);const a=n[t](...o);return(a===-1||a===!1)&&Aa(o[0])?(o[0]=Me(o[0]),n[t](...o)):a}function Rn(e,t,o=[]){Zt(),wr();const n=Me(e)[t].apply(e,o);return xr(),Xt(),n}const Vd=hr("__proto__,__v_isRef,__isVue"),Ti=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(It));function Wd(e){It(e)||(e=String(e));const t=Me(this);return xt(t,"has",e),t.hasOwnProperty(e)}class Pi{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?Oi:Fi:r?Ri:Ii).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=ve(t);if(!a){let l;if(s&&(l=zd[o]))return l;if(o==="hasOwnProperty")return Wd}const i=Reflect.get(t,o,Je(t)?t:n);if((It(o)?Ti.has(o):Vd(o))||(a||xt(t,"get",o),r))return i;if(Je(i)){const l=s&&ga(o)?i:i.value;return a&&Be(l)?Pr(l):l}return Be(i)?a?Pr(i):on(i):i}}class Mi extends Pi{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=ve(t)&&ga(o);if(!this._isShallow){const c=fo(r);if(!Ft(n)&&!fo(n)&&(r=Me(r),n=Me(n)),!s&&Je(r)&&!Je(n))return c||(r.value=n),!0}const i=s?Number(o)e,ka=e=>Reflect.getPrototypeOf(e);function Xd(e,t,o){return function(...n){const a=this.__v_raw,r=Me(a),s=Co(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,c=a[e](...n),u=o?Tr:t?nn:Kt;return!t&&xt(r,"iterate",l?Lr:Go),ot(Object.create(c),{next(){const{value:p,done:g}=c.next();return g?{value:p,done:g}:{value:i?[u(p[0]),u(p[1])]:u(p),done:g}}})}}function wa(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Qd(e,t){const o={get(a){const r=this.__v_raw,s=Me(r),i=Me(a);e||(Jt(a,i)&&xt(s,"get",a),xt(s,"get",i));const{has:l}=ka(s),c=t?Tr:e?nn:Kt;if(l.call(s,a))return c(r.get(a));if(l.call(s,i))return c(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&&xt(Me(a),"iterate",Go),a.size},has(a){const r=this.__v_raw,s=Me(r),i=Me(a);return e||(Jt(a,i)&&xt(s,"has",a),xt(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Me(i),c=t?Tr:e?nn:Kt;return!e&&xt(l,"iterate",Go),i.forEach((u,p)=>a.call(r,c(u),c(p),s))}};return ot(o,e?{add:wa("add"),set:wa("set"),delete:wa("delete"),clear:wa("clear")}:{add(a){const r=Me(this),s=ka(r),i=Me(a),l=!t&&!Ft(a)&&!fo(a)?i:a;return s.has.call(r,l)||Jt(a,l)&&s.has.call(r,a)||Jt(i,l)&&s.has.call(r,i)||(r.add(l),uo(r,"add",l,l)),this},set(a,r){!t&&!Ft(r)&&!fo(r)&&(r=Me(r));const s=Me(this),{has:i,get:l}=ka(s);let c=i.call(s,a);c||(a=Me(a),c=i.call(s,a));const u=l.call(s,a);return s.set(a,r),c?Jt(r,u)&&uo(s,"set",a,r):uo(s,"add",a,r),this},delete(a){const r=Me(this),{has:s,get:i}=ka(r);let l=s.call(r,a);l||(a=Me(a),l=s.call(r,a)),i&&i.call(r,a);const c=r.delete(a);return l&&uo(r,"delete",a,void 0),c},clear(){const a=Me(this),r=a.size!==0,s=a.clear();return r&&uo(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=Xd(a,e,t)}),o}function xa(e,t){const o=Qd(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Re(o,a)&&a in n?o:n,a,r)}const ep={get:xa(!1,!1)},tp={get:xa(!1,!0)},op={get:xa(!0,!1)},np={get:xa(!0,!0)},Ii=new WeakMap,Ri=new WeakMap,Fi=new WeakMap,Oi=new WeakMap;function ap(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function on(e){return fo(e)?e:Sa(e,!1,Yd,ep,Ii)}function rp(e){return Sa(e,!1,Jd,tp,Ri)}function Pr(e){return Sa(e,!0,qd,op,Fi)}function bw(e){return Sa(e,!0,Zd,np,Oi)}function Sa(e,t,o,n,a){if(!Be(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=ap(Pd(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function go(e){return fo(e)?go(e.__v_raw):!!(e&&e.__v_isReactive)}function fo(e){return!!(e&&e.__v_isReadonly)}function Ft(e){return!!(e&&e.__v_isShallow)}function Aa(e){return e?!!e.__v_raw:!1}function Me(e){const t=e&&e.__v_raw;return t?Me(t):e}function Uo(e){return!Re(e,"__v_skip")&&Object.isExtensible(e)&&di(e,"__v_skip",!0),e}const Kt=e=>Be(e)?on(e):e,nn=e=>Be(e)?Pr(e):e;function Je(e){return e?e.__v_isRef===!0:!1}function ue(e){return Di(e,!1)}function an(e){return Di(e,!0)}function Di(e,t){return Je(e)?e:new sp(e,t)}class sp{constructor(t,o){this.dep=new $r,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Me(t),this._value=o?t:Kt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ft(t)||fo(t);t=n?t:Me(t),Jt(t,o)&&(this._rawValue=t,this._value=n?t:Kt(t),this.dep.trigger())}}function be(e){return Je(e)?e.value:e}const ip={get:(e,t,o)=>t==="__v_raw"?e:be(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Je(a)&&!Je(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Bi(e){return go(e)?e:new Proxy(e,ip)}function lp(e){const t=ve(e)?new Array(e.length):{};for(const o in e)t[o]=ji(e,o);return t}class cp{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=It(o)?o:String(o),this._raw=Me(t);let a=!0,r=t;if(!ve(t)||It(this._key)||!ga(this._key))do a=!Aa(r)||Ft(r);while(a&&(r=r.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=be(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Je(this._raw[this._key])){const o=this._object[this._key];if(Je(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return Kd(this._raw,this._key)}}class up{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function dp(e,t,o){return Je(e)?e:we(e)?new up(e):Be(e)&&arguments.length>1?ji(e,t,o):ue(e)}function ji(e,t,o){return new cp(e,t,o)}class pp{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new $r(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Nn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&He!==this)return wi(this,!0),!0}get value(){const t=this.dep.track();return Ai(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function gp(e,t,o=!1){let n,a;return we(e)?n=e:(n=e.get,a=e.set),new pp(n,a,o)}const $a={},La=new WeakMap;let Ko;function fp(e,t=!1,o=Ko){if(o){let n=La.get(o);n||La.set(o,n=[]),n.push(e)}}function hp(e,t,o=Ue){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,c=y=>a?y:Ft(y)||a===!1||a===0?ho(y,1):ho(y);let u,p,g,x,w=!1,_=!1;if(Je(e)?(p=()=>e.value,w=Ft(e)):go(e)?(p=()=>c(e),w=!0):ve(e)?(_=!0,w=e.some(y=>go(y)||Ft(y)),p=()=>e.map(y=>{if(Je(y))return y.value;if(go(y))return c(y);if(we(y))return l?l(y,2):y()})):we(e)?t?p=l?()=>l(e,2):e:p=()=>{if(g){Zt();try{g()}finally{Xt()}}const y=Ko;Ko=u;try{return l?l(e,3,[x]):e(x)}finally{Ko=y}}:p=qt,t&&a){const y=p,h=a===!0?1/0:a;p=()=>ho(y(),h)}const d=_i(),m=()=>{u.stop(),d&&d.active&&mr(d.effects,u)};if(r&&t){const y=t;t=(...h)=>{const A=y(...h);return m(),A}}let v=_?new Array(e.length).fill($a):$a;const k=y=>{if(!(!(u.flags&1)||!u.dirty&&!y))if(t){const h=u.run();if(y||a||w||(_?h.some((A,L)=>Jt(A,v[L])):Jt(h,v))){g&&g();const A=Ko;Ko=u;try{const L=[h,v===$a?void 0:_&&v[0]===$a?[]:v,x];v=h,l?l(t,3,L):t(...L)}finally{Ko=A}}}else u.run()};return i&&i(k),u=new vi(p),u.scheduler=s?()=>s(k,!1):k,x=y=>fp(y,!1,u),g=u.onStop=()=>{const y=La.get(u);if(y){if(l)l(y,4);else for(const h of y)h();La.delete(u)}},t?n?k(!0):v=u.run():s?s(k.bind(null,!0),!0):u.run(),m.pause=u.pause.bind(u),m.resume=u.resume.bind(u),m.stop=m,m}function ho(e,t=1/0,o){if(t<=0||!Be(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Je(e))ho(e.value,t,o);else if(ve(e))for(let n=0;n{ho(n,t,o)});else if(pa(e)){for(const n in e)ho(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&ho(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const Fn=[];let Mr=!1;function yw(e,...t){if(Mr)return;Mr=!0,Zt();const o=Fn.length?Fn[Fn.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=mp();if(n)rn(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${jl(o,r.type)}>`).join(` `),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(` `,...bp(a)),console.warn(...r)}Xt(),Mr=!1}function mp(){let e=Fn[Fn.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function bp(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...yp(o))}),t}function yp({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${jl(e.component,e.type,n)}`,r=">"+o;return e.props?[a,..._p(e.props),r]:[a+r]}function _p(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Gi(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Gi(e,t,o){return ze(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Je(t)?(t=Gi(e,Me(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):we(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Me(t),o?t:[`${e}=`,t])}function rn(e,t,o,n){try{return n?e(...n):e()}catch(a){On(a,t,o)}}function zt(e,t,o,n){if(we(e)){const a=rn(e,t,o,n);return a&&ci(a)&&a.catch(r=>{On(r,t,o)}),a}if(ve(e)){const a=[];for(let r=0;r>>1,a=Lt[n],r=Dn(a);r=Dn(o)?Lt.push(e):Lt.splice(kp(t),0,e),e.flags|=1,Ki()}}function Ki(){Ca||(Ca=Ui.then(Vi))}function wp(e){if(!ve(e))Eo&&e.id===-1?Eo.splice(ln+1,0,e):e.flags&1||(sn.push(e),e.flags|=1);else for(let t=0;tDn(o)-Dn(n));if(sn.length=0,Eo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Vi(e){try{for(eo=0;eo{n._d&&Ba(-1);const r=Ea(t),s=_o.length;let i;try{i=e(...a)}finally{for(let l=_o.length;l>s;l--)Jr();Ea(r),n._d&&Ba(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function xp(e,t){if(_t===null)return e;const o=Ka(_t),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&we(t)?t.call(n&&n.proxy):t}}function Sp(){return!!(ko()||Vo)}const Ap=Symbol.for("v-scx"),$p=()=>Ee(Ap);function Lp(e,t){return Ir(e,null,t)}function nt(e,t,o){return Ir(e,t,o)}function Ir(e,t,o=Ue){const{immediate:n,deep:a,flush:r,once:s}=o,i=ot({},o),l=t&&n||!t&&r!=="post";let c;if(pn){if(r==="sync"){const x=$p();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=qt,x.resume=qt,x.pause=qt,x}}const u=vt;i.call=(x,w,h)=>zt(x,u,w,h);let p=!1;r==="post"?i.scheduler=x=>{Et(x,u&&u.suspense)}:r!=="sync"&&(p=!0,i.scheduler=(x,w)=>{w?x():Nr(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const g=hp(e,t,i);return pn&&(c?c.push(g):l&&g()),g}function Cp(e,t,o){const n=this.proxy,a=ze(e)?e.includes(".")?Yi(n,e):()=>n[e]:e.bind(n,n);let r;we(t)?r=t:(r=t.handler,o=t);const s=qn(this),i=Ir(a,r.bind(n),o);return s(),i}function Yi(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Ho=e=>e&&(e.disabled||e.disabled===""),Ep=e=>e&&(e.defer||e.defer===""),Ji=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Zi=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Rr=(e,t)=>{const o=e&&e.to;return ze(o)?t?t(o):null:o},Tp={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,c){const{mc:u,pc:p,pbc:g,o:{insert:x,querySelector:w,createText:h,createComment:d,parentNode:_}}=c,k=Ho(t.props);let{dynamicChildren:v}=t;const y=(L,R,M)=>{L.shapeFlag&16&&u(L.children,R,M,a,r,s,i,l)},m=(L=t)=>{const R=Ho(L.props),M=L.target=Rr(L.props,w),I=Fr(M,L,h,x);M&&(s!=="svg"&&Ji(M)?s="svg":s!=="mathml"&&Zi(M)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(M),R||(y(L,M,I),Bn(L,!1)))},$=L=>{const R=()=>{if(To.get(L)===R){if(To.delete(L),Ho(L.props)){const M=_(L.el)||o;y(L,M,L.anchor),Bn(L,!0)}m(L)}};To.set(L,R),Et(R,r)};if(e==null){const L=t.el=h(""),R=t.anchor=h("");if(x(L,o,n),x(R,o,n),Ep(t.props)||r&&r.pendingBranch){$(t);return}k&&(y(t,o,R),Bn(t,!0)),m()}else{t.el=e.el;const L=t.anchor=e.anchor,R=To.get(e);if(R){R.flags|=8,To.delete(e),$(t);return}t.targetStart=e.targetStart;const M=t.target=e.target,I=t.targetAnchor=e.targetAnchor,C=Ho(e.props),F=C?o:M,H=C?L:I;if(s==="svg"||Ji(M)?s="svg":(s==="mathml"||Zi(M))&&(s="mathml"),v?(g(e.dynamicChildren,v,F,a,r,s,i),Yr(e,t,!0)):l||p(e,t,F,H,a,r,s,i,!1),k)C?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Pa(t,o,L,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const G=Rr(t.props,w);G&&(t.target=G,Pa(t,G,null,c,0))}else C&&Pa(t,M,I,c,1);Bn(t,k)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:g}=e,x=Ho(g),w=r||!x,h=To.get(e);if(h&&(h.flags|=8,To.delete(e)),p&&(a(c),a(u)),r&&a(l),!h&&(x||p)&&s&16)for(let d=0;d1){for(const o of e)if(o.type!==oo){t=o;break}}return t}function Xi(e){if(!Ia(e))return Ta(e.type)&&e.children?Np(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&we(o.default))return o.default()}}function Dr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Dr(Ta(o.type)&&Xi(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function jn(e,t){return we(e)?ot({name:e.name},t,{setup:e}):e}function Br(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Qi(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ma=new WeakMap;function Gn(e,t,o,n,a=!1){if(ve(e)){e.forEach((h,d)=>Gn(h,t&&(ve(t)?t[d]:t),o,n,a));return}if(cn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Gn(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?Ka(n.component):n.el,s=a?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===Ue?i.refs={}:i.refs,p=i.setupState,g=Me(p),x=p===Ue?ii:h=>Qi(u,h)?!1:Re(g,h),w=(h,d)=>!(d&&Qi(u,d));if(c!=null&&c!==l){if(el(t),ze(c))u[c]=null,x(c)&&(p[c]=null);else if(Je(c)){const h=t;w(c,h.k)&&(c.value=null),h.k&&(u[h.k]=null)}}if(we(l))rn(l,i,12,[s,u]);else{const h=ze(l),d=Je(l);if(h||d){const _=()=>{if(e.f){const k=h?x(l)?p[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)ve(k)&&mr(k,r);else if(ve(k))k.includes(r)||k.push(r);else if(h)u[l]=[r],x(l)&&(p[l]=u[l]);else{const v=[r];w(l,e.k)&&(l.value=v),e.k&&(u[e.k]=v)}}else h?(u[l]=s,x(l)&&(p[l]=s)):d&&(w(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const k=()=>{_(),Ma.delete(e)};k.id=-1,Ma.set(e,k),Et(k,o)}else el(e),_()}}}function el(e){const t=Ma.get(e);t&&(t.flags|=8,Ma.delete(e))}const tl=e=>e.nodeType===8;ba().requestIdleCallback,ba().cancelIdleCallback;function Ip(e,t){if(tl(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(tl(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const cn=e=>!!e.type.__asyncLoader;function ol(e){we(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const g=()=>(p++,c=null,x()),x=()=>{let w;return c||(w=c=t().catch(h=>{if(h=h instanceof Error?h:new Error(String(h)),l)return new Promise((d,_)=>{l(h,()=>d(g()),()=>_(h),p+1)});throw h}).then(h=>w!==c&&c?c:(h&&(h.__esModule||h[Symbol.toStringTag]==="Module")&&(h=h.default),u=h,h)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(w,h,d){const _=w.isConnected;let k=!1;(h.bu||(h.bu=[])).push(()=>k=!0);const v=()=>{k||!w.parentNode||_&&!w.isConnected||d()},y=r?()=>{const m=r(v,$=>Ip(w,$));m&&(h.bum||(h.bum=[])).push(m)}:v;u?y():x().then(()=>!h.isUnmounted&&y())},get __asyncResolved(){return u},setup(){const w=vt;if(Br(w),u)return()=>Na(u,w);const h=m=>{c=null,On(m,w,13,!n)};if(i&&w.suspense||pn)return x().then(m=>()=>Na(m,w)).catch(m=>(h(m),()=>n?je(n,{error:m}):null));const d=ue(!1),_=ue(),k=ue(!!a);let v,y;return Fa(()=>{v!=null&&clearTimeout(v),y!=null&&clearTimeout(y)}),a&&(y=setTimeout(()=>{w.isUnmounted||(k.value=!1)},a)),s!=null&&(v=setTimeout(()=>{if(!w.isUnmounted&&!d.value&&!_.value){const m=new Error(`Async component timed out after ${s}ms.`);h(m),_.value=m}},s)),x().then(()=>{w.isUnmounted||(d.value=!0,w.parent&&Ia(w.parent.vnode)&&w.parent.update())}).catch(m=>{if(w.isUnmounted){c=null;return}h(m),_.value=m}),()=>{if(d.value&&u)return Na(u,w);if(_.value&&n)return je(n,{error:_.value});if(o&&!k.value)return Na(o,w)}}})}function Na(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=je(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Ia=e=>e.type.__isKeepAlive;function Rp(e,t){nl(e,"a",t)}function Fp(e,t){nl(e,"da",t)}function nl(e,t,o=vt){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ra(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Ia(a.parent.vnode)&&Op(n,t,o,a),a=a.parent}}function Op(e,t,o,n){const a=Ra(t,e,n,!0);Fa(()=>{mr(n[t],a)},o)}function Ra(e,t,o=vt,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{Zt();const i=qn(o),l=zt(t,o,e,s);return i(),Xt(),l});return n?a.unshift(r):a.push(r),r}}const bo=e=>(t,o=vt)=>{(!pn||e==="sp")&&Ra(e,(...n)=>t(...n),o)},al=bo("bm"),to=bo("m"),Dp=bo("bu"),Bp=bo("u"),yo=bo("bum"),Fa=bo("um"),jp=bo("sp"),Gp=bo("rtg"),Up=bo("rtc");function Kp(e,t=vt){Ra("ec",e,t)}const zp="components",rl=Symbol.for("v-ndc");function sl(e){return ze(e)?Hp(zp,e,!1)||e:e||rl}function Hp(e,t,o=!0,n=!1){const a=_t||vt;if(a){const r=a.type;{const i=Bl(r,!1);if(i&&(i===t||i===gt(t)||i===ha(gt(t))))return r}const s=il(a[e]||r[e],t)||il(a.appContext[e],t);return!s&&n?r:s}}function il(e,t){return e&&(e[t]||e[gt(t)]||e[ha(gt(t))])}function St(e,t,o,n){let a;const r=o,s=ve(e);if(s||ze(e)){const i=s&&go(e);let l=!1,c=!1;i&&(l=!Ft(e),c=fo(e),e=va(e)),a=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),W(),rt($e,null,[je("slot",c,n)],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=_o.length;W();let l;try{const c=s&&ll(s(o)),u=o.key||r||c&&c.key;l=rt($e,{key:(u&&!It(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=_o.length;u>i;u--)Jr();throw c}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function ll(e){return e.some(t=>Vn(t)?!(t.type===oo||t.type===$e&&!ll(t.children)):!0)?e:null}const jr=e=>e?Fl(e)?Ka(e):jr(e.parent):null,Un=ot(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=>jr(e.parent),$root:e=>jr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>pl(e),$forceUpdate:e=>e.f||(e.f=()=>{Nr(e.update)}),$nextTick:e=>e.n||(e.n=mo.bind(e.proxy)),$watch:e=>Cp.bind(e)}),Gr=(e,t)=>e!==Ue&&!e.__isScriptSetup&&Re(e,t),Vp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const g=s[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(Gr(n,t))return s[t]=1,n[t];if(a!==Ue&&Re(a,t))return s[t]=2,a[t];if(Re(r,t))return s[t]=3,r[t];if(o!==Ue&&Re(o,t))return s[t]=4,o[t];Ur&&(s[t]=0)}}const c=Un[t];let u,p;if(c)return t==="$attrs"&&xt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ue&&Re(o,t))return s[t]=4,o[t];if(p=l.config.globalProperties,Re(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return Gr(a,t)?(a[t]=o,!0):n!==Ue&&Re(n,t)?(n[t]=o,!0):Re(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==Ue&&i[0]!=="$"&&Re(e,i)||Gr(t,i)||Re(r,i)||Re(n,i)||Re(Un,i)||Re(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Re(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function cl(e){return ve(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Ur=!0;function Wp(e){const t=pl(e),o=e.proxy,n=e.ctx;Ur=!1,t.beforeCreate&&ul(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:g,beforeUpdate:x,updated:w,activated:h,deactivated:d,beforeDestroy:_,beforeUnmount:k,destroyed:v,unmounted:y,render:m,renderTracked:$,renderTriggered:L,errorCaptured:R,serverPrefetch:M,expose:I,inheritAttrs:C,components:F,directives:H,filters:G}=t;if(c&&Yp(c,n,null),s)for(const T in s){const se=s[T];we(se)&&(n[T]=se.bind(o))}if(a){const T=a.call(o,o);Be(T)&&(e.data=on(T))}if(Ur=!0,r)for(const T in r){const se=r[T],ye=we(se)?se.bind(o,o):we(se.get)?se.get.bind(o,o):qt,ae=!we(se)&&we(se.set)?se.set.bind(o):qt,oe=ee({get:ye,set:ae});Object.defineProperty(n,T,{enumerable:!0,configurable:!0,get:()=>oe.value,set:fe=>oe.value=fe})}if(i)for(const T in i)dl(i[T],n,o,T);if(l){const T=we(l)?l.call(o):l;Reflect.ownKeys(T).forEach(se=>{Pt(se,T[se])})}u&&ul(u,e,"c");function B(T,se){ve(se)?se.forEach(ye=>T(ye.bind(o))):se&&T(se.bind(o))}if(B(al,p),B(to,g),B(Dp,x),B(Bp,w),B(Rp,h),B(Fp,d),B(Kp,R),B(Up,$),B(Gp,L),B(yo,k),B(Fa,y),B(jp,M),ve(I))if(I.length){const T=e.exposed||(e.exposed={});I.forEach(se=>{Object.defineProperty(T,se,{get:()=>o[se],set:ye=>o[se]=ye,enumerable:!0})})}else e.exposed||(e.exposed={});m&&e.render===qt&&(e.render=m),C!=null&&(e.inheritAttrs=C),F&&(e.components=F),H&&(e.directives=H),M&&Br(e)}function Yp(e,t,o=qt){ve(e)&&(e=Kr(e));for(const n in e){const a=e[n];let r;Be(a)?"default"in a?r=Ee(a.from||n,a.default,!0):r=Ee(a.from||n):r=Ee(a),Je(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function ul(e,t,o){zt(ve(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function dl(e,t,o,n){let a=n.includes(".")?Yi(o,n):()=>o[n];if(ze(e)){const r=t[e];we(r)&&nt(a,r)}else if(we(e))nt(a,e.bind(o));else if(Be(e))if(ve(e))e.forEach(r=>dl(r,t,o,n));else{const r=we(e.handler)?e.handler.bind(o):t[e.handler];we(r)&&nt(a,r,e)}}function pl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Oa(l,c,s,!0)),Oa(l,t,s)),Be(t)&&r.set(t,l),l}function Oa(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Oa(e,r,o,!0),a&&a.forEach(s=>Oa(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=qp[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const qp={data:gl,props:fl,emits:fl,methods:Kn,computed:Kn,beforeCreate:Ct,created:Ct,beforeMount:Ct,mounted:Ct,beforeUpdate:Ct,updated:Ct,beforeDestroy:Ct,beforeUnmount:Ct,destroyed:Ct,unmounted:Ct,activated:Ct,deactivated:Ct,errorCaptured:Ct,serverPrefetch:Ct,components:Kn,directives:Kn,watch:Zp,provide:gl,inject:Jp};function gl(e,t){return t?e?function(){return ot(we(e)?e.call(this,this):e,we(t)?t.call(this,this):t)}:t:e}function Jp(e,t){return Kn(Kr(e),Kr(t))}function Kr(e){if(ve(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${gt(t)}Modifiers`]||e[`${Rt(t)}Modifiers`];function tg(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ue;let a=o;const r=t.startsWith("update:"),s=r&&eg(n,t.slice(7));s&&(s.trim&&(a=o.map(u=>ze(u)?u.trim():u)),s.number&&(a=a.map(yr)));let i,l=n[i=br(t)]||n[i=br(gt(t))];!l&&r&&(l=n[i=br(Rt(t))]),l&&zt(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,zt(c,e,6,a)}}const og=new WeakMap;function ml(e,t,o=!1){const n=o?og:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!we(e)){const l=c=>{const u=ml(c,t,!0);u&&(i=!0,ot(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Be(e)&&n.set(e,null),null):(ve(r)?r.forEach(l=>s[l]=null):ot(s,r),Be(e)&&n.set(e,s),s)}function Da(e,t){return!e||!ca(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Re(e,t[0].toLowerCase()+t.slice(1))||Re(e,Rt(t))||Re(e,t))}function _w(){}function bl(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:p,data:g,setupState:x,ctx:w,inheritAttrs:h}=e,d=Ea(e);let _,k;try{if(o.shapeFlag&4){const y=a||n,m=y;_=no(c.call(m,y,u,p,x,g,w)),k=i}else{const y=t;_=no(y.length>1?y(p,{attrs:i,slots:s,emit:l}):y(p,null)),k=t.props?i:ng(i)}}catch(y){_o.length=0,On(y,e,1),_=je(oo)}let v=_;if(k&&h!==!1){const y=Object.keys(k),{shapeFlag:m}=v;y.length&&m&7&&(r&&y.some(ua)&&(k=ag(k,r)),v=dn(v,k,!1,!0))}if(o.dirs&&(v=dn(v,null,!1,!0),v.dirs=v.dirs?v.dirs.concat(o.dirs):o.dirs),o.transition){const y=Ta(v.type)&&Xi(v)||v;Dr(y,o.transition)}return _=v,Ea(d),_}const ng=e=>{let t;for(const o in e)(o==="class"||o==="style"||ca(o))&&((t||(t={}))[o]=e[o]);return t},ag=(e,t)=>{const o={};for(const n in e)(!ua(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function rg(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?yl(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(vl),wl=e=>Object.getPrototypeOf(e)===vl;function ig(e,t,o,n=!1){const a={},r=kl();e.propsDefaults=Object.create(null),xl(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:rp(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function lg(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Me(a),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[g,x]=Sl(p,t,!0);ot(s,g),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return Be(e)&&n.set(e,en),en;if(ve(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Vr=e=>ve(e)?e.map(no):[no(e)],ug=(e,t,o)=>{if(t._n)return t;const n=jt((...a)=>Vr(t(...a)),o);return n._c=!1,n},$l=(e,t,o)=>{const n=e._ctx;for(const a in e){if(Hr(a))continue;const r=e[a];if(we(r))t[a]=ug(a,r,n);else if(r!=null){const s=Vr(r);t[a]=()=>s}}},Ll=(e,t)=>{const o=Vr(t);e.slots.default=()=>o},Cl=(e,t,o)=>{for(const n in t)(o||!Hr(n))&&(e[n]=t[n])},dg=(e,t,o)=>{const n=e.slots=kl();if(e.vnode.shapeFlag&32){const a=t._;a?(Cl(n,t,o),o&&di(n,"_",a,!0)):$l(t,n)}else t&&Ll(e,t)},pg=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=Ue;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:Cl(a,t,o):(r=!t.$stable,$l(t,a)),s=t}else t&&(Ll(e,t),s={default:1});if(r)for(const i in a)!Hr(i)&&s[i]==null&&delete a[i]},Et=bg;function gg(e){return fg(e)}function fg(e,t){const o=ba();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:g,setScopeId:x=qt,insertStaticContent:w}=e,h=(A,N,E,K=null,Y=null,Z=null,X=void 0,q=null,f=!!N.dynamicChildren)=>{if(A===N)return;A&&!Wn(A,N)&&(K=mt(A),fe(A,Y,Z,!0),A=null),N.patchFlag===-2&&(f=!1,N.dynamicChildren=null);const{type:b,ref:D,shapeFlag:V}=N;switch(b){case zn:d(A,N,E,K);break;case oo:_(A,N,E,K);break;case qr:A==null&&k(N,E,K,X);break;case $e:F(A,N,E,K,Y,Z,X,q,f);break;default:V&1?m(A,N,E,K,Y,Z,X,q,f):V&6?H(A,N,E,K,Y,Z,X,q,f):(V&64||V&128)&&b.process(A,N,E,K,Y,Z,X,q,f,Ye)}D!=null&&Y?Gn(D,A&&A.ref,Z,N||A,!N):D==null&&A&&A.ref!=null&&Gn(A.ref,null,Z,A,!0)},d=(A,N,E,K)=>{if(A==null)n(N.el=i(N.children),E,K);else{const Y=N.el=A.el;N.children!==A.children&&c(Y,N.children)}},_=(A,N,E,K)=>{A==null?n(N.el=l(N.children||""),E,K):N.el=A.el},k=(A,N,E,K)=>{[A.el,A.anchor]=w(A.children,N,E,K,A.el,A.anchor)},v=({el:A,anchor:N},E,K)=>{let Y;for(;A&&A!==N;)Y=g(A),n(A,E,K),A=Y;n(N,E,K)},y=({el:A,anchor:N})=>{let E;for(;A&&A!==N;)E=g(A),a(A),A=E;a(N)},m=(A,N,E,K,Y,Z,X,q,f)=>{if(N.type==="svg"?X="svg":N.type==="math"&&(X="mathml"),A==null)$(N,E,K,Y,Z,X,q,f);else{const b=A.el&&A.el._isVueCE?A.el:null;try{b&&b._beginPatch(),M(A,N,Y,Z,X,q,f)}finally{b&&b._endPatch()}}},$=(A,N,E,K,Y,Z,X,q)=>{let f,b;const{props:D,shapeFlag:V,transition:ie,dirs:re}=A;if(f=A.el=s(A.type,Z,D&&D.is,D),V&8?u(f,A.children):V&16&&R(A.children,f,null,K,Y,Wr(A,Z),X,q),re&&zo(A,null,K,"created"),L(f,A,A.scopeId,X,K),D){for(const S in D)S!=="value"&&!Tn(S)&&r(f,S,null,D[S],Z,K);"value"in D&&r(f,"value",null,D.value,Z),(b=D.onVnodeBeforeMount)&&ao(b,K,A)}re&&zo(A,null,K,"beforeMount");const j=hg(Y,ie);j&&ie.beforeEnter(f),n(f,N,E),((b=D&&D.onVnodeMounted)||j||re)&&Et(()=>{try{b&&ao(b,K,A),j&&ie.enter(f),re&&zo(A,null,K,"mounted")}finally{}},Y)},L=(A,N,E,K,Y)=>{if(E&&x(A,E),K)for(let Z=0;Z{for(let b=f;b{const q=N.el=A.el;let{patchFlag:f,dynamicChildren:b,dirs:D}=N;f|=A.patchFlag&16;const V=A.props||Ue,ie=N.props||Ue;let re;if(E&&Wo(E,!1),(re=ie.onVnodeBeforeUpdate)&&ao(re,E,N,A),D&&zo(N,A,E,"beforeUpdate"),E&&Wo(E,!0),b&&(!A.dynamicChildren||A.dynamicChildren.length!==b.length)&&(f=0,X=!1,b=null),(V.innerHTML&&ie.innerHTML==null||V.textContent&&ie.textContent==null)&&u(q,""),b?I(A.dynamicChildren,b,q,E,K,Wr(N,Y),Z):X||se(A,N,q,null,E,K,Wr(N,Y),Z,!1),f>0){if(f&16)C(q,V,ie,E,Y);else if(f&2&&V.class!==ie.class&&r(q,"class",null,ie.class,Y),f&4&&r(q,"style",V.style,ie.style,Y),f&8){const j=N.dynamicProps;for(let S=0;S{re&&ao(re,E,N,A),D&&zo(N,A,E,"updated")},K)},I=(A,N,E,K,Y,Z,X)=>{for(let q=0;q{if(N!==E){if(N!==Ue)for(const Z in N)!Tn(Z)&&!(Z in E)&&r(A,Z,N[Z],null,Y,K);for(const Z in E){if(Tn(Z))continue;const X=E[Z],q=N[Z];X!==q&&Z!=="value"&&r(A,Z,q,X,Y,K)}"value"in E&&r(A,"value",N.value,E.value,Y)}},F=(A,N,E,K,Y,Z,X,q,f)=>{const b=N.el=A?A.el:i(""),D=N.anchor=A?A.anchor:i("");let{patchFlag:V,dynamicChildren:ie,slotScopeIds:re}=N;re&&(q=q?q.concat(re):re),A==null?(n(b,E,K),n(D,E,K),R(N.children||[],E,D,Y,Z,X,q,f)):V>0&&V&64&&ie&&A.dynamicChildren&&A.dynamicChildren.length===ie.length?(I(A.dynamicChildren,ie,E,Y,Z,X,q),(N.key!=null||Y&&N===Y.subTree)&&Yr(A,N,!0)):se(A,N,E,D,Y,Z,X,q,f)},H=(A,N,E,K,Y,Z,X,q,f)=>{N.slotScopeIds=q,A==null?N.shapeFlag&512?Y.ctx.activate(N,E,K,X,f):G(N,E,K,Y,Z,X,f):U(A,N,f)},G=(A,N,E,K,Y,Z,X)=>{const q=A.component=xg(A,K,Y);if(Ia(A)&&(q.ctx.renderer=Ye),Sg(q,!1,X),q.asyncDep){if(Y&&Y.registerDep(q,B,X),!A.el){const f=q.subTree=je(oo);_(null,f,N,E),A.placeholder=f.el}}else B(q,A,N,E,Y,Z,X)},U=(A,N,E)=>{const K=N.component=A.component;if(rg(A,N,E))if(K.asyncDep&&!K.asyncResolved){T(K,N,E);return}else K.next=N,K.update();else N.el=A.el,K.vnode=N},B=(A,N,E,K,Y,Z,X)=>{const q=()=>{if(A.isMounted){let{next:V,bu:ie,u:re,parent:j,vnode:S}=A;{const Le=El(A);if(Le){V&&(V.el=S.el,T(A,V,X)),Le.asyncDep.then(()=>{Et(()=>{A.isUnmounted||b()},Y)});return}}let O=V,ne;Wo(A,!1),V?(V.el=S.el,T(A,V,X)):V=S,ie&&ma(ie),(ne=V.props&&V.props.onVnodeBeforeUpdate)&&ao(ne,j,V,S),Wo(A,!0);const ce=bl(A),ge=A.subTree;A.subTree=ce,h(ge,ce,p(ge.el),mt(ge),A,Y,Z),V.el=ce.el,O===null&&sg(A,ce.el),re&&Et(re,Y),(ne=V.props&&V.props.onVnodeUpdated)&&Et(()=>ao(ne,j,V,S),Y)}else{let V;const{el:ie,props:re}=N,{bm:j,m:S,parent:O,root:ne,type:ce}=A,ge=cn(N);Wo(A,!1),j&&ma(j),!ge&&(V=re&&re.onVnodeBeforeMount)&&ao(V,O,N),Wo(A,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(ce,A.parent?A.parent.type:void 0);const Le=A.subTree=bl(A);h(null,Le,E,K,A,Y,Z),N.el=Le.el}if(S&&Et(S,Y),!ge&&(V=re&&re.onVnodeMounted)){const Le=N;Et(()=>ao(V,O,Le),Y)}(N.shapeFlag&256||O&&cn(O.vnode)&&O.vnode.shapeFlag&256)&&A.a&&Et(A.a,Y),A.isMounted=!0,N=E=K=null}};A.scope.on();const f=A.effect=new vi(q);A.scope.off();const b=A.update=f.run.bind(f),D=A.job=f.runIfDirty.bind(f);D.i=A,D.id=A.uid,f.scheduler=()=>Nr(D),Wo(A,!0),b()},T=(A,N,E)=>{N.component=A;const K=A.vnode.props;A.vnode=N,A.next=null,lg(A,N.props,K,E),pg(A,N.children,E),Zt(),zi(A),Xt()},se=(A,N,E,K,Y,Z,X,q,f=!1)=>{const b=A&&A.children,D=A?A.shapeFlag:0,V=N.children,{patchFlag:ie,shapeFlag:re}=N;if(ie>0){if(ie&128){ae(b,V,E,K,Y,Z,X,q,f);return}else if(ie&256){ye(b,V,E,K,Y,Z,X,q,f);return}}re&8?(D&16&&Qe(b,Y,Z),V!==b&&u(E,V)):D&16?re&16?ae(b,V,E,K,Y,Z,X,q,f):Qe(b,Y,Z,!0):(D&8&&u(E,""),re&16&&R(V,E,K,Y,Z,X,q,f))},ye=(A,N,E,K,Y,Z,X,q,f)=>{A=A||en,N=N||en;const b=A.length,D=N.length,V=Math.min(b,D);let ie;for(ie=0;ieD?Qe(A,Y,Z,!0,!1,V):R(N,E,K,Y,Z,X,q,f,V)},ae=(A,N,E,K,Y,Z,X,q,f)=>{let b=0;const D=N.length;let V=A.length-1,ie=D-1;for(;b<=V&&b<=ie;){const re=A[b],j=N[b]=f?vo(N[b]):no(N[b]);if(Wn(re,j))h(re,j,E,null,Y,Z,X,q,f);else break;b++}for(;b<=V&&b<=ie;){const re=A[V],j=N[ie]=f?vo(N[ie]):no(N[ie]);if(Wn(re,j))h(re,j,E,null,Y,Z,X,q,f);else break;V--,ie--}if(b>V){if(b<=ie){const re=ie+1,j=reie)for(;b<=V;)fe(A[b],Y,Z,!0),b++;else{const re=b,j=b,S=new Map;for(b=j;b<=ie;b++){const Fe=N[b]=f?vo(N[b]):no(N[b]);Fe.key!=null&&S.set(Fe.key,b)}let O,ne=0;const ce=ie-j+1;let ge=!1,Le=0;const _e=new Array(ce);for(b=0;b=ce){fe(Fe,Y,Z,!0);continue}let tt;if(Fe.key!=null)tt=S.get(Fe.key);else for(O=j;O<=ie;O++)if(_e[O-j]===0&&Wn(Fe,N[O])){tt=O;break}tt===void 0?fe(Fe,Y,Z,!0):(_e[tt-j]=b+1,tt>=Le?Le=tt:ge=!0,h(Fe,N[tt],E,null,Y,Z,X,q,f),ne++)}const ct=ge?mg(_e):en;for(O=ct.length-1,b=ce-1;b>=0;b--){const Fe=j+b,tt=N[Fe],lo=N[Fe+1],fr=Fe+1{const{el:Z,type:X,transition:q,children:f,shapeFlag:b}=A;if(b&6){oe(A.component.subTree,N,E,K);return}if(b&128){A.suspense.move(N,E,K);return}if(b&64){X.move(A,N,E,Ye);return}if(X===$e){n(Z,N,E);for(let V=0;Vq.enter(Z),Y));else{const{leave:V,delayLeave:ie,afterLeave:re}=q,j=()=>{A.ctx.isUnmounted?a(Z):n(Z,N,E)},S=()=>{const O=Z._isLeaving||!!Z[Or];Z._isLeaving&&Z[Or](!0),q.persisted&&!O?j():V(Z,()=>{j(),re&&re()})};ie?ie(Z,j,S):S()}else n(Z,N,E)},fe=(A,N,E,K=!1,Y=!1)=>{const{type:Z,props:X,ref:q,children:f,dynamicChildren:b,shapeFlag:D,patchFlag:V,dirs:ie,cacheIndex:re,memo:j}=A;if(V===-2&&(Y=!1),q!=null&&(Zt(),Gn(q,null,E,A,!0),Xt()),re!=null&&(N.renderCache[re]=void 0),D&256){N.ctx.deactivate(A);return}const S=D&1&&ie,O=!cn(A);let ne;if(O&&(ne=X&&X.onVnodeBeforeUnmount)&&ao(ne,N,A),D&6)Xe(A.component,E,K);else{if(D&128){A.suspense.unmount(E,K);return}S&&zo(A,null,N,"beforeUnmount"),D&64?A.type.remove(A,N,E,Ye,K):b&&!b.hasOnce&&(Z!==$e||V>0&&V&64)?Qe(b,N,E,!1,!0):(Z===$e&&V&384||!Y&&D&16)&&Qe(f,N,E),K&&Pe(A)}const ce=j!=null&&re==null;(O&&(ne=X&&X.onVnodeUnmounted)||S||ce)&&Et(()=>{ne&&ao(ne,N,A),S&&zo(A,null,N,"unmounted"),ce&&(A.el=null)},E)},Pe=A=>{const{type:N,el:E,anchor:K,transition:Y}=A;if(N===$e){We(E,K);return}if(N===qr){y(A);return}const Z=()=>{a(E),Y&&!Y.persisted&&Y.afterLeave&&Y.afterLeave()};if(A.shapeFlag&1&&Y&&!Y.persisted){const{leave:X,delayLeave:q}=Y,f=()=>X(E,Z);q?q(A.el,Z,f):f()}else Z()},We=(A,N)=>{let E;for(;A!==N;)E=g(A),a(A),A=E;a(N)},Xe=(A,N,E)=>{const{bum:K,scope:Y,job:Z,subTree:X,um:q,m:f,a:b}=A;Tl(f),Tl(b),K&&ma(K),Y.stop(),Z&&(Z.flags|=8,fe(X,A,N,E)),q&&Et(q,N),Et(()=>{A.isUnmounted=!0},N)},Qe=(A,N,E,K=!1,Y=!1,Z=0)=>{for(let X=Z;X{if(A.shapeFlag&6)return mt(A.component.subTree);if(A.shapeFlag&128)return A.suspense.next();const N=g(A.anchor||A.el),E=N&&N[qi];return E?g(E):N};let Ke=!1;const it=(A,N,E)=>{let K;A==null?N._vnode&&(fe(N._vnode,null,null,!0),K=N._vnode.component):h(N._vnode||null,A,N,null,null,null,E),N._vnode=A,Ke||(Ke=!0,zi(K),Hi(),Ke=!1)},Ye={p:h,um:fe,m:oe,r:Pe,mt:G,mc:R,pc:se,pbc:I,n:mt,o:e};return{render:it,hydrate:void 0,createApp:Qp(it)}}function Wr({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Wo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function hg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Yr(e,t,o=!1){const n=e.children,a=t.children;if(ve(n)&&ve(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function El(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:El(t)}function Tl(e){if(e)for(let t=0;te.__isSuspense;function bg(e,t){t&&t.pendingBranch?ve(e)?t.effects.push(...e):t.effects.push(e):wp(e)}const $e=Symbol.for("v-fgt"),zn=Symbol.for("v-txt"),oo=Symbol.for("v-cmt"),qr=Symbol.for("v-stc"),_o=[];let Ot=null;function W(e=!1){_o.push(Ot=e?null:[])}function Jr(){_o.pop(),Ot=_o[_o.length-1]||null}let Hn=1;function Ba(e,t=!1){Hn+=e,e<0&&Ot&&t&&(Ot.hasOnce=!0)}function Nl(e){return e.dynamicChildren=Hn>0?Ot||en:null,Jr(),Hn>0&&Ot&&Ot.push(e),e}function Q(e,t,o,n,a,r){return Nl(P(e,t,o,n,a,r,!0))}function rt(e,t,o,n,a){return Nl(je(e,t,o,n,a,!0))}function Vn(e){return e?e.__v_isVNode===!0:!1}function Wn(e,t){return e.type===t.type&&e.key===t.key}const Il=({key:e})=>e??null,ja=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ze(e)||Je(e)||we(e)?{i:_t,r:e,k:t,f:!!o}:e:null);function P(e,t=null,o=null,n=0,a=null,r=e===$e?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Il(t),ref:t&&ja(t),scopeId:Wi,slotScopeIds:null,children:o,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:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:_t};return i?(Ga(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=ze(o)?8:16),Hn>0&&!s&&Ot&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Ot.push(l),l}const je=yg;function yg(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===rl)&&(e=oo),Vn(e)){const i=dn(e,t,!0);return o&&Ga(i,o),Hn>0&&!r&&Ot&&(i.shapeFlag&6?Ot[Ot.indexOf(e)]=i:Ot.push(i)),i.patchFlag=-2,i}if(Tg(e)&&(e=e.__vccOpts),t){t=_g(t);let{class:i,style:l}=t;i&&!ze(i)&&(t.class=Ae(i)),Be(l)&&(Aa(l)&&!ve(l)&&(l=ot({},l)),t.style=et(l))}const s=ze(e)?1:Ml(e)?128:Ta(e)?64:Be(e)?4:we(e)?2:0;return P(e,t,o,n,a,s,r,!0)}function _g(e){return e?Aa(e)||wl(e)?ot({},e):e:null}function dn(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,c=t?vg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Il(c),ref:t&&t.ref?o&&r?ve(r)?r.concat(ja(t)):[r,ja(t)]:ja(t):r,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!==$e?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&dn(e.ssContent),ssFallback:e.ssFallback&&dn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Dr(u,l.clone(u)),u}function dt(e=" ",t=0){return je(zn,null,e,t)}function me(e="",t=!1){return t?(W(),rt(oo,null,e)):je(oo,null,e)}function no(e){return e==null||typeof e=="boolean"?je(oo):ve(e)?je($e,null,e.slice()):Vn(e)?vo(e):je(zn,null,String(e))}function vo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:dn(e)}function Ga(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ve(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Ga(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!wl(t)?t._ctx=_t:a===3&&_t&&(_t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(we(t)){if(n&65){Ga(e,{default:t});return}t={default:t,_ctx:_t},o=32}else t=String(t),n&64?(o=16,t=[dt(t)]):o=8;e.children=t,e.shapeFlag|=o}function vg(...e){const t={};for(let o=0;ovt||_t;let Ua,Yn;{const e=ba(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};Ua=t("__VUE_INSTANCE_SETTERS__",o=>vt=o),Yn=t("__VUE_SSR_SETTERS__",o=>pn=o)}const qn=e=>{const t=vt;return Ua(e),e.scope.on(),()=>{e.scope.off(),Ua(t)}},Rl=()=>{vt&&vt.scope.off(),Ua(null)};function Fl(e){return e.vnode.shapeFlag&4}let pn=!1;function Sg(e,t=!1,o=!1){t&&Yn(t);const{props:n,children:a}=e.vnode,r=Fl(e);ig(e,n,r,t),dg(e,a,o||t);const s=r?Ag(e,t):void 0;return t&&Yn(!1),s}function Ag(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vp);const{setup:n}=o;if(n){Zt();const a=e.setupContext=n.length>1?Lg(e):null,r=qn(e),s=rn(n,e,0,[e.props,a]),i=ci(s);if(Xt(),r(),(i||e.sp)&&!cn(e)&&Br(e),i){if(s.then(Rl,Rl),t)return s.then(l=>{Yn(!0);try{Ol(e,l,t)}finally{Yn(!1)}}).catch(l=>{On(l,e,0)});e.asyncDep=s}else Ol(e,s)}else Dl(e)}function Ol(e,t,o){we(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Be(t)&&(e.setupState=Bi(t)),Dl(e)}function Dl(e,t,o){const n=e.type;e.render||(e.render=n.render||qt);{const a=qn(e);Zt();try{Wp(e)}finally{Xt(),a()}}}const $g={get(e,t){return xt(e,"get",""),e[t]}};function Lg(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,$g),slots:e.slots,emit:e.emit,expose:t}}function Ka(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Bi(Uo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Un)return Un[o](e)},has(t,o){return o in t||o in Un}})):e.proxy}const Cg=/(?:^|[-_])\w/g,Eg=e=>e.replace(Cg,t=>t.toUpperCase()).replace(/[-_]/g,"");function Bl(e,t=!0){return we(e)?e.displayName||e.name:e.name||t&&e.__name}function jl(e,t,o=!1){let n=Bl(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Eg(n):o?"App":"Anonymous"}function Tg(e){return we(e)&&"__vccOpts"in e}const ee=(e,t)=>gp(e,t,pn);function Gl(e,t,o){try{Ba(-1);const n=arguments.length;return n===2?Be(t)&&!ve(t)?Vn(t)?je(e,null,[t]):je(e,t):je(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Vn(o)&&(o=[o]),je(e,t,o))}finally{Ba(1)}}const Pg="3.5.42";/** +`],...yp(o))}),t}function yp({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${jl(e.component,e.type,n)}`,r=">"+o;return e.props?[a,..._p(e.props),r]:[a+r]}function _p(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Gi(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Gi(e,t,o){return ze(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Je(t)?(t=Gi(e,Me(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):we(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Me(t),o?t:[`${e}=`,t])}function rn(e,t,o,n){try{return n?e(...n):e()}catch(a){On(a,t,o)}}function zt(e,t,o,n){if(we(e)){const a=rn(e,t,o,n);return a&&ci(a)&&a.catch(r=>{On(r,t,o)}),a}if(ve(e)){const a=[];for(let r=0;r>>1,a=Lt[n],r=Dn(a);r=Dn(o)?Lt.push(e):Lt.splice(kp(t),0,e),e.flags|=1,Ki()}}function Ki(){Ca||(Ca=Ui.then(Vi))}function wp(e){if(!ve(e))Eo&&e.id===-1?Eo.splice(ln+1,0,e):e.flags&1||(sn.push(e),e.flags|=1);else for(let t=0;tDn(o)-Dn(n));if(sn.length=0,Eo){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function Vi(e){try{for(eo=0;eo{n._d&&Ba(-1);const r=Ea(t),s=_o.length;let i;try{i=e(...a)}finally{for(let l=_o.length;l>s;l--)Jr();Ea(r),n._d&&Ba(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function xp(e,t){if(_t===null)return e;const o=Ka(_t),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&we(t)?t.call(n&&n.proxy):t}}function Sp(){return!!(ko()||Vo)}const Ap=Symbol.for("v-scx"),$p=()=>Ee(Ap);function Lp(e,t){return Ir(e,null,t)}function nt(e,t,o){return Ir(e,t,o)}function Ir(e,t,o=Ue){const{immediate:n,deep:a,flush:r,once:s}=o,i=ot({},o),l=t&&n||!t&&r!=="post";let c;if(pn){if(r==="sync"){const x=$p();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=qt,x.resume=qt,x.pause=qt,x}}const u=vt;i.call=(x,w,_)=>zt(x,u,w,_);let p=!1;r==="post"?i.scheduler=x=>{Et(x,u&&u.suspense)}:r!=="sync"&&(p=!0,i.scheduler=(x,w)=>{w?x():Nr(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const g=hp(e,t,i);return pn&&(c?c.push(g):l&&g()),g}function Cp(e,t,o){const n=this.proxy,a=ze(e)?e.includes(".")?Yi(n,e):()=>n[e]:e.bind(n,n);let r;we(t)?r=t:(r=t.handler,o=t);const s=qn(this),i=Ir(a,r.bind(n),o);return s(),i}function Yi(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,Ho=e=>e&&(e.disabled||e.disabled===""),Ep=e=>e&&(e.defer||e.defer===""),Ji=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Zi=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Rr=(e,t)=>{const o=e&&e.to;return ze(o)?t?t(o):null:o},Tp={name:"Teleport",__isTeleport:!0,process(e,t,o,n,a,r,s,i,l,c){const{mc:u,pc:p,pbc:g,o:{insert:x,querySelector:w,createText:_,createComment:d,parentNode:m}}=c,v=Ho(t.props);let{dynamicChildren:k}=t;const y=(L,R,M)=>{L.shapeFlag&16&&u(L.children,R,M,a,r,s,i,l)},h=(L=t)=>{const R=Ho(L.props),M=L.target=Rr(L.props,w),I=Fr(M,L,_,x);M&&(s!=="svg"&&Ji(M)?s="svg":s!=="mathml"&&Zi(M)&&(s="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(M),R||(y(L,M,I),Bn(L,!1)))},A=L=>{const R=()=>{if(To.get(L)===R){if(To.delete(L),Ho(L.props)){const M=m(L.el)||o;y(L,M,L.anchor),Bn(L,!0)}h(L)}};To.set(L,R),Et(R,r)};if(e==null){const L=t.el=_(""),R=t.anchor=_("");if(x(L,o,n),x(R,o,n),Ep(t.props)||r&&r.pendingBranch){A(t);return}v&&(y(t,o,R),Bn(t,!0)),h()}else{t.el=e.el;const L=t.anchor=e.anchor,R=To.get(e);if(R){R.flags|=8,To.delete(e),A(t);return}t.targetStart=e.targetStart;const M=t.target=e.target,I=t.targetAnchor=e.targetAnchor,C=Ho(e.props),F=C?o:M,H=C?L:I;if(s==="svg"||Ji(M)?s="svg":(s==="mathml"||Zi(M))&&(s="mathml"),k?(g(e.dynamicChildren,k,F,a,r,s,i),Yr(e,t,!0)):l||p(e,t,F,H,a,r,s,i,!1),v)C?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Pa(t,o,L,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const G=Rr(t.props,w);G&&(t.target=G,Pa(t,G,null,c,0))}else C&&Pa(t,M,I,c,1);Bn(t,v)}},remove(e,t,o,{um:n,o:{remove:a}},r){const{shapeFlag:s,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:g}=e,x=Ho(g),w=r||!x,_=To.get(e);if(_&&(_.flags|=8,To.delete(e)),p&&(a(c),a(u)),r&&a(l),!_&&(x||p)&&s&16)for(let d=0;d1){for(const o of e)if(o.type!==oo){t=o;break}}return t}function Xi(e){if(!Ia(e))return Ta(e.type)&&e.children?Np(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&we(o.default))return o.default()}}function Dr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;Dr(Ta(o.type)&&Xi(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function jn(e,t){return we(e)?ot({name:e.name},t,{setup:e}):e}function Br(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Qi(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Ma=new WeakMap;function Gn(e,t,o,n,a=!1){if(ve(e)){e.forEach((_,d)=>Gn(_,t&&(ve(t)?t[d]:t),o,n,a));return}if(cn(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Gn(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?Ka(n.component):n.el,s=a?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===Ue?i.refs={}:i.refs,p=i.setupState,g=Me(p),x=p===Ue?ii:_=>Qi(u,_)?!1:Re(g,_),w=(_,d)=>!(d&&Qi(u,d));if(c!=null&&c!==l){if(el(t),ze(c))u[c]=null,x(c)&&(p[c]=null);else if(Je(c)){const _=t;w(c,_.k)&&(c.value=null),_.k&&(u[_.k]=null)}}if(we(l))rn(l,i,12,[s,u]);else{const _=ze(l),d=Je(l);if(_||d){const m=()=>{if(e.f){const v=_?x(l)?p[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)ve(v)&&mr(v,r);else if(ve(v))v.includes(r)||v.push(r);else if(_)u[l]=[r],x(l)&&(p[l]=u[l]);else{const k=[r];w(l,e.k)&&(l.value=k),e.k&&(u[e.k]=k)}}else _?(u[l]=s,x(l)&&(p[l]=s)):d&&(w(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const v=()=>{m(),Ma.delete(e)};v.id=-1,Ma.set(e,v),Et(v,o)}else el(e),m()}}}function el(e){const t=Ma.get(e);t&&(t.flags|=8,Ma.delete(e))}const tl=e=>e.nodeType===8;ba().requestIdleCallback,ba().cancelIdleCallback;function Ip(e,t){if(tl(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(tl(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const cn=e=>!!e.type.__asyncLoader;function ol(e){we(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const g=()=>(p++,c=null,x()),x=()=>{let w;return c||(w=c=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),l)return new Promise((d,m)=>{l(_,()=>d(g()),()=>m(_),p+1)});throw _}).then(_=>w!==c&&c?c:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),u=_,_)))};return jn({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(w,_,d){const m=w.isConnected;let v=!1;(_.bu||(_.bu=[])).push(()=>v=!0);const k=()=>{v||!w.parentNode||m&&!w.isConnected||d()},y=r?()=>{const h=r(k,A=>Ip(w,A));h&&(_.bum||(_.bum=[])).push(h)}:k;u?y():x().then(()=>!_.isUnmounted&&y())},get __asyncResolved(){return u},setup(){const w=vt;if(Br(w),u)return()=>Na(u,w);const _=h=>{c=null,On(h,w,13,!n)};if(i&&w.suspense||pn)return x().then(h=>()=>Na(h,w)).catch(h=>(_(h),()=>n?je(n,{error:h}):null));const d=ue(!1),m=ue(),v=ue(!!a);let k,y;return Fa(()=>{k!=null&&clearTimeout(k),y!=null&&clearTimeout(y)}),a&&(y=setTimeout(()=>{w.isUnmounted||(v.value=!1)},a)),s!=null&&(k=setTimeout(()=>{if(!w.isUnmounted&&!d.value&&!m.value){const h=new Error(`Async component timed out after ${s}ms.`);_(h),m.value=h}},s)),x().then(()=>{w.isUnmounted||(d.value=!0,w.parent&&Ia(w.parent.vnode)&&w.parent.update())}).catch(h=>{if(w.isUnmounted){c=null;return}_(h),m.value=h}),()=>{if(d.value&&u)return Na(u,w);if(m.value&&n)return je(n,{error:m.value});if(o&&!v.value)return Na(o,w)}}})}function Na(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=je(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Ia=e=>e.type.__isKeepAlive;function Rp(e,t){nl(e,"a",t)}function Fp(e,t){nl(e,"da",t)}function nl(e,t,o=vt){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ra(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Ia(a.parent.vnode)&&Op(n,t,o,a),a=a.parent}}function Op(e,t,o,n){const a=Ra(t,e,n,!0);Fa(()=>{mr(n[t],a)},o)}function Ra(e,t,o=vt,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{Zt();const i=qn(o),l=zt(t,o,e,s);return i(),Xt(),l});return n?a.unshift(r):a.push(r),r}}const bo=e=>(t,o=vt)=>{(!pn||e==="sp")&&Ra(e,(...n)=>t(...n),o)},al=bo("bm"),to=bo("m"),Dp=bo("bu"),Bp=bo("u"),yo=bo("bum"),Fa=bo("um"),jp=bo("sp"),Gp=bo("rtg"),Up=bo("rtc");function Kp(e,t=vt){Ra("ec",e,t)}const zp="components",rl=Symbol.for("v-ndc");function sl(e){return ze(e)?Hp(zp,e,!1)||e:e||rl}function Hp(e,t,o=!0,n=!1){const a=_t||vt;if(a){const r=a.type;{const i=Bl(r,!1);if(i&&(i===t||i===gt(t)||i===ha(gt(t))))return r}const s=il(a[e]||r[e],t)||il(a.appContext[e],t);return!s&&n?r:s}}function il(e,t){return e&&(e[t]||e[gt(t)]||e[ha(gt(t))])}function St(e,t,o,n){let a;const r=o,s=ve(e);if(s||ze(e)){const i=s&&go(e);let l=!1,c=!1;i&&(l=!Ft(e),c=fo(e),e=va(e)),a=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(c.name=t),W(),rt($e,null,[je("slot",c,n)],u?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const i=_o.length;W();let l;try{const c=s&&ll(s(o)),u=o.key||r||c&&c.key;l=rt($e,{key:(u&&!It(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=_o.length;u>i;u--)Jr();throw c}finally{s&&s._c&&(s._d=!0)}return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function ll(e){return e.some(t=>Vn(t)?!(t.type===oo||t.type===$e&&!ll(t.children)):!0)?e:null}const jr=e=>e?Fl(e)?Ka(e):jr(e.parent):null,Un=ot(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=>jr(e.parent),$root:e=>jr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>pl(e),$forceUpdate:e=>e.f||(e.f=()=>{Nr(e.update)}),$nextTick:e=>e.n||(e.n=mo.bind(e.proxy)),$watch:e=>Cp.bind(e)}),Gr=(e,t)=>e!==Ue&&!e.__isScriptSetup&&Re(e,t),Vp={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const g=s[t];if(g!==void 0)switch(g){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(Gr(n,t))return s[t]=1,n[t];if(a!==Ue&&Re(a,t))return s[t]=2,a[t];if(Re(r,t))return s[t]=3,r[t];if(o!==Ue&&Re(o,t))return s[t]=4,o[t];Ur&&(s[t]=0)}}const c=Un[t];let u,p;if(c)return t==="$attrs"&&xt(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Ue&&Re(o,t))return s[t]=4,o[t];if(p=l.config.globalProperties,Re(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return Gr(a,t)?(a[t]=o,!0):n!==Ue&&Re(n,t)?(n[t]=o,!0):Re(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==Ue&&i[0]!=="$"&&Re(e,i)||Gr(t,i)||Re(r,i)||Re(n,i)||Re(Un,i)||Re(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Re(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function cl(e){return ve(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Ur=!0;function Wp(e){const t=pl(e),o=e.proxy,n=e.ctx;Ur=!1,t.beforeCreate&&ul(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:g,beforeUpdate:x,updated:w,activated:_,deactivated:d,beforeDestroy:m,beforeUnmount:v,destroyed:k,unmounted:y,render:h,renderTracked:A,renderTriggered:L,errorCaptured:R,serverPrefetch:M,expose:I,inheritAttrs:C,components:F,directives:H,filters:G}=t;if(c&&Yp(c,n,null),s)for(const T in s){const se=s[T];we(se)&&(n[T]=se.bind(o))}if(a){const T=a.call(o,o);Be(T)&&(e.data=on(T))}if(Ur=!0,r)for(const T in r){const se=r[T],ye=we(se)?se.bind(o,o):we(se.get)?se.get.bind(o,o):qt,ae=!we(se)&&we(se.set)?se.set.bind(o):qt,oe=Z({get:ye,set:ae});Object.defineProperty(n,T,{enumerable:!0,configurable:!0,get:()=>oe.value,set:fe=>oe.value=fe})}if(i)for(const T in i)dl(i[T],n,o,T);if(l){const T=we(l)?l.call(o):l;Reflect.ownKeys(T).forEach(se=>{Pt(se,T[se])})}u&&ul(u,e,"c");function B(T,se){ve(se)?se.forEach(ye=>T(ye.bind(o))):se&&T(se.bind(o))}if(B(al,p),B(to,g),B(Dp,x),B(Bp,w),B(Rp,_),B(Fp,d),B(Kp,R),B(Up,A),B(Gp,L),B(yo,v),B(Fa,y),B(jp,M),ve(I))if(I.length){const T=e.exposed||(e.exposed={});I.forEach(se=>{Object.defineProperty(T,se,{get:()=>o[se],set:ye=>o[se]=ye,enumerable:!0})})}else e.exposed||(e.exposed={});h&&e.render===qt&&(e.render=h),C!=null&&(e.inheritAttrs=C),F&&(e.components=F),H&&(e.directives=H),M&&Br(e)}function Yp(e,t,o=qt){ve(e)&&(e=Kr(e));for(const n in e){const a=e[n];let r;Be(a)?"default"in a?r=Ee(a.from||n,a.default,!0):r=Ee(a.from||n):r=Ee(a),Je(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function ul(e,t,o){zt(ve(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function dl(e,t,o,n){let a=n.includes(".")?Yi(o,n):()=>o[n];if(ze(e)){const r=t[e];we(r)&&nt(a,r)}else if(we(e))nt(a,e.bind(o));else if(Be(e))if(ve(e))e.forEach(r=>dl(r,t,o,n));else{const r=we(e.handler)?e.handler.bind(o):t[e.handler];we(r)&&nt(a,r,e)}}function pl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>Oa(l,c,s,!0)),Oa(l,t,s)),Be(t)&&r.set(t,l),l}function Oa(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&Oa(e,r,o,!0),a&&a.forEach(s=>Oa(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=qp[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const qp={data:gl,props:fl,emits:fl,methods:Kn,computed:Kn,beforeCreate:Ct,created:Ct,beforeMount:Ct,mounted:Ct,beforeUpdate:Ct,updated:Ct,beforeDestroy:Ct,beforeUnmount:Ct,destroyed:Ct,unmounted:Ct,activated:Ct,deactivated:Ct,errorCaptured:Ct,serverPrefetch:Ct,components:Kn,directives:Kn,watch:Zp,provide:gl,inject:Jp};function gl(e,t){return t?e?function(){return ot(we(e)?e.call(this,this):e,we(t)?t.call(this,this):t)}:t:e}function Jp(e,t){return Kn(Kr(e),Kr(t))}function Kr(e){if(ve(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${gt(t)}Modifiers`]||e[`${Rt(t)}Modifiers`];function tg(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ue;let a=o;const r=t.startsWith("update:"),s=r&&eg(n,t.slice(7));s&&(s.trim&&(a=o.map(u=>ze(u)?u.trim():u)),s.number&&(a=a.map(yr)));let i,l=n[i=br(t)]||n[i=br(gt(t))];!l&&r&&(l=n[i=br(Rt(t))]),l&&zt(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,zt(c,e,6,a)}}const og=new WeakMap;function ml(e,t,o=!1){const n=o?og:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!we(e)){const l=c=>{const u=ml(c,t,!0);u&&(i=!0,ot(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Be(e)&&n.set(e,null),null):(ve(r)?r.forEach(l=>s[l]=null):ot(s,r),Be(e)&&n.set(e,s),s)}function Da(e,t){return!e||!ca(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Re(e,t[0].toLowerCase()+t.slice(1))||Re(e,Rt(t))||Re(e,t))}function _w(){}function bl(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:p,data:g,setupState:x,ctx:w,inheritAttrs:_}=e,d=Ea(e);let m,v;try{if(o.shapeFlag&4){const y=a||n,h=y;m=no(c.call(h,y,u,p,x,g,w)),v=i}else{const y=t;m=no(y.length>1?y(p,{attrs:i,slots:s,emit:l}):y(p,null)),v=t.props?i:ng(i)}}catch(y){_o.length=0,On(y,e,1),m=je(oo)}let k=m;if(v&&_!==!1){const y=Object.keys(v),{shapeFlag:h}=k;y.length&&h&7&&(r&&y.some(ua)&&(v=ag(v,r)),k=dn(k,v,!1,!0))}if(o.dirs&&(k=dn(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(o.dirs):o.dirs),o.transition){const y=Ta(k.type)&&Xi(k)||k;Dr(y,o.transition)}return m=k,Ea(d),m}const ng=e=>{let t;for(const o in e)(o==="class"||o==="style"||ca(o))&&((t||(t={}))[o]=e[o]);return t},ag=(e,t)=>{const o={};for(const n in e)(!ua(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function rg(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?yl(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(vl),wl=e=>Object.getPrototypeOf(e)===vl;function ig(e,t,o,n=!1){const a={},r=kl();e.propsDefaults=Object.create(null),xl(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:rp(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function lg(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Me(a),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[g,x]=Sl(p,t,!0);ot(s,g),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return Be(e)&&n.set(e,en),en;if(ve(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Vr=e=>ve(e)?e.map(no):[no(e)],ug=(e,t,o)=>{if(t._n)return t;const n=jt((...a)=>Vr(t(...a)),o);return n._c=!1,n},$l=(e,t,o)=>{const n=e._ctx;for(const a in e){if(Hr(a))continue;const r=e[a];if(we(r))t[a]=ug(a,r,n);else if(r!=null){const s=Vr(r);t[a]=()=>s}}},Ll=(e,t)=>{const o=Vr(t);e.slots.default=()=>o},Cl=(e,t,o)=>{for(const n in t)(o||!Hr(n))&&(e[n]=t[n])},dg=(e,t,o)=>{const n=e.slots=kl();if(e.vnode.shapeFlag&32){const a=t._;a?(Cl(n,t,o),o&&di(n,"_",a,!0)):$l(t,n)}else t&&Ll(e,t)},pg=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=Ue;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:Cl(a,t,o):(r=!t.$stable,$l(t,a)),s=t}else t&&(Ll(e,t),s={default:1});if(r)for(const i in a)!Hr(i)&&s[i]==null&&delete a[i]},Et=bg;function gg(e){return fg(e)}function fg(e,t){const o=ba();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:g,setScopeId:x=qt,insertStaticContent:w}=e,_=($,N,E,K=null,Y=null,X=null,Q=void 0,q=null,f=!!N.dynamicChildren)=>{if($===N)return;$&&!Wn($,N)&&(K=mt($),fe($,Y,X,!0),$=null),N.patchFlag===-2&&(f=!1,N.dynamicChildren=null);const{type:b,ref:D,shapeFlag:V}=N;switch(b){case zn:d($,N,E,K);break;case oo:m($,N,E,K);break;case qr:$==null&&v(N,E,K,Q);break;case $e:F($,N,E,K,Y,X,Q,q,f);break;default:V&1?h($,N,E,K,Y,X,Q,q,f):V&6?H($,N,E,K,Y,X,Q,q,f):(V&64||V&128)&&b.process($,N,E,K,Y,X,Q,q,f,Ye)}D!=null&&Y?Gn(D,$&&$.ref,X,N||$,!N):D==null&&$&&$.ref!=null&&Gn($.ref,null,X,$,!0)},d=($,N,E,K)=>{if($==null)n(N.el=i(N.children),E,K);else{const Y=N.el=$.el;N.children!==$.children&&c(Y,N.children)}},m=($,N,E,K)=>{$==null?n(N.el=l(N.children||""),E,K):N.el=$.el},v=($,N,E,K)=>{[$.el,$.anchor]=w($.children,N,E,K,$.el,$.anchor)},k=({el:$,anchor:N},E,K)=>{let Y;for(;$&&$!==N;)Y=g($),n($,E,K),$=Y;n(N,E,K)},y=({el:$,anchor:N})=>{let E;for(;$&&$!==N;)E=g($),a($),$=E;a(N)},h=($,N,E,K,Y,X,Q,q,f)=>{if(N.type==="svg"?Q="svg":N.type==="math"&&(Q="mathml"),$==null)A(N,E,K,Y,X,Q,q,f);else{const b=$.el&&$.el._isVueCE?$.el:null;try{b&&b._beginPatch(),M($,N,Y,X,Q,q,f)}finally{b&&b._endPatch()}}},A=($,N,E,K,Y,X,Q,q)=>{let f,b;const{props:D,shapeFlag:V,transition:ie,dirs:re}=$;if(f=$.el=s($.type,X,D&&D.is,D),V&8?u(f,$.children):V&16&&R($.children,f,null,K,Y,Wr($,X),Q,q),re&&zo($,null,K,"created"),L(f,$,$.scopeId,Q,K),D){for(const S in D)S!=="value"&&!Tn(S)&&r(f,S,null,D[S],X,K);"value"in D&&r(f,"value",null,D.value,X),(b=D.onVnodeBeforeMount)&&ao(b,K,$)}re&&zo($,null,K,"beforeMount");const j=hg(Y,ie);j&&ie.beforeEnter(f),n(f,N,E),((b=D&&D.onVnodeMounted)||j||re)&&Et(()=>{try{b&&ao(b,K,$),j&&ie.enter(f),re&&zo($,null,K,"mounted")}finally{}},Y)},L=($,N,E,K,Y)=>{if(E&&x($,E),K)for(let X=0;X{for(let b=f;b<$.length;b++){const D=$[b]=q?vo($[b]):no($[b]);_(null,D,N,E,K,Y,X,Q,q)}},M=($,N,E,K,Y,X,Q)=>{const q=N.el=$.el;let{patchFlag:f,dynamicChildren:b,dirs:D}=N;f|=$.patchFlag&16;const V=$.props||Ue,ie=N.props||Ue;let re;if(E&&Wo(E,!1),(re=ie.onVnodeBeforeUpdate)&&ao(re,E,N,$),D&&zo(N,$,E,"beforeUpdate"),E&&Wo(E,!0),b&&(!$.dynamicChildren||$.dynamicChildren.length!==b.length)&&(f=0,Q=!1,b=null),(V.innerHTML&&ie.innerHTML==null||V.textContent&&ie.textContent==null)&&u(q,""),b?I($.dynamicChildren,b,q,E,K,Wr(N,Y),X):Q||se($,N,q,null,E,K,Wr(N,Y),X,!1),f>0){if(f&16)C(q,V,ie,E,Y);else if(f&2&&V.class!==ie.class&&r(q,"class",null,ie.class,Y),f&4&&r(q,"style",V.style,ie.style,Y),f&8){const j=N.dynamicProps;for(let S=0;S{re&&ao(re,E,N,$),D&&zo(N,$,E,"updated")},K)},I=($,N,E,K,Y,X,Q)=>{for(let q=0;q{if(N!==E){if(N!==Ue)for(const X in N)!Tn(X)&&!(X in E)&&r($,X,N[X],null,Y,K);for(const X in E){if(Tn(X))continue;const Q=E[X],q=N[X];Q!==q&&X!=="value"&&r($,X,q,Q,Y,K)}"value"in E&&r($,"value",N.value,E.value,Y)}},F=($,N,E,K,Y,X,Q,q,f)=>{const b=N.el=$?$.el:i(""),D=N.anchor=$?$.anchor:i("");let{patchFlag:V,dynamicChildren:ie,slotScopeIds:re}=N;re&&(q=q?q.concat(re):re),$==null?(n(b,E,K),n(D,E,K),R(N.children||[],E,D,Y,X,Q,q,f)):V>0&&V&64&&ie&&$.dynamicChildren&&$.dynamicChildren.length===ie.length?(I($.dynamicChildren,ie,E,Y,X,Q,q),(N.key!=null||Y&&N===Y.subTree)&&Yr($,N,!0)):se($,N,E,D,Y,X,Q,q,f)},H=($,N,E,K,Y,X,Q,q,f)=>{N.slotScopeIds=q,$==null?N.shapeFlag&512?Y.ctx.activate(N,E,K,Q,f):G(N,E,K,Y,X,Q,f):U($,N,f)},G=($,N,E,K,Y,X,Q)=>{const q=$.component=xg($,K,Y);if(Ia($)&&(q.ctx.renderer=Ye),Sg(q,!1,Q),q.asyncDep){if(Y&&Y.registerDep(q,B,Q),!$.el){const f=q.subTree=je(oo);m(null,f,N,E),$.placeholder=f.el}}else B(q,$,N,E,Y,X,Q)},U=($,N,E)=>{const K=N.component=$.component;if(rg($,N,E))if(K.asyncDep&&!K.asyncResolved){T(K,N,E);return}else K.next=N,K.update();else N.el=$.el,K.vnode=N},B=($,N,E,K,Y,X,Q)=>{const q=()=>{if($.isMounted){let{next:V,bu:ie,u:re,parent:j,vnode:S}=$;{const Le=El($);if(Le){V&&(V.el=S.el,T($,V,Q)),Le.asyncDep.then(()=>{Et(()=>{$.isUnmounted||b()},Y)});return}}let O=V,ne;Wo($,!1),V?(V.el=S.el,T($,V,Q)):V=S,ie&&ma(ie),(ne=V.props&&V.props.onVnodeBeforeUpdate)&&ao(ne,j,V,S),Wo($,!0);const ce=bl($),ge=$.subTree;$.subTree=ce,_(ge,ce,p(ge.el),mt(ge),$,Y,X),V.el=ce.el,O===null&&sg($,ce.el),re&&Et(re,Y),(ne=V.props&&V.props.onVnodeUpdated)&&Et(()=>ao(ne,j,V,S),Y)}else{let V;const{el:ie,props:re}=N,{bm:j,m:S,parent:O,root:ne,type:ce}=$,ge=cn(N);Wo($,!1),j&&ma(j),!ge&&(V=re&&re.onVnodeBeforeMount)&&ao(V,O,N),Wo($,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(ce,$.parent?$.parent.type:void 0);const Le=$.subTree=bl($);_(null,Le,E,K,$,Y,X),N.el=Le.el}if(S&&Et(S,Y),!ge&&(V=re&&re.onVnodeMounted)){const Le=N;Et(()=>ao(V,O,Le),Y)}(N.shapeFlag&256||O&&cn(O.vnode)&&O.vnode.shapeFlag&256)&&$.a&&Et($.a,Y),$.isMounted=!0,N=E=K=null}};$.scope.on();const f=$.effect=new vi(q);$.scope.off();const b=$.update=f.run.bind(f),D=$.job=f.runIfDirty.bind(f);D.i=$,D.id=$.uid,f.scheduler=()=>Nr(D),Wo($,!0),b()},T=($,N,E)=>{N.component=$;const K=$.vnode.props;$.vnode=N,$.next=null,lg($,N.props,K,E),pg($,N.children,E),Zt(),zi($),Xt()},se=($,N,E,K,Y,X,Q,q,f=!1)=>{const b=$&&$.children,D=$?$.shapeFlag:0,V=N.children,{patchFlag:ie,shapeFlag:re}=N;if(ie>0){if(ie&128){ae(b,V,E,K,Y,X,Q,q,f);return}else if(ie&256){ye(b,V,E,K,Y,X,Q,q,f);return}}re&8?(D&16&&Qe(b,Y,X),V!==b&&u(E,V)):D&16?re&16?ae(b,V,E,K,Y,X,Q,q,f):Qe(b,Y,X,!0):(D&8&&u(E,""),re&16&&R(V,E,K,Y,X,Q,q,f))},ye=($,N,E,K,Y,X,Q,q,f)=>{$=$||en,N=N||en;const b=$.length,D=N.length,V=Math.min(b,D);let ie;for(ie=0;ieD?Qe($,Y,X,!0,!1,V):R(N,E,K,Y,X,Q,q,f,V)},ae=($,N,E,K,Y,X,Q,q,f)=>{let b=0;const D=N.length;let V=$.length-1,ie=D-1;for(;b<=V&&b<=ie;){const re=$[b],j=N[b]=f?vo(N[b]):no(N[b]);if(Wn(re,j))_(re,j,E,null,Y,X,Q,q,f);else break;b++}for(;b<=V&&b<=ie;){const re=$[V],j=N[ie]=f?vo(N[ie]):no(N[ie]);if(Wn(re,j))_(re,j,E,null,Y,X,Q,q,f);else break;V--,ie--}if(b>V){if(b<=ie){const re=ie+1,j=reie)for(;b<=V;)fe($[b],Y,X,!0),b++;else{const re=b,j=b,S=new Map;for(b=j;b<=ie;b++){const Fe=N[b]=f?vo(N[b]):no(N[b]);Fe.key!=null&&S.set(Fe.key,b)}let O,ne=0;const ce=ie-j+1;let ge=!1,Le=0;const _e=new Array(ce);for(b=0;b=ce){fe(Fe,Y,X,!0);continue}let tt;if(Fe.key!=null)tt=S.get(Fe.key);else for(O=j;O<=ie;O++)if(_e[O-j]===0&&Wn(Fe,N[O])){tt=O;break}tt===void 0?fe(Fe,Y,X,!0):(_e[tt-j]=b+1,tt>=Le?Le=tt:ge=!0,_(Fe,N[tt],E,null,Y,X,Q,q,f),ne++)}const ct=ge?mg(_e):en;for(O=ct.length-1,b=ce-1;b>=0;b--){const Fe=j+b,tt=N[Fe],lo=N[Fe+1],fr=Fe+1{const{el:X,type:Q,transition:q,children:f,shapeFlag:b}=$;if(b&6){oe($.component.subTree,N,E,K);return}if(b&128){$.suspense.move(N,E,K);return}if(b&64){Q.move($,N,E,Ye);return}if(Q===$e){n(X,N,E);for(let V=0;Vq.enter(X),Y));else{const{leave:V,delayLeave:ie,afterLeave:re}=q,j=()=>{$.ctx.isUnmounted?a(X):n(X,N,E)},S=()=>{const O=X._isLeaving||!!X[Or];X._isLeaving&&X[Or](!0),q.persisted&&!O?j():V(X,()=>{j(),re&&re()})};ie?ie(X,j,S):S()}else n(X,N,E)},fe=($,N,E,K=!1,Y=!1)=>{const{type:X,props:Q,ref:q,children:f,dynamicChildren:b,shapeFlag:D,patchFlag:V,dirs:ie,cacheIndex:re,memo:j}=$;if(V===-2&&(Y=!1),q!=null&&(Zt(),Gn(q,null,E,$,!0),Xt()),re!=null&&(N.renderCache[re]=void 0),D&256){N.ctx.deactivate($);return}const S=D&1&&ie,O=!cn($);let ne;if(O&&(ne=Q&&Q.onVnodeBeforeUnmount)&&ao(ne,N,$),D&6)Xe($.component,E,K);else{if(D&128){$.suspense.unmount(E,K);return}S&&zo($,null,N,"beforeUnmount"),D&64?$.type.remove($,N,E,Ye,K):b&&!b.hasOnce&&(X!==$e||V>0&&V&64)?Qe(b,N,E,!1,!0):(X===$e&&V&384||!Y&&D&16)&&Qe(f,N,E),K&&Pe($)}const ce=j!=null&&re==null;(O&&(ne=Q&&Q.onVnodeUnmounted)||S||ce)&&Et(()=>{ne&&ao(ne,N,$),S&&zo($,null,N,"unmounted"),ce&&($.el=null)},E)},Pe=$=>{const{type:N,el:E,anchor:K,transition:Y}=$;if(N===$e){We(E,K);return}if(N===qr){y($);return}const X=()=>{a(E),Y&&!Y.persisted&&Y.afterLeave&&Y.afterLeave()};if($.shapeFlag&1&&Y&&!Y.persisted){const{leave:Q,delayLeave:q}=Y,f=()=>Q(E,X);q?q($.el,X,f):f()}else X()},We=($,N)=>{let E;for(;$!==N;)E=g($),a($),$=E;a(N)},Xe=($,N,E)=>{const{bum:K,scope:Y,job:X,subTree:Q,um:q,m:f,a:b}=$;Tl(f),Tl(b),K&&ma(K),Y.stop(),X&&(X.flags|=8,fe(Q,$,N,E)),q&&Et(q,N),Et(()=>{$.isUnmounted=!0},N)},Qe=($,N,E,K=!1,Y=!1,X=0)=>{for(let Q=X;Q<$.length;Q++)fe($[Q],N,E,K,Y)},mt=$=>{if($.shapeFlag&6)return mt($.component.subTree);if($.shapeFlag&128)return $.suspense.next();const N=g($.anchor||$.el),E=N&&N[qi];return E?g(E):N};let Ke=!1;const it=($,N,E)=>{let K;$==null?N._vnode&&(fe(N._vnode,null,null,!0),K=N._vnode.component):_(N._vnode||null,$,N,null,null,null,E),N._vnode=$,Ke||(Ke=!0,zi(K),Hi(),Ke=!1)},Ye={p:_,um:fe,m:oe,r:Pe,mt:G,mc:R,pc:se,pbc:I,n:mt,o:e};return{render:it,hydrate:void 0,createApp:Qp(it)}}function Wr({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Wo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function hg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Yr(e,t,o=!1){const n=e.children,a=t.children;if(ve(n)&&ve(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function El(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:El(t)}function Tl(e){if(e)for(let t=0;te.__isSuspense;function bg(e,t){t&&t.pendingBranch?ve(e)?t.effects.push(...e):t.effects.push(e):wp(e)}const $e=Symbol.for("v-fgt"),zn=Symbol.for("v-txt"),oo=Symbol.for("v-cmt"),qr=Symbol.for("v-stc"),_o=[];let Ot=null;function W(e=!1){_o.push(Ot=e?null:[])}function Jr(){_o.pop(),Ot=_o[_o.length-1]||null}let Hn=1;function Ba(e,t=!1){Hn+=e,e<0&&Ot&&t&&(Ot.hasOnce=!0)}function Nl(e){return e.dynamicChildren=Hn>0?Ot||en:null,Jr(),Hn>0&&Ot&&Ot.push(e),e}function ee(e,t,o,n,a,r){return Nl(P(e,t,o,n,a,r,!0))}function rt(e,t,o,n,a){return Nl(je(e,t,o,n,a,!0))}function Vn(e){return e?e.__v_isVNode===!0:!1}function Wn(e,t){return e.type===t.type&&e.key===t.key}const Il=({key:e})=>e??null,ja=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?ze(e)||Je(e)||we(e)?{i:_t,r:e,k:t,f:!!o}:e:null);function P(e,t=null,o=null,n=0,a=null,r=e===$e?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Il(t),ref:t&&ja(t),scopeId:Wi,slotScopeIds:null,children:o,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:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:_t};return i?(Ga(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=ze(o)?8:16),Hn>0&&!s&&Ot&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Ot.push(l),l}const je=yg;function yg(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===rl)&&(e=oo),Vn(e)){const i=dn(e,t,!0);return o&&Ga(i,o),Hn>0&&!r&&Ot&&(i.shapeFlag&6?Ot[Ot.indexOf(e)]=i:Ot.push(i)),i.patchFlag=-2,i}if(Tg(e)&&(e=e.__vccOpts),t){t=_g(t);let{class:i,style:l}=t;i&&!ze(i)&&(t.class=Ae(i)),Be(l)&&(Aa(l)&&!ve(l)&&(l=ot({},l)),t.style=et(l))}const s=ze(e)?1:Ml(e)?128:Ta(e)?64:Be(e)?4:we(e)?2:0;return P(e,t,o,n,a,s,r,!0)}function _g(e){return e?Aa(e)||wl(e)?ot({},e):e:null}function dn(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,c=t?vg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Il(c),ref:t&&t.ref?o&&r?ve(r)?r.concat(ja(t)):[r,ja(t)]:ja(t):r,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!==$e?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&dn(e.ssContent),ssFallback:e.ssFallback&&dn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Dr(u,l.clone(u)),u}function dt(e=" ",t=0){return je(zn,null,e,t)}function me(e="",t=!1){return t?(W(),rt(oo,null,e)):je(oo,null,e)}function no(e){return e==null||typeof e=="boolean"?je(oo):ve(e)?je($e,null,e.slice()):Vn(e)?vo(e):je(zn,null,String(e))}function vo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:dn(e)}function Ga(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ve(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Ga(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!wl(t)?t._ctx=_t:a===3&&_t&&(_t.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(we(t)){if(n&65){Ga(e,{default:t});return}t={default:t,_ctx:_t},o=32}else t=String(t),n&64?(o=16,t=[dt(t)]):o=8;e.children=t,e.shapeFlag|=o}function vg(...e){const t={};for(let o=0;ovt||_t;let Ua,Yn;{const e=ba(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};Ua=t("__VUE_INSTANCE_SETTERS__",o=>vt=o),Yn=t("__VUE_SSR_SETTERS__",o=>pn=o)}const qn=e=>{const t=vt;return Ua(e),e.scope.on(),()=>{e.scope.off(),Ua(t)}},Rl=()=>{vt&&vt.scope.off(),Ua(null)};function Fl(e){return e.vnode.shapeFlag&4}let pn=!1;function Sg(e,t=!1,o=!1){t&&Yn(t);const{props:n,children:a}=e.vnode,r=Fl(e);ig(e,n,r,t),dg(e,a,o||t);const s=r?Ag(e,t):void 0;return t&&Yn(!1),s}function Ag(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vp);const{setup:n}=o;if(n){Zt();const a=e.setupContext=n.length>1?Lg(e):null,r=qn(e),s=rn(n,e,0,[e.props,a]),i=ci(s);if(Xt(),r(),(i||e.sp)&&!cn(e)&&Br(e),i){if(s.then(Rl,Rl),t)return s.then(l=>{Yn(!0);try{Ol(e,l,t)}finally{Yn(!1)}}).catch(l=>{On(l,e,0)});e.asyncDep=s}else Ol(e,s)}else Dl(e)}function Ol(e,t,o){we(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Be(t)&&(e.setupState=Bi(t)),Dl(e)}function Dl(e,t,o){const n=e.type;e.render||(e.render=n.render||qt);{const a=qn(e);Zt();try{Wp(e)}finally{Xt(),a()}}}const $g={get(e,t){return xt(e,"get",""),e[t]}};function Lg(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,$g),slots:e.slots,emit:e.emit,expose:t}}function Ka(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Bi(Uo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Un)return Un[o](e)},has(t,o){return o in t||o in Un}})):e.proxy}const Cg=/(?:^|[-_])\w/g,Eg=e=>e.replace(Cg,t=>t.toUpperCase()).replace(/[-_]/g,"");function Bl(e,t=!0){return we(e)?e.displayName||e.name:e.name||t&&e.__name}function jl(e,t,o=!1){let n=Bl(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Eg(n):o?"App":"Anonymous"}function Tg(e){return we(e)&&"__vccOpts"in e}const Z=(e,t)=>gp(e,t,pn);function Gl(e,t,o){try{Ba(-1);const n=arguments.length;return n===2?Be(t)&&!ve(t)?Vn(t)?je(e,null,[t]):je(e,t):je(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Vn(o)&&(o=[o]),je(e,t,o))}finally{Ba(1)}}const Pg="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT @@ -22,7 +22,7 @@ * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let ac;const Wa=e=>ac=e,rc=Symbol();function ns(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function pf(){const e=vr(!0),t=e.run(()=>ue({}));let o=[],n=[];const a=Uo({install(r){Wa(a),a._a=r,r.provide(rc,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const sc=()=>{};function ic(e,t,o,n=sc){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&_i()&&jd(a),a}function fn(e,...t){e.slice().forEach(o=>{o(...t)})}const gf=e=>e(),lc=Symbol(),as=Symbol();function rs(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];ns(a)&&ns(n)&&e.hasOwnProperty(o)&&!Je(n)&&!go(n)?e[o]=rs(a,n):e[o]=n}return e}const ff=Symbol();function hf(e){return!ns(e)||!e.hasOwnProperty(ff)}const{assign:Po}=Object;function mf(e){return!!(Je(e)&&e.effect)}function bf(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=lp(o.state.value[e]);return Po(u,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=Uo(ee(()=>{Wa(o);const x=o._s.get(e);return s[g].call(x,x)})),p),{}))}return l=cc(e,c,t,o,n,!0),l}function cc(e,t,o={},n,a,r){let s;const i=Po({actions:{}},o),l={deep:!0};let c,u,p=[],g=[],x;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let h;function d(R){let M;c=u=!1,typeof R=="function"?(R(n.state.value[e]),M={type:Zn.patchFunction,storeId:e,events:x}):(rs(n.state.value[e],R),M={type:Zn.patchObject,payload:R,storeId:e,events:x});const I=h=Symbol();mo().then(()=>{h===I&&(c=!0)}),u=!0,fn(p,M,n.state.value[e])}const _=r?function(){const{state:M}=o,I=M?M():{};this.$patch(C=>{Po(C,I)})}:sc;function k(){s.stop(),p=[],g=[],n._s.delete(e)}const v=(R,M="")=>{if(lc in R)return R[as]=M,R;const I=function(){Wa(n);const C=Array.from(arguments),F=[],H=[];function G(T){F.push(T)}function U(T){H.push(T)}fn(g,{args:C,name:I[as],store:m,after:G,onError:U});let B;try{B=R.apply(this&&this.$id===e?this:m,C)}catch(T){throw fn(H,T),T}return B instanceof Promise?B.then(T=>(fn(F,T),T)).catch(T=>(fn(H,T),Promise.reject(T))):(fn(F,B),B)};return I[lc]=!0,I[as]=M,I},y={_p:n,$id:e,$onAction:ic.bind(null,g),$patch:d,$reset:_,$subscribe(R,M={}){const I=ic(p,R,M.detached,()=>C()),C=s.run(()=>nt(()=>n.state.value[e],F=>{(M.flush==="sync"?u:c)&&R({storeId:e,type:Zn.direct,events:x},F)},Po({},l,M)));return I},$dispose:k},m=on(y);n._s.set(e,m);const L=(n._a&&n._a.runWithContext||gf)(()=>n._e.run(()=>(s=vr()).run(()=>t({action:v}))));for(const R in L){const M=L[R];if(Je(M)&&!mf(M)||go(M))r||(w&&hf(M)&&(Je(M)?M.value=w[R]:rs(M,w[R])),n.state.value[e][R]=M);else if(typeof M=="function"){const I=v(M,R);L[R]=I,i.actions[R]=M}}return Po(m,L),Po(Me(m),L),Object.defineProperty(m,"$state",{get:()=>n.state.value[e],set:R=>{d(M=>{Po(M,R)})}}),n._p.forEach(R=>{Po(m,s.run(()=>R({store:m,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(m.$state,w),c=!0,u=!0,m}/*! #__NO_SIDE_EFFECTS__ */function ss(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const c=Sp();return i=i||(c?Ee(rc,null):null),i&&Wa(i),i=ac,i._s.has(n)||(r?cc(n,t,a,i):bf(n,a,i)),i._s.get(n)}return s.$id=n,s}const yf={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},_f={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},vf={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},kf={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:"اللغات"}},wf={menuComingSoon:"القائمة قادمة قريباً"},xf={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Sf={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Af={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},$f={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Lf={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Cf={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"},Ef={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Tf={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"}},Pf={menuComingSoon:"Menü folgt in Kürze"},Mf={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Nf={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},If={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Rf={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"},Ff={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Of={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"},Df={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Bf={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"}},jf={menuComingSoon:"Menu coming soon"},Gf={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Uf={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Kf={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zf={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"}},Hf={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"},Vf={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Wf={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"},Yf={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."}},qf={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"}},Jf={menuComingSoon:"Menú próximamente"},Zf={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Xf={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Qf={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"}},eh={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"},th={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},oh={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"},nh={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},ah={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"}},rh={menuComingSoon:"Menu bientôt disponible"},sh={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},ih={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},lh={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},ch={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"}},uh={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"},dh={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ph={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},gh={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},fh={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:"कुल"}},hh={menuComingSoon:"मेनू शीघ्र आ रहा है"},mh={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},bh={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},yh={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},_h={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},vh={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"},kh={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},wh={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"}},xh={menuComingSoon:"Menu in arrivo"},Sh={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Ah={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},$h={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Lh={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Ch={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"},Eh={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."}},Th={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"}},Ph={menuComingSoon:"Menu em breve"},Mh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Nh={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Ih={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"}},Rh={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"},Fh={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Oh={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ă"},Dh={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ă."}},Bh={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"}},jh={menuComingSoon:"Meniu în curând"},Gh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Uh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Kh={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},zh={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:"Поделиться и встроить"},Vh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Wh={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:"Языки"}},Yh={menuComingSoon:"Меню скоро появится"},qh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Jh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Zh={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:"Страна"},Qh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},em={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},tm={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},om={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:"总计"}},nm={menuComingSoon:"菜单即将推出"},am={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},rm={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},sm={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let ac;const Wa=e=>ac=e,rc=Symbol();function ns(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function pf(){const e=vr(!0),t=e.run(()=>ue({}));let o=[],n=[];const a=Uo({install(r){Wa(a),a._a=r,r.provide(rc,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const sc=()=>{};function ic(e,t,o,n=sc){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&_i()&&jd(a),a}function fn(e,...t){e.slice().forEach(o=>{o(...t)})}const gf=e=>e(),lc=Symbol(),as=Symbol();function rs(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];ns(a)&&ns(n)&&e.hasOwnProperty(o)&&!Je(n)&&!go(n)?e[o]=rs(a,n):e[o]=n}return e}const ff=Symbol();function hf(e){return!ns(e)||!e.hasOwnProperty(ff)}const{assign:Po}=Object;function mf(e){return!!(Je(e)&&e.effect)}function bf(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=lp(o.state.value[e]);return Po(u,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=Uo(Z(()=>{Wa(o);const x=o._s.get(e);return s[g].call(x,x)})),p),{}))}return l=cc(e,c,t,o,n,!0),l}function cc(e,t,o={},n,a,r){let s;const i=Po({actions:{}},o),l={deep:!0};let c,u,p=[],g=[],x;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let _;function d(R){let M;c=u=!1,typeof R=="function"?(R(n.state.value[e]),M={type:Zn.patchFunction,storeId:e,events:x}):(rs(n.state.value[e],R),M={type:Zn.patchObject,payload:R,storeId:e,events:x});const I=_=Symbol();mo().then(()=>{_===I&&(c=!0)}),u=!0,fn(p,M,n.state.value[e])}const m=r?function(){const{state:M}=o,I=M?M():{};this.$patch(C=>{Po(C,I)})}:sc;function v(){s.stop(),p=[],g=[],n._s.delete(e)}const k=(R,M="")=>{if(lc in R)return R[as]=M,R;const I=function(){Wa(n);const C=Array.from(arguments),F=[],H=[];function G(T){F.push(T)}function U(T){H.push(T)}fn(g,{args:C,name:I[as],store:h,after:G,onError:U});let B;try{B=R.apply(this&&this.$id===e?this:h,C)}catch(T){throw fn(H,T),T}return B instanceof Promise?B.then(T=>(fn(F,T),T)).catch(T=>(fn(H,T),Promise.reject(T))):(fn(F,B),B)};return I[lc]=!0,I[as]=M,I},y={_p:n,$id:e,$onAction:ic.bind(null,g),$patch:d,$reset:m,$subscribe(R,M={}){const I=ic(p,R,M.detached,()=>C()),C=s.run(()=>nt(()=>n.state.value[e],F=>{(M.flush==="sync"?u:c)&&R({storeId:e,type:Zn.direct,events:x},F)},Po({},l,M)));return I},$dispose:v},h=on(y);n._s.set(e,h);const L=(n._a&&n._a.runWithContext||gf)(()=>n._e.run(()=>(s=vr()).run(()=>t({action:k}))));for(const R in L){const M=L[R];if(Je(M)&&!mf(M)||go(M))r||(w&&hf(M)&&(Je(M)?M.value=w[R]:rs(M,w[R])),n.state.value[e][R]=M);else if(typeof M=="function"){const I=k(M,R);L[R]=I,i.actions[R]=M}}return Po(h,L),Po(Me(h),L),Object.defineProperty(h,"$state",{get:()=>n.state.value[e],set:R=>{d(M=>{Po(M,R)})}}),n._p.forEach(R=>{Po(h,s.run(()=>R({store:h,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(h.$state,w),c=!0,u=!0,h}/*! #__NO_SIDE_EFFECTS__ */function ss(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const c=Sp();return i=i||(c?Ee(rc,null):null),i&&Wa(i),i=ac,i._s.has(n)||(r?cc(n,t,a,i):bf(n,a,i)),i._s.get(n)}return s.$id=n,s}const yf={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},_f={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},vf={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},kf={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:"اللغات"}},wf={menuComingSoon:"القائمة قادمة قريباً"},xf={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Sf={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Af={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},$f={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Lf={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Cf={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"},Ef={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Tf={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"}},Pf={menuComingSoon:"Menü folgt in Kürze"},Mf={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Nf={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},If={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Rf={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"},Ff={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Of={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"},Df={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Bf={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"}},jf={menuComingSoon:"Menu coming soon"},Gf={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Uf={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Kf={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zf={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"}},Hf={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"},Vf={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Wf={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"},Yf={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."}},qf={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"}},Jf={menuComingSoon:"Menú próximamente"},Zf={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Xf={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Qf={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"}},eh={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"},th={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},oh={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"},nh={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},ah={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"}},rh={menuComingSoon:"Menu bientôt disponible"},sh={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},ih={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},lh={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},ch={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"}},uh={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"},dh={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},ph={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},gh={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},fh={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:"कुल"}},hh={menuComingSoon:"मेनू शीघ्र आ रहा है"},mh={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},bh={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},yh={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},_h={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},vh={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"},kh={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},wh={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"}},xh={menuComingSoon:"Menu in arrivo"},Sh={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Ah={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},$h={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Lh={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Ch={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"},Eh={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."}},Th={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"}},Ph={menuComingSoon:"Menu em breve"},Mh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Nh={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Ih={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"}},Rh={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"},Fh={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Oh={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ă"},Dh={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ă."}},Bh={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"}},jh={menuComingSoon:"Meniu în curând"},Gh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Uh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Kh={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},zh={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:"Поделиться и встроить"},Vh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Wh={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:"Языки"}},Yh={menuComingSoon:"Меню скоро появится"},qh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Jh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Zh={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:"Страна"},Qh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},em={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},tm={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},om={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:"总计"}},nm={menuComingSoon:"菜单即将推出"},am={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},rm={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},sm={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. @@ -31,16 +31,16 @@ * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function bm(e,t,o){return{line:e,column:t,offset:o}}function Qa(e,t,o){return{start:e,end:t}}const ym=/\{([0-9a-zA-Z]+)\}/g;function hc(e,...t){return t.length===1&&_m(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(ym,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const mc=Object.assign,bc=e=>typeof e=="string",_m=e=>e!==null&&typeof e=="object";function yc(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const is={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},vm={[is.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function km(e,t,...o){const n=hc(vm[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const ke={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},wm={[ke.EXPECTED_TOKEN]:"Expected token: '{0}'",[ke.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ke.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ke.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ke.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ke.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ke.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ke.EMPTY_PLACEHOLDER]:"Empty placeholder",[ke.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ke.INVALID_LINKED_FORMAT]:"Invalid linked format",[ke.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ke.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ke.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ke.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ke.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ke.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function hn(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=hc((a||wm)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function xm(e){throw e}const So=" ",Sm="\r",Tt=` -`,Am="\u2028",$m="\u2029";function Lm(e){const t=e;let o=0,n=1,a=1,r=0;const s=L=>t[L]===Sm&&t[L+1]===Tt,i=L=>t[L]===Tt,l=L=>t[L]===$m,c=L=>t[L]===Am,u=L=>s(L)||i(L)||l(L)||c(L),p=()=>o,g=()=>n,x=()=>a,w=()=>r,h=L=>s(L)||l(L)||c(L)?Tt:t[L],d=()=>h(o),_=()=>h(o+r);function k(){return r=0,u(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function v(){return s(o+r)&&r++,r++,t[o+r]}function y(){o=0,n=1,a=1,r=0}function m(L=0){r=L}function $(){const L=o+r;for(;L!==o;)k();r=0}return{index:p,line:g,column:x,peekOffset:w,charAt:h,currentChar:d,currentPeek:_,next:k,peek:v,reset:y,resetPeek:m,skipToPeek:$}}const Io=void 0,Cm=".",_c="'",Em="tokenizer";function Tm(e,t={}){const o=t.location!==!1,n=Lm(e),a=()=>n.index(),r=()=>bm(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(f,b,D,...V){const ie=c();if(b.column+=D,b.offset+=D,u){const re=o?Qa(ie.startLoc,b):null,j=hn(f,re,{domain:Em,args:V});u(j)}}function g(f,b,D){f.endLoc=r(),f.currentType=b;const V={type:b};return o&&(V.loc=Qa(f.startLoc,f.endLoc)),D!=null&&(V.value=D),V}const x=f=>g(f,14);function w(f,b){return f.currentChar()===b?(f.next(),b):(p(ke.EXPECTED_TOKEN,r(),0,b),"")}function h(f){let b="";for(;f.currentPeek()===So||f.currentPeek()===Tt;)b+=f.currentPeek(),f.peek();return b}function d(f){const b=h(f);return f.skipToPeek(),b}function _(f){if(f===Io)return!1;const b=f.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b===95}function k(f){if(f===Io)return!1;const b=f.charCodeAt(0);return b>=48&&b<=57}function v(f,b){const{currentType:D}=b;if(D!==2)return!1;h(f);const V=_(f.currentPeek());return f.resetPeek(),V}function y(f,b){const{currentType:D}=b;if(D!==2)return!1;h(f);const V=f.currentPeek()==="-"?f.peek():f.currentPeek(),ie=k(V);return f.resetPeek(),ie}function m(f,b){const{currentType:D}=b;if(D!==2)return!1;h(f);const V=f.currentPeek()===_c;return f.resetPeek(),V}function $(f,b){const{currentType:D}=b;if(D!==8)return!1;h(f);const V=f.currentPeek()===".";return f.resetPeek(),V}function L(f,b){const{currentType:D}=b;if(D!==9)return!1;h(f);const V=_(f.currentPeek());return f.resetPeek(),V}function R(f,b){const{currentType:D}=b;if(!(D===8||D===12))return!1;h(f);const V=f.currentPeek()===":";return f.resetPeek(),V}function M(f,b){const{currentType:D}=b;if(D!==10)return!1;const V=()=>{const re=f.currentPeek();return re==="{"?_(f.peek()):re==="@"||re==="%"||re==="|"||re===":"||re==="."||re===So||!re?!1:re===Tt?(f.peek(),V()):F(f,!1)},ie=V();return f.resetPeek(),ie}function I(f){h(f);const b=f.currentPeek()==="|";return f.resetPeek(),b}function C(f){const b=h(f),D=f.currentPeek()==="%"&&f.peek()==="{";return f.resetPeek(),{isModulo:D,hasSpace:b.length>0}}function F(f,b=!0){const D=(ie=!1,re="",j=!1)=>{const S=f.currentPeek();return S==="{"?re==="%"?!1:ie:S==="@"||!S?re==="%"?!0:ie:S==="%"?(f.peek(),D(ie,"%",!0)):S==="|"?re==="%"||j?!0:!(re===So||re===Tt):S===So?(f.peek(),D(!0,So,j)):S===Tt?(f.peek(),D(!0,Tt,j)):!0},V=D();return b&&f.resetPeek(),V}function H(f,b){const D=f.currentChar();return D===Io?Io:b(D)?(f.next(),D):null}function G(f){const b=f.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36}function U(f){return H(f,G)}function B(f){const b=f.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36||b===45}function T(f){return H(f,B)}function se(f){const b=f.charCodeAt(0);return b>=48&&b<=57}function ye(f){return H(f,se)}function ae(f){const b=f.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102}function oe(f){return H(f,ae)}function fe(f){let b="",D="";for(;b=ye(f);)D+=b;return D}function Pe(f){d(f);const b=f.currentChar();return b!=="%"&&p(ke.EXPECTED_TOKEN,r(),0,b),f.next(),"%"}function We(f){let b="";for(;;){const D=f.currentChar();if(D==="{"||D==="}"||D==="@"||D==="|"||!D)break;if(D==="%")if(F(f))b+=D,f.next();else break;else if(D===So||D===Tt)if(F(f))b+=D,f.next();else{if(I(f))break;b+=D,f.next()}else b+=D,f.next()}return b}function Xe(f){d(f);let b="",D="";for(;b=T(f);)D+=b;return f.currentChar()===Io&&p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),D}function Qe(f){d(f);let b="";return f.currentChar()==="-"?(f.next(),b+=`-${fe(f)}`):b+=fe(f),f.currentChar()===Io&&p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),b}function mt(f){return f!==_c&&f!==Tt}function Ke(f){d(f),w(f,"'");let b="",D="";for(;b=H(f,mt);)b==="\\"?D+=it(f):D+=b;const V=f.currentChar();return V===Tt||V===Io?(p(ke.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),V===Tt&&(f.next(),w(f,"'")),D):(w(f,"'"),D)}function it(f){const b=f.currentChar();switch(b){case"\\":case"'":return f.next(),`\\${b}`;case"u":return Ye(f,b,4);case"U":return Ye(f,b,6);default:return p(ke.UNKNOWN_ESCAPE_SEQUENCE,r(),0,b),""}}function Ye(f,b,D){w(f,b);let V="";for(let ie=0;ie{const V=f.currentChar();return V==="{"||V==="%"||V==="@"||V==="|"||V==="("||V===")"||!V||V===So?D:(D+=V,f.next(),b(D))};return b("")}function K(f){d(f);const b=w(f,"|");return d(f),b}function Y(f,b){let D=null;switch(f.currentChar()){case"{":return b.braceNest>=1&&p(ke.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),f.next(),D=g(b,2,"{"),d(f),b.braceNest++,D;case"}":return b.braceNest>0&&b.currentType===2&&p(ke.EMPTY_PLACEHOLDER,r(),0),f.next(),D=g(b,3,"}"),b.braceNest--,b.braceNest>0&&d(f),b.inLinked&&b.braceNest===0&&(b.inLinked=!1),D;case"@":return b.braceNest>0&&p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),D=Z(f,b)||x(b),b.braceNest=0,D;default:{let ie=!0,re=!0,j=!0;if(I(f))return b.braceNest>0&&p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),D=g(b,1,K(f)),b.braceNest=0,b.inLinked=!1,D;if(b.braceNest>0&&(b.currentType===5||b.currentType===6||b.currentType===7))return p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),b.braceNest=0,X(f,b);if(ie=v(f,b))return D=g(b,5,Xe(f)),d(f),D;if(re=y(f,b))return D=g(b,6,Qe(f)),d(f),D;if(j=m(f,b))return D=g(b,7,Ke(f)),d(f),D;if(!ie&&!re&&!j)return D=g(b,13,A(f)),p(ke.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,D.value),d(f),D;break}}return D}function Z(f,b){const{currentType:D}=b;let V=null;const ie=f.currentChar();switch((D===8||D===9||D===12||D===10)&&(ie===Tt||ie===So)&&p(ke.INVALID_LINKED_FORMAT,r(),0),ie){case"@":return f.next(),V=g(b,8,"@"),b.inLinked=!0,V;case".":return d(f),f.next(),g(b,9,".");case":":return d(f),f.next(),g(b,10,":");default:return I(f)?(V=g(b,1,K(f)),b.braceNest=0,b.inLinked=!1,V):$(f,b)||R(f,b)?(d(f),Z(f,b)):L(f,b)?(d(f),g(b,12,N(f))):M(f,b)?(d(f),ie==="{"?Y(f,b)||V:g(b,11,E(f))):(D===8&&p(ke.INVALID_LINKED_FORMAT,r(),0),b.braceNest=0,b.inLinked=!1,X(f,b))}}function X(f,b){let D={type:14};if(b.braceNest>0)return Y(f,b)||x(b);if(b.inLinked)return Z(f,b)||x(b);switch(f.currentChar()){case"{":return Y(f,b)||x(b);case"}":return p(ke.UNBALANCED_CLOSING_BRACE,r(),0),f.next(),g(b,3,"}");case"@":return Z(f,b)||x(b);default:{if(I(f))return D=g(b,1,K(f)),b.braceNest=0,b.inLinked=!1,D;const{isModulo:ie,hasSpace:re}=C(f);if(ie)return re?g(b,0,We(f)):g(b,4,Pe(f));if(F(f))return g(b,0,We(f));break}}return D}function q(){const{currentType:f,offset:b,startLoc:D,endLoc:V}=l;return l.lastType=f,l.lastOffset=b,l.lastStartLoc=D,l.lastEndLoc=V,l.offset=a(),l.startLoc=r(),n.currentChar()===Io?g(l,14):X(n,l)}return{nextToken:q,currentOffset:a,currentPosition:r,context:c}}const Pm="parser",Mm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Nm(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Im(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(v,y,m,$,...L){const R=v.currentPosition();if(R.offset+=$,R.column+=$,o){const M=t?Qa(m,R):null,I=hn(y,M,{domain:Pm,args:L});o(I)}}function r(v,y,m,$,...L){const R=v.currentPosition();if(R.offset+=$,R.column+=$,n){const M=t?Qa(m,R):null;n(km(y,M,L))}}function s(v,y,m){const $={type:v};return t&&($.start=y,$.end=y,$.loc={start:m,end:m}),$}function i(v,y,m,$){t&&(v.end=y,v.loc&&(v.loc.end=m))}function l(v,y){const m=v.context(),$=s(3,m.offset,m.startLoc);return $.value=y,i($,v.currentOffset(),v.currentPosition()),$}function c(v,y){const m=v.context(),{lastOffset:$,lastStartLoc:L}=m,R=s(5,$,L);return R.index=parseInt(y,10),v.nextToken(),i(R,v.currentOffset(),v.currentPosition()),R}function u(v,y,m){const $=v.context(),{lastOffset:L,lastStartLoc:R}=$,M=s(4,L,R);return M.key=y,m===!0&&(M.modulo=!0),v.nextToken(),i(M,v.currentOffset(),v.currentPosition()),M}function p(v,y){const m=v.context(),{lastOffset:$,lastStartLoc:L}=m,R=s(9,$,L);return R.value=y.replace(Mm,Nm),v.nextToken(),i(R,v.currentOffset(),v.currentPosition()),R}function g(v){const y=v.nextToken(),m=v.context(),{lastOffset:$,lastStartLoc:L}=m,R=s(8,$,L);return y.type!==12?(a(v,ke.UNEXPECTED_EMPTY_LINKED_MODIFIER,m.lastStartLoc,0),R.value="",i(R,$,L),{nextConsumeToken:y,node:R}):(y.value==null&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,Vt(y)),R.value=y.value||"",i(R,v.currentOffset(),v.currentPosition()),{node:R})}function x(v,y){const m=v.context(),$=s(7,m.offset,m.startLoc);return $.value=y,i($,v.currentOffset(),v.currentPosition()),$}function w(v){const y=v.context(),m=s(6,y.offset,y.startLoc);let $=v.nextToken();if($.type===9){const L=g(v);m.modifier=L.node,$=L.nextConsumeToken||v.nextToken()}switch($.type!==10&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt($)),$=v.nextToken(),$.type===2&&($=v.nextToken()),$.type){case 11:$.value==null&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt($)),m.key=x(v,$.value||"");break;case 5:$.value==null&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt($)),m.key=u(v,$.value||"");break;case 6:$.value==null&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt($)),m.key=c(v,$.value||"");break;case 7:$.value==null&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt($)),m.key=p(v,$.value||"");break;default:{a(v,ke.UNEXPECTED_EMPTY_LINKED_KEY,y.lastStartLoc,0);const L=v.context(),R=s(7,L.offset,L.startLoc);return R.value="",i(R,L.offset,L.startLoc),m.key=R,i(m,L.offset,L.startLoc),{nextConsumeToken:$,node:m}}}return i(m,v.currentOffset(),v.currentPosition()),{node:m}}function h(v){const y=v.context(),m=y.currentType===1?v.currentOffset():y.offset,$=y.currentType===1?y.endLoc:y.startLoc,L=s(2,m,$);L.items=[];let R=null,M=null;do{const F=R||v.nextToken();switch(R=null,F.type){case 0:F.value==null&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(F)),L.items.push(l(v,F.value||""));break;case 6:F.value==null&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(F)),L.items.push(c(v,F.value||""));break;case 4:M=!0;break;case 5:F.value==null&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(F)),L.items.push(u(v,F.value||"",!!M)),M&&(r(v,is.USE_MODULO_SYNTAX,y.lastStartLoc,0,Vt(F)),M=null);break;case 7:F.value==null&&a(v,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(F)),L.items.push(p(v,F.value||""));break;case 8:{const H=w(v);L.items.push(H.node),R=H.nextConsumeToken||null;break}}}while(y.currentType!==14&&y.currentType!==1);const I=y.currentType===1?y.lastOffset:v.currentOffset(),C=y.currentType===1?y.lastEndLoc:v.currentPosition();return i(L,I,C),L}function d(v,y,m,$){const L=v.context();let R=$.items.length===0;const M=s(1,y,m);M.cases=[],M.cases.push($);do{const I=h(v);R||(R=I.items.length===0),M.cases.push(I)}while(L.currentType!==14);return R&&a(v,ke.MUST_HAVE_MESSAGES_IN_PLURAL,m,0),i(M,v.currentOffset(),v.currentPosition()),M}function _(v){const y=v.context(),{offset:m,startLoc:$}=y,L=h(v);return y.currentType===14?L:d(v,m,$,L)}function k(v){const y=Tm(v,mc({},e)),m=y.context(),$=s(0,m.offset,m.startLoc);return t&&$.loc&&($.loc.source=v),$.body=_(y),e.onCacheKey&&($.cacheKey=e.onCacheKey(v)),m.currentType!==14&&a(y,ke.UNEXPECTED_LEXICAL_ANALYSIS,m.lastStartLoc,0,v[m.offset]||""),i($,y.currentOffset(),y.currentPosition()),$}return{parse:k}}function Vt(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 Rm(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function vc(e,t){for(let o=0;okc(o)),e}function kc(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 o=0;os;function l(h,d){s.code+=h}function c(h,d=!0){const _=d?n:"";l(a?_+" ".repeat(h):_)}function u(h=!0){const d=++s.indentLevel;h&&c(d)}function p(h=!0){const d=--s.indentLevel;h&&c(d)}function g(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:g,helper:h=>`_${h}`,needIndent:()=>s.needIndent}}function Gm(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),bn(e,t.key),t.modifier?(e.push(", "),bn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Um(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=bc(t.mode)?t.mode:"normal",n=bc(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,Am="\u2028",$m="\u2029";function Lm(e){const t=e;let o=0,n=1,a=1,r=0;const s=L=>t[L]===Sm&&t[L+1]===Tt,i=L=>t[L]===Tt,l=L=>t[L]===$m,c=L=>t[L]===Am,u=L=>s(L)||i(L)||l(L)||c(L),p=()=>o,g=()=>n,x=()=>a,w=()=>r,_=L=>s(L)||l(L)||c(L)?Tt:t[L],d=()=>_(o),m=()=>_(o+r);function v(){return r=0,u(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function k(){return s(o+r)&&r++,r++,t[o+r]}function y(){o=0,n=1,a=1,r=0}function h(L=0){r=L}function A(){const L=o+r;for(;L!==o;)v();r=0}return{index:p,line:g,column:x,peekOffset:w,charAt:_,currentChar:d,currentPeek:m,next:v,peek:k,reset:y,resetPeek:h,skipToPeek:A}}const Io=void 0,Cm=".",_c="'",Em="tokenizer";function Tm(e,t={}){const o=t.location!==!1,n=Lm(e),a=()=>n.index(),r=()=>bm(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(f,b,D,...V){const ie=c();if(b.column+=D,b.offset+=D,u){const re=o?Qa(ie.startLoc,b):null,j=hn(f,re,{domain:Em,args:V});u(j)}}function g(f,b,D){f.endLoc=r(),f.currentType=b;const V={type:b};return o&&(V.loc=Qa(f.startLoc,f.endLoc)),D!=null&&(V.value=D),V}const x=f=>g(f,14);function w(f,b){return f.currentChar()===b?(f.next(),b):(p(ke.EXPECTED_TOKEN,r(),0,b),"")}function _(f){let b="";for(;f.currentPeek()===So||f.currentPeek()===Tt;)b+=f.currentPeek(),f.peek();return b}function d(f){const b=_(f);return f.skipToPeek(),b}function m(f){if(f===Io)return!1;const b=f.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b===95}function v(f){if(f===Io)return!1;const b=f.charCodeAt(0);return b>=48&&b<=57}function k(f,b){const{currentType:D}=b;if(D!==2)return!1;_(f);const V=m(f.currentPeek());return f.resetPeek(),V}function y(f,b){const{currentType:D}=b;if(D!==2)return!1;_(f);const V=f.currentPeek()==="-"?f.peek():f.currentPeek(),ie=v(V);return f.resetPeek(),ie}function h(f,b){const{currentType:D}=b;if(D!==2)return!1;_(f);const V=f.currentPeek()===_c;return f.resetPeek(),V}function A(f,b){const{currentType:D}=b;if(D!==8)return!1;_(f);const V=f.currentPeek()===".";return f.resetPeek(),V}function L(f,b){const{currentType:D}=b;if(D!==9)return!1;_(f);const V=m(f.currentPeek());return f.resetPeek(),V}function R(f,b){const{currentType:D}=b;if(!(D===8||D===12))return!1;_(f);const V=f.currentPeek()===":";return f.resetPeek(),V}function M(f,b){const{currentType:D}=b;if(D!==10)return!1;const V=()=>{const re=f.currentPeek();return re==="{"?m(f.peek()):re==="@"||re==="%"||re==="|"||re===":"||re==="."||re===So||!re?!1:re===Tt?(f.peek(),V()):F(f,!1)},ie=V();return f.resetPeek(),ie}function I(f){_(f);const b=f.currentPeek()==="|";return f.resetPeek(),b}function C(f){const b=_(f),D=f.currentPeek()==="%"&&f.peek()==="{";return f.resetPeek(),{isModulo:D,hasSpace:b.length>0}}function F(f,b=!0){const D=(ie=!1,re="",j=!1)=>{const S=f.currentPeek();return S==="{"?re==="%"?!1:ie:S==="@"||!S?re==="%"?!0:ie:S==="%"?(f.peek(),D(ie,"%",!0)):S==="|"?re==="%"||j?!0:!(re===So||re===Tt):S===So?(f.peek(),D(!0,So,j)):S===Tt?(f.peek(),D(!0,Tt,j)):!0},V=D();return b&&f.resetPeek(),V}function H(f,b){const D=f.currentChar();return D===Io?Io:b(D)?(f.next(),D):null}function G(f){const b=f.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36}function U(f){return H(f,G)}function B(f){const b=f.charCodeAt(0);return b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===95||b===36||b===45}function T(f){return H(f,B)}function se(f){const b=f.charCodeAt(0);return b>=48&&b<=57}function ye(f){return H(f,se)}function ae(f){const b=f.charCodeAt(0);return b>=48&&b<=57||b>=65&&b<=70||b>=97&&b<=102}function oe(f){return H(f,ae)}function fe(f){let b="",D="";for(;b=ye(f);)D+=b;return D}function Pe(f){d(f);const b=f.currentChar();return b!=="%"&&p(ke.EXPECTED_TOKEN,r(),0,b),f.next(),"%"}function We(f){let b="";for(;;){const D=f.currentChar();if(D==="{"||D==="}"||D==="@"||D==="|"||!D)break;if(D==="%")if(F(f))b+=D,f.next();else break;else if(D===So||D===Tt)if(F(f))b+=D,f.next();else{if(I(f))break;b+=D,f.next()}else b+=D,f.next()}return b}function Xe(f){d(f);let b="",D="";for(;b=T(f);)D+=b;return f.currentChar()===Io&&p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),D}function Qe(f){d(f);let b="";return f.currentChar()==="-"?(f.next(),b+=`-${fe(f)}`):b+=fe(f),f.currentChar()===Io&&p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),b}function mt(f){return f!==_c&&f!==Tt}function Ke(f){d(f),w(f,"'");let b="",D="";for(;b=H(f,mt);)b==="\\"?D+=it(f):D+=b;const V=f.currentChar();return V===Tt||V===Io?(p(ke.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),V===Tt&&(f.next(),w(f,"'")),D):(w(f,"'"),D)}function it(f){const b=f.currentChar();switch(b){case"\\":case"'":return f.next(),`\\${b}`;case"u":return Ye(f,b,4);case"U":return Ye(f,b,6);default:return p(ke.UNKNOWN_ESCAPE_SEQUENCE,r(),0,b),""}}function Ye(f,b,D){w(f,b);let V="";for(let ie=0;ie{const V=f.currentChar();return V==="{"||V==="%"||V==="@"||V==="|"||V==="("||V===")"||!V||V===So?D:(D+=V,f.next(),b(D))};return b("")}function K(f){d(f);const b=w(f,"|");return d(f),b}function Y(f,b){let D=null;switch(f.currentChar()){case"{":return b.braceNest>=1&&p(ke.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),f.next(),D=g(b,2,"{"),d(f),b.braceNest++,D;case"}":return b.braceNest>0&&b.currentType===2&&p(ke.EMPTY_PLACEHOLDER,r(),0),f.next(),D=g(b,3,"}"),b.braceNest--,b.braceNest>0&&d(f),b.inLinked&&b.braceNest===0&&(b.inLinked=!1),D;case"@":return b.braceNest>0&&p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),D=X(f,b)||x(b),b.braceNest=0,D;default:{let ie=!0,re=!0,j=!0;if(I(f))return b.braceNest>0&&p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),D=g(b,1,K(f)),b.braceNest=0,b.inLinked=!1,D;if(b.braceNest>0&&(b.currentType===5||b.currentType===6||b.currentType===7))return p(ke.UNTERMINATED_CLOSING_BRACE,r(),0),b.braceNest=0,Q(f,b);if(ie=k(f,b))return D=g(b,5,Xe(f)),d(f),D;if(re=y(f,b))return D=g(b,6,Qe(f)),d(f),D;if(j=h(f,b))return D=g(b,7,Ke(f)),d(f),D;if(!ie&&!re&&!j)return D=g(b,13,$(f)),p(ke.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,D.value),d(f),D;break}}return D}function X(f,b){const{currentType:D}=b;let V=null;const ie=f.currentChar();switch((D===8||D===9||D===12||D===10)&&(ie===Tt||ie===So)&&p(ke.INVALID_LINKED_FORMAT,r(),0),ie){case"@":return f.next(),V=g(b,8,"@"),b.inLinked=!0,V;case".":return d(f),f.next(),g(b,9,".");case":":return d(f),f.next(),g(b,10,":");default:return I(f)?(V=g(b,1,K(f)),b.braceNest=0,b.inLinked=!1,V):A(f,b)||R(f,b)?(d(f),X(f,b)):L(f,b)?(d(f),g(b,12,N(f))):M(f,b)?(d(f),ie==="{"?Y(f,b)||V:g(b,11,E(f))):(D===8&&p(ke.INVALID_LINKED_FORMAT,r(),0),b.braceNest=0,b.inLinked=!1,Q(f,b))}}function Q(f,b){let D={type:14};if(b.braceNest>0)return Y(f,b)||x(b);if(b.inLinked)return X(f,b)||x(b);switch(f.currentChar()){case"{":return Y(f,b)||x(b);case"}":return p(ke.UNBALANCED_CLOSING_BRACE,r(),0),f.next(),g(b,3,"}");case"@":return X(f,b)||x(b);default:{if(I(f))return D=g(b,1,K(f)),b.braceNest=0,b.inLinked=!1,D;const{isModulo:ie,hasSpace:re}=C(f);if(ie)return re?g(b,0,We(f)):g(b,4,Pe(f));if(F(f))return g(b,0,We(f));break}}return D}function q(){const{currentType:f,offset:b,startLoc:D,endLoc:V}=l;return l.lastType=f,l.lastOffset=b,l.lastStartLoc=D,l.lastEndLoc=V,l.offset=a(),l.startLoc=r(),n.currentChar()===Io?g(l,14):Q(n,l)}return{nextToken:q,currentOffset:a,currentPosition:r,context:c}}const Pm="parser",Mm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Nm(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Im(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(k,y,h,A,...L){const R=k.currentPosition();if(R.offset+=A,R.column+=A,o){const M=t?Qa(h,R):null,I=hn(y,M,{domain:Pm,args:L});o(I)}}function r(k,y,h,A,...L){const R=k.currentPosition();if(R.offset+=A,R.column+=A,n){const M=t?Qa(h,R):null;n(km(y,M,L))}}function s(k,y,h){const A={type:k};return t&&(A.start=y,A.end=y,A.loc={start:h,end:h}),A}function i(k,y,h,A){t&&(k.end=y,k.loc&&(k.loc.end=h))}function l(k,y){const h=k.context(),A=s(3,h.offset,h.startLoc);return A.value=y,i(A,k.currentOffset(),k.currentPosition()),A}function c(k,y){const h=k.context(),{lastOffset:A,lastStartLoc:L}=h,R=s(5,A,L);return R.index=parseInt(y,10),k.nextToken(),i(R,k.currentOffset(),k.currentPosition()),R}function u(k,y,h){const A=k.context(),{lastOffset:L,lastStartLoc:R}=A,M=s(4,L,R);return M.key=y,h===!0&&(M.modulo=!0),k.nextToken(),i(M,k.currentOffset(),k.currentPosition()),M}function p(k,y){const h=k.context(),{lastOffset:A,lastStartLoc:L}=h,R=s(9,A,L);return R.value=y.replace(Mm,Nm),k.nextToken(),i(R,k.currentOffset(),k.currentPosition()),R}function g(k){const y=k.nextToken(),h=k.context(),{lastOffset:A,lastStartLoc:L}=h,R=s(8,A,L);return y.type!==12?(a(k,ke.UNEXPECTED_EMPTY_LINKED_MODIFIER,h.lastStartLoc,0),R.value="",i(R,A,L),{nextConsumeToken:y,node:R}):(y.value==null&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,Vt(y)),R.value=y.value||"",i(R,k.currentOffset(),k.currentPosition()),{node:R})}function x(k,y){const h=k.context(),A=s(7,h.offset,h.startLoc);return A.value=y,i(A,k.currentOffset(),k.currentPosition()),A}function w(k){const y=k.context(),h=s(6,y.offset,y.startLoc);let A=k.nextToken();if(A.type===9){const L=g(k);h.modifier=L.node,A=L.nextConsumeToken||k.nextToken()}switch(A.type!==10&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(A)),A=k.nextToken(),A.type===2&&(A=k.nextToken()),A.type){case 11:A.value==null&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(A)),h.key=x(k,A.value||"");break;case 5:A.value==null&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(A)),h.key=u(k,A.value||"");break;case 6:A.value==null&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(A)),h.key=c(k,A.value||"");break;case 7:A.value==null&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(A)),h.key=p(k,A.value||"");break;default:{a(k,ke.UNEXPECTED_EMPTY_LINKED_KEY,y.lastStartLoc,0);const L=k.context(),R=s(7,L.offset,L.startLoc);return R.value="",i(R,L.offset,L.startLoc),h.key=R,i(h,L.offset,L.startLoc),{nextConsumeToken:A,node:h}}}return i(h,k.currentOffset(),k.currentPosition()),{node:h}}function _(k){const y=k.context(),h=y.currentType===1?k.currentOffset():y.offset,A=y.currentType===1?y.endLoc:y.startLoc,L=s(2,h,A);L.items=[];let R=null,M=null;do{const F=R||k.nextToken();switch(R=null,F.type){case 0:F.value==null&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(F)),L.items.push(l(k,F.value||""));break;case 6:F.value==null&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(F)),L.items.push(c(k,F.value||""));break;case 4:M=!0;break;case 5:F.value==null&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(F)),L.items.push(u(k,F.value||"",!!M)),M&&(r(k,is.USE_MODULO_SYNTAX,y.lastStartLoc,0,Vt(F)),M=null);break;case 7:F.value==null&&a(k,ke.UNEXPECTED_LEXICAL_ANALYSIS,y.lastStartLoc,0,Vt(F)),L.items.push(p(k,F.value||""));break;case 8:{const H=w(k);L.items.push(H.node),R=H.nextConsumeToken||null;break}}}while(y.currentType!==14&&y.currentType!==1);const I=y.currentType===1?y.lastOffset:k.currentOffset(),C=y.currentType===1?y.lastEndLoc:k.currentPosition();return i(L,I,C),L}function d(k,y,h,A){const L=k.context();let R=A.items.length===0;const M=s(1,y,h);M.cases=[],M.cases.push(A);do{const I=_(k);R||(R=I.items.length===0),M.cases.push(I)}while(L.currentType!==14);return R&&a(k,ke.MUST_HAVE_MESSAGES_IN_PLURAL,h,0),i(M,k.currentOffset(),k.currentPosition()),M}function m(k){const y=k.context(),{offset:h,startLoc:A}=y,L=_(k);return y.currentType===14?L:d(k,h,A,L)}function v(k){const y=Tm(k,mc({},e)),h=y.context(),A=s(0,h.offset,h.startLoc);return t&&A.loc&&(A.loc.source=k),A.body=m(y),e.onCacheKey&&(A.cacheKey=e.onCacheKey(k)),h.currentType!==14&&a(y,ke.UNEXPECTED_LEXICAL_ANALYSIS,h.lastStartLoc,0,k[h.offset]||""),i(A,y.currentOffset(),y.currentPosition()),A}return{parse:v}}function Vt(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 Rm(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function vc(e,t){for(let o=0;okc(o)),e}function kc(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 o=0;os;function l(_,d){s.code+=_}function c(_,d=!0){const m=d?n:"";l(a?m+" ".repeat(_):m)}function u(_=!0){const d=++s.indentLevel;_&&c(d)}function p(_=!0){const d=--s.indentLevel;_&&c(d)}function g(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:g,helper:_=>`_${_}`,needIndent:()=>s.needIndent}}function Gm(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),bn(e,t.key),t.modifier?(e.push(", "),bn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Um(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=bc(t.mode)?t.mode:"normal",n=bc(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` `,r=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=jm(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${yc(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),bn(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function Vm(e,t={}){const o=mc({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=Im(o).parse(e);return n?(r&&Om(i),a&&mn(i),{ast:i,code:""}):(Fm(i,o),Hm(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Wm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(xo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(xo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(xo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function ro(e){return Ie(e)&&cs(e)===0&&(Ht(e,"b")||Ht(e,"body"))}const wc=["b","body"];function Ym(e){return Ro(e,wc)}const xc=["c","cases"];function qm(e){return Ro(e,xc,[])}const Sc=["s","static"];function Jm(e){return Ro(e,Sc)}const Ac=["i","items"];function Zm(e){return Ro(e,Ac,[])}const $c=["t","type"];function cs(e){return Ro(e,$c)}const Lc=["v","value"];function er(e,t){const o=Ro(e,Lc);if(o!=null)return o;throw Xn(t)}const Cc=["m","modifier"];function Xm(e){return Ro(e,Cc)}const Ec=["k","key"];function Qm(e){const t=Ro(e,Ec);if(t)return t;throw Xn(6)}function Ro(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},g[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},g[2]=()=>{g[0](),a++},g[3]=()=>{if(a>0)a--,n=4,g[0]();else{if(a=0,s===void 0||(s=ab(s),s===!1))return!1;g[1]()}};function x(){const w=e[o+1];if(n===5&&w==="'"||n===6&&w==='"')return o++,i="\\"+w,g[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&x())){if(l=nb(r),p=Fo[n],c=p[l]||p.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=g[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const Pc=new Map;function sb(e,t){return Ie(e)?e[t]:null}function ib(e,t){if(!Ie(e))return null;let o=Pc.get(t);if(o||(o=rb(t),o&&Pc.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,cb=e=>"",ub="text",db=e=>e.length===0?"":mm(e),pb=hm;function Mc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function gb(e){const t=st(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(st(e.named.count)||st(e.named.n))?st(e.named.count)?e.named.count:st(e.named.n)?e.named.n:t:t}function fb(e,t){t.count||(t.count=e),t.n||(t.n=e)}function hb(e={}){const t=e.locale,o=gb(e),n=Ie(e.pluralRules)&&pe(t)&&Ve(e.pluralRules[t])?e.pluralRules[t]:Mc,a=Ie(e.pluralRules)&&pe(t)&&Ve(e.pluralRules[t])?Mc:void 0,r=_=>_[n(o,_.length,a)],s=e.list||[],i=_=>s[_],l=e.named||Ge();st(e.pluralIndex)&&fb(o,l);const c=_=>l[_];function u(_){const k=Ve(e.messages)?e.messages(_):Ie(e.messages)?e.messages[_]:!1;return k||(e.parent?e.parent.message(_):cb)}const p=_=>e.modifiers?e.modifiers[_]:lb,g=Se(e.processor)&&Ve(e.processor.normalize)?e.processor.normalize:db,x=Se(e.processor)&&Ve(e.processor.interpolate)?e.processor.interpolate:pb,w=Se(e.processor)&&pe(e.processor.type)?e.processor.type:ub,d={list:i,named:c,plural:r,linked:(_,...k)=>{const[v,y]=k;let m="text",$="";k.length===1?Ie(v)?($=v.modifier||$,m=v.type||m):pe(v)&&($=v||$):k.length===2&&(pe(v)&&($=v||$),pe(y)&&(m=y||m));const L=u(_)(d),R=m==="vnode"&&Ze(L)&&$?L[0]:L;return $?p($)(R,m):R},message:u,type:w,interpolate:x,normalize:g,values:kt(Ge(),s,l)};return d}let Qn=null;function mb(e){Qn=e}function bb(e,t,o){Qn&&Qn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const yb=_b("function:translate");function _b(e){return t=>Qn&&Qn.emit(e,t)}const vb=is.__EXTEND_POINT__,Yo=Ja(vb),kb={FALLBACK_TO_TRANSLATE:Yo(),CANNOT_FORMAT_NUMBER:Yo(),FALLBACK_TO_NUMBER_FORMAT:Yo(),CANNOT_FORMAT_DATE:Yo(),FALLBACK_TO_DATE_FORMAT:Yo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Yo(),__EXTEND_POINT__:Yo()},Nc=ke.__EXTEND_POINT__,qo=Ja(Nc),Wt={INVALID_ARGUMENT:Nc,INVALID_DATE_ARGUMENT:qo(),INVALID_ISO_DATE_ARGUMENT:qo(),NOT_SUPPORT_NON_STRING_MESSAGE:qo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:qo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:qo(),NOT_SUPPORT_LOCALE_TYPE:qo(),__EXTEND_POINT__:qo()};function so(e){return hn(e,null,void 0)}function us(e,t){return t.locale!=null?Ic(t.locale):Ic(e.locale)}let ds;function Ic(e){if(pe(e))return e;if(Ve(e)){if(e.resolvedOnce&&ds!=null)return ds;if(e.constructor.name==="Function"){const t=e();if(fm(t))throw so(Wt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ds=t}else throw so(Wt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw so(Wt.NOT_SUPPORT_LOCALE_TYPE)}function wb(e,t,o){return[...new Set([o,...Ze(t)?t:Ie(t)?Object.keys(t):pe(t)?[t]:[o]])]}function Rc(e,t,o){const n=pe(o)?o:yn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;Ze(s);)s=Fc(r,s,t);const i=Ze(t)||!Se(t)?t:t.default?t.default:null;s=pe(i)?[i]:i,Ze(s)&&Fc(r,s,!1),a.__localeChainCache.set(n,r)}return r}function Fc(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function $b(){return{upper:(e,t)=>t==="text"&&pe(e)?e.toUpperCase():t==="vnode"&&Ie(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&pe(e)?e.toLowerCase():t==="vnode"&&Ie(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&pe(e)?Dc(e):t==="vnode"&&Ie(e)&&"__v_isVNode"in e?Dc(e.children):e}}let Bc;function jc(e){Bc=e}let Gc;function Lb(e){Gc=e}let Uc;function Cb(e){Uc=e}let Kc=null;const Eb=e=>{Kc=e},Tb=()=>Kc;let zc=null;const Hc=e=>{zc=e},Pb=()=>zc;let Vc=0;function Mb(e={}){const t=Ve(e.onWarn)?e.onWarn:im,o=pe(e.version)?e.version:Ab,n=pe(e.locale)||Ve(e.locale)?e.locale:yn,a=Ve(n)?yn:n,r=Ze(e.fallbackLocale)||Se(e.fallbackLocale)||pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Se(e.messages)?e.messages:ps(a),i=Se(e.datetimeFormats)?e.datetimeFormats:ps(a),l=Se(e.numberFormats)?e.numberFormats:ps(a),c=kt(Ge(),e.modifiers,$b()),u=e.pluralRules||Ge(),p=Ve(e.missing)?e.missing:null,g=Te(e.missingWarn)||No(e.missingWarn)?e.missingWarn:!0,x=Te(e.fallbackWarn)||No(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,h=!!e.unresolving,d=Ve(e.postTranslation)?e.postTranslation:null,_=Se(e.processor)?e.processor:null,k=Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,v=!!e.escapeParameter,y=Ve(e.messageCompiler)?e.messageCompiler:Bc,m=Ve(e.messageResolver)?e.messageResolver:Gc||sb,$=Ve(e.localeFallbacker)?e.localeFallbacker:Uc||wb,L=Ie(e.fallbackContext)?e.fallbackContext:void 0,R=e,M=Ie(R.__datetimeFormatters)?R.__datetimeFormatters:new Map,I=Ie(R.__numberFormatters)?R.__numberFormatters:new Map,C=Ie(R.__meta)?R.__meta:{};Vc++;const F={version:o,cid:Vc,locale:n,fallbackLocale:r,messages:s,modifiers:c,pluralRules:u,missing:p,missingWarn:g,fallbackWarn:x,fallbackFormat:w,unresolving:h,postTranslation:d,processor:_,warnHtmlMessage:k,escapeParameter:v,messageCompiler:y,messageResolver:m,localeFallbacker:$,fallbackContext:L,onWarn:t,__meta:C};return F.datetimeFormats=i,F.numberFormats=l,F.__datetimeFormatters=M,F.__numberFormatters=I,__INTLIFY_PROD_DEVTOOLS__&&bb(F,o,C),F}const ps=e=>({[e]:Ge()});function gs(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return pe(i)?i:t}else return t}function ea(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Nb(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Ib(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nRb(o,e)}function Rb(e,t){const o=Ym(t);if(o==null)throw Xn(0);if(cs(o)===1){const r=qm(o);return e.plural(r.reduce((s,i)=>[...s,Wc(e,i)],[]))}else return Wc(e,o)}function Wc(e,t){const o=Jm(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Zm(t).reduce((a,r)=>[...a,hs(e,r)],[]);return e.normalize(n)}}function hs(e,t){const o=cs(t);switch(o){case 3:return er(t,o);case 9:return er(t,o);case 4:{const n=t;if(Ht(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ht(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Xn(o)}case 5:{const n=t;if(Ht(n,"i")&&st(n.i))return e.interpolate(e.list(n.i));if(Ht(n,"index")&&st(n.index))return e.interpolate(e.list(n.index));throw Xn(o)}case 6:{const n=t,a=Xm(n),r=Qm(n);return e.linked(hs(e,r),a?hs(e,a):void 0,e.type)}case 7:return er(t,o);case 8:return er(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Yc=e=>e;let _n=Ge();function qc(e,t={}){let o=!1;const n=t.onError||xm;return t.onError=a=>{o=!0,n(a)},{...Vm(e,t),detectError:o}}const Fb=(e,t)=>{if(!pe(e))throw so(Wt.NOT_SUPPORT_NON_STRING_MESSAGE);{Te(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Yc)(e),a=_n[n];if(a)return a;const{code:r,detectError:s}=qc(e,t),i=new Function(`return ${r}`)();return s?i:_n[n]=i}};function Ob(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&pe(e)){Te(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Yc)(e),a=_n[n];if(a)return a;const{ast:r,detectError:s}=qc(e,{...t,location:!1,jit:!0}),i=fs(r);return s?i:_n[n]=i}else{const o=e.cacheKey;if(o){const n=_n[o];return n||(_n[o]=fs(e))}else return fs(e)}}const Jc=()=>"",Gt=e=>Ve(e);function Zc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,c]=ms(...t),u=Te(c.missingWarn)?c.missingWarn:e.missingWarn,p=Te(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,g=Te(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,w=pe(c.default)||Te(c.default)?Te(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",h=o||w!=="",d=us(e,c);g&&Db(c);let[_,k,v]=x?[l,d,i[d]||Ge()]:Xc(e,l,d,s,p,u),y=_,m=l;if(!x&&!(pe(y)||ro(y)||Gt(y))&&h&&(y=w,m=y),!x&&(!(pe(y)||ro(y)||Gt(y))||!pe(k)))return a?tr:l;let $=!1;const L=()=>{$=!0},R=Gt(y)?y:Qc(e,l,k,y,m,L);if($)return y;const M=Gb(e,k,v,c),I=hb(M),C=Bb(e,R,I);let F=n?n(C,l):C;if(g&&pe(F)&&(F=pm(F)),__INTLIFY_PROD_DEVTOOLS__){const H={timestamp:Date.now(),key:pe(l)?l:Gt(y)?y.key:"",locale:k||(Gt(y)?y.locale:""),format:pe(y)?y:Gt(y)?y.source:"",message:F};H.meta=kt({},e.__meta,Tb()||{}),yb(H)}return F}function Db(e){Ze(e.list)?e.list=e.list.map(t=>pe(t)?dc(t):t):Ie(e.named)&&Object.keys(e.named).forEach(t=>{pe(e.named[t])&&(e.named[t]=dc(e.named[t]))})}function Xc(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let p=Ge(),g,x=null;const w="translate";for(let h=0;hn;return c.locale=o,c.key=t,c}const l=s(n,jb(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function Bb(e,t,o){return t(o)}function ms(...e){const[t,o,n]=e,a=Ge();if(!pe(t)&&!st(t)&&!Gt(t)&&!ro(t))throw so(Wt.INVALID_ARGUMENT);const r=st(t)?String(t):(Gt(t),t);return st(o)?a.plural=o:pe(o)?a.default=o:Se(o)&&!qa(o)?a.named=o:Ze(o)&&(a.list=o),st(n)?a.plural=n:pe(n)?a.default=n:Se(n)&&kt(a,n),[r,a]}function jb(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>lm(t,o,s)}}function Gb(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,g={locale:t,modifiers:a,pluralRules:r,messages:x=>{let w=s(o,x);if(w==null&&u){const[,,h]=Xc(u,x,t,i,l,c);w=s(h,x)}if(pe(w)||ro(w)){let h=!1;const _=Qc(e,x,t,w,x,()=>{h=!0});return h?Jc:_}else return Gt(w)?w:Jc}};return e.processor&&(g.processor=e.processor),n.list&&(g.list=n.list),n.named&&(g.named=n.named),st(n.plural)&&(g.pluralIndex=n.plural),g}function eu(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=bs(...t),g=Te(u.missingWarn)?u.missingWarn:e.missingWarn;Te(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,w=us(e,u),h=s(e,a,w);if(!pe(l)||l==="")return new Intl.DateTimeFormat(w,p).format(c);let d={},_,k=null;const v="datetime format";for(let $=0;${tu.includes(l)?s[l]=o[l]:r[l]=o[l]}),pe(n)?r.locale=n:Se(n)&&(s=n),Se(a)&&(s=a),[r.key||"",i,r,s]}function ou(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function nu(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,c,u,p]=ys(...t),g=Te(u.missingWarn)?u.missingWarn:e.missingWarn;Te(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,w=us(e,u),h=s(e,a,w);if(!pe(l)||l==="")return new Intl.NumberFormat(w,p).format(c);let d={},_,k=null;const v="number format";for(let $=0;${au.includes(l)?s[l]=o[l]:r[l]=o[l]}),pe(n)?r.locale=n:Se(n)&&(s=n),Se(a)&&(s=a),[r.key||"",i,r,s]}function ru(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}Wm();/*! + */function Wm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(xo().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(xo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(xo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function ro(e){return Ie(e)&&cs(e)===0&&(Ht(e,"b")||Ht(e,"body"))}const wc=["b","body"];function Ym(e){return Ro(e,wc)}const xc=["c","cases"];function qm(e){return Ro(e,xc,[])}const Sc=["s","static"];function Jm(e){return Ro(e,Sc)}const Ac=["i","items"];function Zm(e){return Ro(e,Ac,[])}const $c=["t","type"];function cs(e){return Ro(e,$c)}const Lc=["v","value"];function er(e,t){const o=Ro(e,Lc);if(o!=null)return o;throw Xn(t)}const Cc=["m","modifier"];function Xm(e){return Ro(e,Cc)}const Ec=["k","key"];function Qm(e){const t=Ro(e,Ec);if(t)return t;throw Xn(6)}function Ro(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},g[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},g[2]=()=>{g[0](),a++},g[3]=()=>{if(a>0)a--,n=4,g[0]();else{if(a=0,s===void 0||(s=ab(s),s===!1))return!1;g[1]()}};function x(){const w=e[o+1];if(n===5&&w==="'"||n===6&&w==='"')return o++,i="\\"+w,g[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&x())){if(l=nb(r),p=Fo[n],c=p[l]||p.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=g[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const Pc=new Map;function sb(e,t){return Ie(e)?e[t]:null}function ib(e,t){if(!Ie(e))return null;let o=Pc.get(t);if(o||(o=rb(t),o&&Pc.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,cb=e=>"",ub="text",db=e=>e.length===0?"":mm(e),pb=hm;function Mc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function gb(e){const t=st(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(st(e.named.count)||st(e.named.n))?st(e.named.count)?e.named.count:st(e.named.n)?e.named.n:t:t}function fb(e,t){t.count||(t.count=e),t.n||(t.n=e)}function hb(e={}){const t=e.locale,o=gb(e),n=Ie(e.pluralRules)&&pe(t)&&Ve(e.pluralRules[t])?e.pluralRules[t]:Mc,a=Ie(e.pluralRules)&&pe(t)&&Ve(e.pluralRules[t])?Mc:void 0,r=m=>m[n(o,m.length,a)],s=e.list||[],i=m=>s[m],l=e.named||Ge();st(e.pluralIndex)&&fb(o,l);const c=m=>l[m];function u(m){const v=Ve(e.messages)?e.messages(m):Ie(e.messages)?e.messages[m]:!1;return v||(e.parent?e.parent.message(m):cb)}const p=m=>e.modifiers?e.modifiers[m]:lb,g=Se(e.processor)&&Ve(e.processor.normalize)?e.processor.normalize:db,x=Se(e.processor)&&Ve(e.processor.interpolate)?e.processor.interpolate:pb,w=Se(e.processor)&&pe(e.processor.type)?e.processor.type:ub,d={list:i,named:c,plural:r,linked:(m,...v)=>{const[k,y]=v;let h="text",A="";v.length===1?Ie(k)?(A=k.modifier||A,h=k.type||h):pe(k)&&(A=k||A):v.length===2&&(pe(k)&&(A=k||A),pe(y)&&(h=y||h));const L=u(m)(d),R=h==="vnode"&&Ze(L)&&A?L[0]:L;return A?p(A)(R,h):R},message:u,type:w,interpolate:x,normalize:g,values:kt(Ge(),s,l)};return d}let Qn=null;function mb(e){Qn=e}function bb(e,t,o){Qn&&Qn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const yb=_b("function:translate");function _b(e){return t=>Qn&&Qn.emit(e,t)}const vb=is.__EXTEND_POINT__,Yo=Ja(vb),kb={FALLBACK_TO_TRANSLATE:Yo(),CANNOT_FORMAT_NUMBER:Yo(),FALLBACK_TO_NUMBER_FORMAT:Yo(),CANNOT_FORMAT_DATE:Yo(),FALLBACK_TO_DATE_FORMAT:Yo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Yo(),__EXTEND_POINT__:Yo()},Nc=ke.__EXTEND_POINT__,qo=Ja(Nc),Wt={INVALID_ARGUMENT:Nc,INVALID_DATE_ARGUMENT:qo(),INVALID_ISO_DATE_ARGUMENT:qo(),NOT_SUPPORT_NON_STRING_MESSAGE:qo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:qo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:qo(),NOT_SUPPORT_LOCALE_TYPE:qo(),__EXTEND_POINT__:qo()};function so(e){return hn(e,null,void 0)}function us(e,t){return t.locale!=null?Ic(t.locale):Ic(e.locale)}let ds;function Ic(e){if(pe(e))return e;if(Ve(e)){if(e.resolvedOnce&&ds!=null)return ds;if(e.constructor.name==="Function"){const t=e();if(fm(t))throw so(Wt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ds=t}else throw so(Wt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw so(Wt.NOT_SUPPORT_LOCALE_TYPE)}function wb(e,t,o){return[...new Set([o,...Ze(t)?t:Ie(t)?Object.keys(t):pe(t)?[t]:[o]])]}function Rc(e,t,o){const n=pe(o)?o:yn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;Ze(s);)s=Fc(r,s,t);const i=Ze(t)||!Se(t)?t:t.default?t.default:null;s=pe(i)?[i]:i,Ze(s)&&Fc(r,s,!1),a.__localeChainCache.set(n,r)}return r}function Fc(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function $b(){return{upper:(e,t)=>t==="text"&&pe(e)?e.toUpperCase():t==="vnode"&&Ie(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&pe(e)?e.toLowerCase():t==="vnode"&&Ie(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&pe(e)?Dc(e):t==="vnode"&&Ie(e)&&"__v_isVNode"in e?Dc(e.children):e}}let Bc;function jc(e){Bc=e}let Gc;function Lb(e){Gc=e}let Uc;function Cb(e){Uc=e}let Kc=null;const Eb=e=>{Kc=e},Tb=()=>Kc;let zc=null;const Hc=e=>{zc=e},Pb=()=>zc;let Vc=0;function Mb(e={}){const t=Ve(e.onWarn)?e.onWarn:im,o=pe(e.version)?e.version:Ab,n=pe(e.locale)||Ve(e.locale)?e.locale:yn,a=Ve(n)?yn:n,r=Ze(e.fallbackLocale)||Se(e.fallbackLocale)||pe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Se(e.messages)?e.messages:ps(a),i=Se(e.datetimeFormats)?e.datetimeFormats:ps(a),l=Se(e.numberFormats)?e.numberFormats:ps(a),c=kt(Ge(),e.modifiers,$b()),u=e.pluralRules||Ge(),p=Ve(e.missing)?e.missing:null,g=Te(e.missingWarn)||No(e.missingWarn)?e.missingWarn:!0,x=Te(e.fallbackWarn)||No(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,_=!!e.unresolving,d=Ve(e.postTranslation)?e.postTranslation:null,m=Se(e.processor)?e.processor:null,v=Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter,y=Ve(e.messageCompiler)?e.messageCompiler:Bc,h=Ve(e.messageResolver)?e.messageResolver:Gc||sb,A=Ve(e.localeFallbacker)?e.localeFallbacker:Uc||wb,L=Ie(e.fallbackContext)?e.fallbackContext:void 0,R=e,M=Ie(R.__datetimeFormatters)?R.__datetimeFormatters:new Map,I=Ie(R.__numberFormatters)?R.__numberFormatters:new Map,C=Ie(R.__meta)?R.__meta:{};Vc++;const F={version:o,cid:Vc,locale:n,fallbackLocale:r,messages:s,modifiers:c,pluralRules:u,missing:p,missingWarn:g,fallbackWarn:x,fallbackFormat:w,unresolving:_,postTranslation:d,processor:m,warnHtmlMessage:v,escapeParameter:k,messageCompiler:y,messageResolver:h,localeFallbacker:A,fallbackContext:L,onWarn:t,__meta:C};return F.datetimeFormats=i,F.numberFormats=l,F.__datetimeFormatters=M,F.__numberFormatters=I,__INTLIFY_PROD_DEVTOOLS__&&bb(F,o,C),F}const ps=e=>({[e]:Ge()});function gs(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return pe(i)?i:t}else return t}function ea(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Nb(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Ib(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nRb(o,e)}function Rb(e,t){const o=Ym(t);if(o==null)throw Xn(0);if(cs(o)===1){const r=qm(o);return e.plural(r.reduce((s,i)=>[...s,Wc(e,i)],[]))}else return Wc(e,o)}function Wc(e,t){const o=Jm(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=Zm(t).reduce((a,r)=>[...a,hs(e,r)],[]);return e.normalize(n)}}function hs(e,t){const o=cs(t);switch(o){case 3:return er(t,o);case 9:return er(t,o);case 4:{const n=t;if(Ht(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ht(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Xn(o)}case 5:{const n=t;if(Ht(n,"i")&&st(n.i))return e.interpolate(e.list(n.i));if(Ht(n,"index")&&st(n.index))return e.interpolate(e.list(n.index));throw Xn(o)}case 6:{const n=t,a=Xm(n),r=Qm(n);return e.linked(hs(e,r),a?hs(e,a):void 0,e.type)}case 7:return er(t,o);case 8:return er(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Yc=e=>e;let _n=Ge();function qc(e,t={}){let o=!1;const n=t.onError||xm;return t.onError=a=>{o=!0,n(a)},{...Vm(e,t),detectError:o}}const Fb=(e,t)=>{if(!pe(e))throw so(Wt.NOT_SUPPORT_NON_STRING_MESSAGE);{Te(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Yc)(e),a=_n[n];if(a)return a;const{code:r,detectError:s}=qc(e,t),i=new Function(`return ${r}`)();return s?i:_n[n]=i}};function Ob(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&pe(e)){Te(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Yc)(e),a=_n[n];if(a)return a;const{ast:r,detectError:s}=qc(e,{...t,location:!1,jit:!0}),i=fs(r);return s?i:_n[n]=i}else{const o=e.cacheKey;if(o){const n=_n[o];return n||(_n[o]=fs(e))}else return fs(e)}}const Jc=()=>"",Gt=e=>Ve(e);function Zc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,c]=ms(...t),u=Te(c.missingWarn)?c.missingWarn:e.missingWarn,p=Te(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,g=Te(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,w=pe(c.default)||Te(c.default)?Te(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",_=o||w!=="",d=us(e,c);g&&Db(c);let[m,v,k]=x?[l,d,i[d]||Ge()]:Xc(e,l,d,s,p,u),y=m,h=l;if(!x&&!(pe(y)||ro(y)||Gt(y))&&_&&(y=w,h=y),!x&&(!(pe(y)||ro(y)||Gt(y))||!pe(v)))return a?tr:l;let A=!1;const L=()=>{A=!0},R=Gt(y)?y:Qc(e,l,v,y,h,L);if(A)return y;const M=Gb(e,v,k,c),I=hb(M),C=Bb(e,R,I);let F=n?n(C,l):C;if(g&&pe(F)&&(F=pm(F)),__INTLIFY_PROD_DEVTOOLS__){const H={timestamp:Date.now(),key:pe(l)?l:Gt(y)?y.key:"",locale:v||(Gt(y)?y.locale:""),format:pe(y)?y:Gt(y)?y.source:"",message:F};H.meta=kt({},e.__meta,Tb()||{}),yb(H)}return F}function Db(e){Ze(e.list)?e.list=e.list.map(t=>pe(t)?dc(t):t):Ie(e.named)&&Object.keys(e.named).forEach(t=>{pe(e.named[t])&&(e.named[t]=dc(e.named[t]))})}function Xc(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let p=Ge(),g,x=null;const w="translate";for(let _=0;_n;return c.locale=o,c.key=t,c}const l=s(n,jb(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function Bb(e,t,o){return t(o)}function ms(...e){const[t,o,n]=e,a=Ge();if(!pe(t)&&!st(t)&&!Gt(t)&&!ro(t))throw so(Wt.INVALID_ARGUMENT);const r=st(t)?String(t):(Gt(t),t);return st(o)?a.plural=o:pe(o)?a.default=o:Se(o)&&!qa(o)?a.named=o:Ze(o)&&(a.list=o),st(n)?a.plural=n:pe(n)?a.default=n:Se(n)&&kt(a,n),[r,a]}function jb(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>lm(t,o,s)}}function Gb(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,g={locale:t,modifiers:a,pluralRules:r,messages:x=>{let w=s(o,x);if(w==null&&u){const[,,_]=Xc(u,x,t,i,l,c);w=s(_,x)}if(pe(w)||ro(w)){let _=!1;const m=Qc(e,x,t,w,x,()=>{_=!0});return _?Jc:m}else return Gt(w)?w:Jc}};return e.processor&&(g.processor=e.processor),n.list&&(g.list=n.list),n.named&&(g.named=n.named),st(n.plural)&&(g.pluralIndex=n.plural),g}function eu(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=bs(...t),g=Te(u.missingWarn)?u.missingWarn:e.missingWarn;Te(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,w=us(e,u),_=s(e,a,w);if(!pe(l)||l==="")return new Intl.DateTimeFormat(w,p).format(c);let d={},m,v=null;const k="datetime format";for(let A=0;A<_.length&&(m=_[A],d=o[m]||{},v=d[l],!Se(v));A++)gs(e,l,m,g,k);if(!Se(v)||!pe(m))return n?tr:l;let y=`${m}__${l}`;qa(p)||(y=`${y}__${JSON.stringify(p)}`);let h=i.get(y);return h||(h=new Intl.DateTimeFormat(m,kt({},v,p)),i.set(y,h)),x?h.formatToParts(c):h.format(c)}const tu=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function bs(...e){const[t,o,n,a]=e,r=Ge();let s=Ge(),i;if(pe(t)){const l=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw so(Wt.INVALID_ISO_DATE_ARGUMENT);const c=l[3]?l[3].trim().startsWith("T")?`${l[1].trim()}${l[3].trim()}`:`${l[1].trim()}T${l[3].trim()}`:l[1].trim();i=new Date(c);try{i.toISOString()}catch{throw so(Wt.INVALID_ISO_DATE_ARGUMENT)}}else if(um(t)){if(isNaN(t.getTime()))throw so(Wt.INVALID_DATE_ARGUMENT);i=t}else if(st(t))i=t;else throw so(Wt.INVALID_ARGUMENT);return pe(o)?r.key=o:Se(o)&&Object.keys(o).forEach(l=>{tu.includes(l)?s[l]=o[l]:r[l]=o[l]}),pe(n)?r.locale=n:Se(n)&&(s=n),Se(a)&&(s=a),[r.key||"",i,r,s]}function ou(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function nu(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,c,u,p]=ys(...t),g=Te(u.missingWarn)?u.missingWarn:e.missingWarn;Te(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,w=us(e,u),_=s(e,a,w);if(!pe(l)||l==="")return new Intl.NumberFormat(w,p).format(c);let d={},m,v=null;const k="number format";for(let A=0;A<_.length&&(m=_[A],d=o[m]||{},v=d[l],!Se(v));A++)gs(e,l,m,g,k);if(!Se(v)||!pe(m))return n?tr:l;let y=`${m}__${l}`;qa(p)||(y=`${y}__${JSON.stringify(p)}`);let h=i.get(y);return h||(h=new Intl.NumberFormat(m,kt({},v,p)),i.set(y,h)),x?h.formatToParts(c):h.format(c)}const au=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function ys(...e){const[t,o,n,a]=e,r=Ge();let s=Ge();if(!st(t))throw so(Wt.INVALID_ARGUMENT);const i=t;return pe(o)?r.key=o:Se(o)&&Object.keys(o).forEach(l=>{au.includes(l)?s[l]=o[l]:r[l]=o[l]}),pe(n)?r.locale=n:Se(n)&&(s=n),Se(a)&&(s=a),[r.key||"",i,r,s]}function ru(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}Wm();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Ub="9.14.5";function Kb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(xo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(xo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(xo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(xo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(xo().__INTLIFY_PROD_DEVTOOLS__=!1)}const zb=kb.__EXTEND_POINT__,Ao=Ja(zb);Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao();const su=Wt.__EXTEND_POINT__,Mt=Ja(su),pt={UNEXPECTED_RETURN_TYPE:su,INVALID_ARGUMENT:Mt(),MUST_BE_CALL_SETUP_TOP:Mt(),NOT_INSTALLED:Mt(),NOT_AVAILABLE_IN_LEGACY_MODE:Mt(),REQUIRED_VALUE:Mt(),INVALID_VALUE:Mt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Mt(),NOT_INSTALLED_WITH_PROVIDE:Mt(),UNEXPECTED_ERROR:Mt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Mt(),BRIDGE_SUPPORT_VUE_2_ONLY:Mt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Mt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Mt(),__EXTEND_POINT__:Mt()};function ft(e,...t){return hn(e,null,void 0)}const _s=Mo("__translateVNode"),vs=Mo("__datetimeParts"),ks=Mo("__numberParts"),iu=Mo("__setPluralRules"),lu=Mo("__injectWithOption"),ws=Mo("__dispose");function ta(e){if(!Ie(e)||ro(e))return e;for(const t in e)if(Ht(e,t))if(!t.includes("."))Ie(e[t])&&ta(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||Ge(),Xa(c,s[l])):Xa(c,s)}else pe(i)&&Xa(JSON.parse(i),s)}),a==null&&r)for(const i in s)Ht(s,i)&&ta(s[i]);return s}function cu(e){return e.type}function uu(e,t,o){let n=Ie(t.messages)?t.messages:Ge();"__i18nGlobal"in o&&(n=or(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ie(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ie(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function du(e){return je(zn,null,e,0)}const pu="__INTLIFY_META__",gu=()=>[],Hb=()=>!1;let fu=0;function hu(e){return(t,o,n,a)=>e(o,n,ko()||void 0,a)}const Vb=()=>{const e=ko();let t=null;return e&&(t=cu(e)[pu])?{[pu]:t}:null};function xs(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=Ya?ue:an,i=!!e.translateExistCompatible;let l=Te(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:pe(e.locale)?e.locale:yn),u=s(o&&l?o.fallbackLocale.value:pe(e.fallbackLocale)||Ze(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=s(or(c.value,e)),g=s(Se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=s(Se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:Te(e.missingWarn)||No(e.missingWarn)?e.missingWarn:!0,h=o?o.fallbackWarn:Te(e.fallbackWarn)||No(e.fallbackWarn)?e.fallbackWarn:!0,d=o?o.fallbackRoot:Te(e.fallbackRoot)?e.fallbackRoot:!0,_=!!e.fallbackFormat,k=Ve(e.missing)?e.missing:null,v=Ve(e.missing)?hu(e.missing):null,y=Ve(e.postTranslation)?e.postTranslation:null,m=o?o.warnHtmlMessage:Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,$=!!e.escapeParameter;const L=o?o.modifiers:Se(e.modifiers)?e.modifiers:{};let R=e.pluralRules||o&&o.pluralRules,M;M=(()=>{a&&Hc(null);const j={version:Ub,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:L,pluralRules:R,missing:v===null?void 0:v,missingWarn:w,fallbackWarn:h,fallbackFormat:_,unresolving:!0,postTranslation:y===null?void 0:y,warnHtmlMessage:m,escapeParameter:$,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};j.datetimeFormats=g.value,j.numberFormats=x.value,j.__datetimeFormatters=Se(M)?M.__datetimeFormatters:void 0,j.__numberFormatters=Se(M)?M.__numberFormatters:void 0;const S=Mb(j);return a&&Hc(S),S})(),ea(M,c.value,u.value);function C(){return[c.value,u.value,p.value,g.value,x.value]}const F=ee({get:()=>c.value,set:j=>{c.value=j,M.locale=c.value}}),H=ee({get:()=>u.value,set:j=>{u.value=j,M.fallbackLocale=u.value,ea(M,c.value,j)}}),G=ee(()=>p.value),U=ee(()=>g.value),B=ee(()=>x.value);function T(){return Ve(y)?y:null}function se(j){y=j,M.postTranslation=j}function ye(){return k}function ae(j){j!==null&&(v=hu(j)),k=j,M.missing=v}const oe=(j,S,O,ne,ce,ge)=>{C();let Le;try{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=o?Pb():void 0),Le=j(M)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=void 0)}if(O!=="translate exists"&&st(Le)&&Le===tr||O==="translate exists"&&!Le){const[_e,ct]=S();return o&&d?ne(o):ce(_e)}else{if(ge(Le))return Le;throw ft(pt.UNEXPECTED_RETURN_TYPE)}};function fe(...j){return oe(S=>Reflect.apply(Zc,null,[S,...j]),()=>ms(...j),"translate",S=>Reflect.apply(S.t,S,[...j]),S=>S,S=>pe(S))}function Pe(...j){const[S,O,ne]=j;if(ne&&!Ie(ne))throw ft(pt.INVALID_ARGUMENT);return fe(S,O,kt({resolvedMessage:!0},ne||{}))}function We(...j){return oe(S=>Reflect.apply(eu,null,[S,...j]),()=>bs(...j),"datetime format",S=>Reflect.apply(S.d,S,[...j]),()=>Oc,S=>pe(S))}function Xe(...j){return oe(S=>Reflect.apply(nu,null,[S,...j]),()=>ys(...j),"number format",S=>Reflect.apply(S.n,S,[...j]),()=>Oc,S=>pe(S))}function Qe(j){return j.map(S=>pe(S)||st(S)||Te(S)?du(String(S)):S)}const Ke={normalize:Qe,interpolate:j=>j,type:"vnode"};function it(...j){return oe(S=>{let O;const ne=S;try{ne.processor=Ke,O=Reflect.apply(Zc,null,[ne,...j])}finally{ne.processor=null}return O},()=>ms(...j),"translate",S=>S[_s](...j),S=>[du(S)],S=>Ze(S))}function Ye(...j){return oe(S=>Reflect.apply(nu,null,[S,...j]),()=>ys(...j),"number format",S=>S[ks](...j),gu,S=>pe(S)||Ze(S))}function $t(...j){return oe(S=>Reflect.apply(eu,null,[S,...j]),()=>bs(...j),"datetime format",S=>S[vs](...j),gu,S=>pe(S)||Ze(S))}function A(j){R=j,M.pluralRules=R}function N(j,S){return oe(()=>{if(!j)return!1;const O=pe(S)?S:c.value,ne=Y(O),ce=M.messageResolver(ne,j);return i?ce!=null:ro(ce)||Gt(ce)||pe(ce)},()=>[j],"translate exists",O=>Reflect.apply(O.te,O,[j,S]),Hb,O=>Te(O))}function E(j){let S=null;const O=Rc(M,u.value,c.value);for(let ne=0;ne{l&&(c.value=j,M.locale=j,ea(M,c.value,u.value))}),nt(o.fallbackLocale,j=>{l&&(u.value=j,M.fallbackLocale=j,ea(M,c.value,u.value))}));const re={id:fu,locale:F,fallbackLocale:H,get inheritLocale(){return l},set inheritLocale(j){l=j,j&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,ea(M,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:G,get modifiers(){return L},get pluralRules(){return R||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(j){w=j,M.missingWarn=w},get fallbackWarn(){return h},set fallbackWarn(j){h=j,M.fallbackWarn=h},get fallbackRoot(){return d},set fallbackRoot(j){d=j},get fallbackFormat(){return _},set fallbackFormat(j){_=j,M.fallbackFormat=_},get warnHtmlMessage(){return m},set warnHtmlMessage(j){m=j,M.warnHtmlMessage=j},get escapeParameter(){return $},set escapeParameter(j){$=j,M.escapeParameter=j},t:fe,getLocaleMessage:Y,setLocaleMessage:Z,mergeLocaleMessage:X,getPostTranslationHandler:T,setPostTranslationHandler:se,getMissingHandler:ye,setMissingHandler:ae,[iu]:A};return re.datetimeFormats=U,re.numberFormats=B,re.rt=Pe,re.te=N,re.tm=K,re.d=We,re.n=Xe,re.getDateTimeFormat=q,re.setDateTimeFormat=f,re.mergeDateTimeFormat=b,re.getNumberFormat=D,re.setNumberFormat=V,re.mergeNumberFormat=ie,re[lu]=n,re[_s]=it,re[vs]=$t,re[ks]=Ye,re}function Wb(e){const t=pe(e.locale)?e.locale:yn,o=pe(e.fallbackLocale)||Ze(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Ve(e.missing)?e.missing:void 0,a=Te(e.silentTranslationWarn)||No(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Te(e.silentFallbackWarn)||No(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Te(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ve(e.postTranslation)?e.postTranslation:void 0,p=pe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,x=Te(e.sync)?e.sync:!0;let w=e.messages;if(Se(e.sharedMessages)){const $=e.sharedMessages;w=Object.keys($).reduce((R,M)=>{const I=R[M]||(R[M]={});return kt(I,$[M]),R},w||{})}const{__i18n:h,__root:d,__injectWithOption:_}=e,k=e.datetimeFormats,v=e.numberFormats,y=e.flatJson,m=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:y,datetimeFormats:k,numberFormats:v,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:m,__i18n:h,__root:d,__injectWithOption:_}}function Ss(e={},t){{const o=xs(Wb(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return Te(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Te(r)?!r:r},get silentFallbackWarn(){return Te(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Te(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,c={};let u=null,p=null;if(!pe(s))throw ft(pt.INVALID_ARGUMENT);const g=s;return pe(i)?c.locale=i:Ze(i)?u=i:Se(i)&&(p=i),Ze(l)?u=l:Se(l)&&(p=l),Reflect.apply(o.t,o,[g,u||p||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,p=null;if(!pe(s))throw ft(pt.INVALID_ARGUMENT);const g=s;return pe(i)?c.locale=i:st(i)?c.plural=i:Ze(i)?u=i:Se(i)&&(p=i),pe(l)?c.locale=l:Ze(l)?u=l:Se(l)&&(p=l),Reflect.apply(o.t,o,[g,u||p||{},c])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const As={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Yb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===$e?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Ge())}function mu(e){return $e}const bu=jn({name:"i18n-t",props:kt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>st(e)||!isNaN(e)}},As),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||wt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(p=>p!=="_"),s=Ge();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=pe(e.plural)?+e.plural:e.plural);const i=Yb(t,r),l=a[_s](e.keypath,i,s),c=kt(Ge(),n),u=pe(e.tag)||Ie(e.tag)?e.tag:mu();return Gl(u,c,l)}}});function qb(e){return Ze(e)&&!pe(e[0])}function yu(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Ge();e.locale&&(s.locale=e.locale),pe(e.format)?s.key=e.format:Ie(e.format)&&(pe(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((g,x)=>o.includes(x)?kt(Ge(),g,{[x]:e.format[x]}):g,Ge()));const l=n(e.value,s,i);let c=[s.key];Ze(l)?c=l.map((g,x)=>{const w=a[g.type],h=w?w({[g.type]:g.value,index:x,parts:l}):[g.value];return qb(h)&&(h[0].key=`${g.type}-${x}`),h}):pe(l)&&(c=[l]);const u=kt(Ge(),r),p=pe(e.tag)||Ie(e.tag)?e.tag:mu();return Gl(p,u,c)}}const _u=jn({name:"i18n-n",props:kt({value:{type:Number,required:!0},format:{type:[String,Object]}},As),setup(e,t){const o=e.i18n||wt({useScope:e.scope,__useComponent:!0});return yu(e,t,au,(...n)=>o[ks](...n))}}),vu=jn({name:"i18n-d",props:kt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},As),setup(e,t){const o=e.i18n||wt({useScope:e.scope,__useComponent:!0});return yu(e,t,tu,(...n)=>o[vs](...n))}});function Jb(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Zb(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw ft(pt.UNEXPECTED_ERROR);const u=Jb(e,i.$),p=ku(c);return[Reflect.apply(u.t,u,[...wu(p)]),u]};return{created:(s,i)=>{const[l,c]=t(i);Ya&&e.global===c&&(s.__i18nWatcher=nt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{Ya&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=ku(i);s.textContent=Reflect.apply(l.t,l,[...wu(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function ku(e){if(pe(e))return{path:e};if(Se(e)){if(!("path"in e))throw ft(pt.REQUIRED_VALUE,"path");return e}else throw ft(pt.INVALID_VALUE)}function wu(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return pe(o)&&(s.locale=o),st(a)&&(s.plural=a),st(r)&&(s.plural=r),[t,i,s]}function Xb(e,t,...o){const n=Se(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Te(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":bu.name,"I18nT"].forEach(s=>e.component(s,bu)),[_u.name,"I18nN"].forEach(s=>e.component(s,_u)),[vu.name,"I18nD"].forEach(s=>e.component(s,vu))),e.directive("t",Zb(t))}function Qb(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw ft(pt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=xu(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Ss(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=xu(e,a);else{this.$i18n=Ss({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&uu(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw ft(pt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function xu(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[iu](t.pluralizationRules||e.pluralizationRules);const o=or(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const ey=Mo("global-vue-i18n");function ty(e={},t){const o=__VUE_I18N_LEGACY_API__&&Te(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Te(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=oy(e,o),l=Mo("");function c(g){return r.get(g)||null}function u(g,x){r.set(g,x)}function p(g){r.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(x,...w){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,g),Se(w[0])){const _=w[0];g.__composerExtend=_.__composerExtend,g.__vueI18nExtend=_.__vueI18nExtend}let h=null;!o&&n&&(h=dy(x,g.global)),__VUE_I18N_FULL_INSTALL__&&Xb(x,g,...w),__VUE_I18N_LEGACY_API__&&o&&x.mixin(Qb(i,i.__composer,g));const d=x.unmount;x.unmount=()=>{h&&h(),g.dispose(),d()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:p};return g}}function wt(e={}){const t=ko();if(t==null)throw ft(pt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw ft(pt.NOT_INSTALLED);const o=ny(t),n=ry(o),a=cu(t),r=ay(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw ft(pt.NOT_AVAILABLE_IN_LEGACY_MODE);return cy(t,r,n,e)}if(r==="global")return uu(n,e,a),n;if(r==="parent"){let l=sy(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=kt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=xs(l),s.__composerExtend&&(i[ws]=s.__composerExtend(i)),ly(s,t,i),s.__setInstance(t,i)}return i}function oy(e,t,o){const n=vr();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ss(e)):n.run(()=>xs(e));if(a==null)throw ft(pt.UNEXPECTED_ERROR);return[n,a]}}function ny(e){{const t=Ee(e.isCE?ey:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw ft(e.isCE?pt.NOT_INSTALLED_WITH_PROVIDE:pt.UNEXPECTED_ERROR);return t}}function ay(e,t){return qa(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function ry(e){return e.mode==="composition"?e.global:e.global.__composer}function sy(e,t,o=!1){let n=null;const a=t.root;let r=iy(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[lu]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function iy(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function ly(e,t,o){to(()=>{},t),Fa(()=>{const n=o;e.__deleteInstance(t);const a=n[ws];a&&(a(),delete n[ws])},t)}function cy(e,t,o,n={}){const a=t==="local",r=an(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ft(pt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Te(n.inheritLocale)?n.inheritLocale:!pe(n.locale),i=ue(!a||s?o.locale.value:pe(n.locale)?n.locale:yn),l=ue(!a||s?o.fallbackLocale.value:pe(n.fallbackLocale)||Ze(n.fallbackLocale)||Se(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ue(or(i.value,n)),u=ue(Se(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=ue(Se(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=a?o.missingWarn:Te(n.missingWarn)||No(n.missingWarn)?n.missingWarn:!0,x=a?o.fallbackWarn:Te(n.fallbackWarn)||No(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:Te(n.fallbackRoot)?n.fallbackRoot:!0,h=!!n.fallbackFormat,d=Ve(n.missing)?n.missing:null,_=Ve(n.postTranslation)?n.postTranslation:null,k=a?o.warnHtmlMessage:Te(n.warnHtmlMessage)?n.warnHtmlMessage:!0,v=!!n.escapeParameter,y=a?o.modifiers:Se(n.modifiers)?n.modifiers:{},m=n.pluralRules||a&&o.pluralRules;function $(){return[i.value,l.value,c.value,u.value,p.value]}const L=ee({get:()=>r.value?r.value.locale.value:i.value,set:E=>{r.value&&(r.value.locale.value=E),i.value=E}}),R=ee({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:E=>{r.value&&(r.value.fallbackLocale.value=E),l.value=E}}),M=ee(()=>r.value?r.value.messages.value:c.value),I=ee(()=>u.value),C=ee(()=>p.value);function F(){return r.value?r.value.getPostTranslationHandler():_}function H(E){r.value&&r.value.setPostTranslationHandler(E)}function G(){return r.value?r.value.getMissingHandler():d}function U(E){r.value&&r.value.setMissingHandler(E)}function B(E){return $(),E()}function T(...E){return r.value?B(()=>Reflect.apply(r.value.t,null,[...E])):B(()=>"")}function se(...E){return r.value?Reflect.apply(r.value.rt,null,[...E]):""}function ye(...E){return r.value?B(()=>Reflect.apply(r.value.d,null,[...E])):B(()=>"")}function ae(...E){return r.value?B(()=>Reflect.apply(r.value.n,null,[...E])):B(()=>"")}function oe(E){return r.value?r.value.tm(E):{}}function fe(E,K){return r.value?r.value.te(E,K):!1}function Pe(E){return r.value?r.value.getLocaleMessage(E):{}}function We(E,K){r.value&&(r.value.setLocaleMessage(E,K),c.value[E]=K)}function Xe(E,K){r.value&&r.value.mergeLocaleMessage(E,K)}function Qe(E){return r.value?r.value.getDateTimeFormat(E):{}}function mt(E,K){r.value&&(r.value.setDateTimeFormat(E,K),u.value[E]=K)}function Ke(E,K){r.value&&r.value.mergeDateTimeFormat(E,K)}function it(E){return r.value?r.value.getNumberFormat(E):{}}function Ye(E,K){r.value&&(r.value.setNumberFormat(E,K),p.value[E]=K)}function $t(E,K){r.value&&r.value.mergeNumberFormat(E,K)}const A={get id(){return r.value?r.value.id:-1},locale:L,fallbackLocale:R,messages:M,datetimeFormats:I,numberFormats:C,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(E){r.value&&(r.value.inheritLocale=E)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:y},get pluralRules(){return r.value?r.value.pluralRules:m},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:g},set missingWarn(E){r.value&&(r.value.missingWarn=E)},get fallbackWarn(){return r.value?r.value.fallbackWarn:x},set fallbackWarn(E){r.value&&(r.value.missingWarn=E)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(E){r.value&&(r.value.fallbackRoot=E)},get fallbackFormat(){return r.value?r.value.fallbackFormat:h},set fallbackFormat(E){r.value&&(r.value.fallbackFormat=E)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:k},set warnHtmlMessage(E){r.value&&(r.value.warnHtmlMessage=E)},get escapeParameter(){return r.value?r.value.escapeParameter:v},set escapeParameter(E){r.value&&(r.value.escapeParameter=E)},t:T,getPostTranslationHandler:F,setPostTranslationHandler:H,getMissingHandler:G,setMissingHandler:U,rt:se,d:ye,n:ae,tm:oe,te:fe,getLocaleMessage:Pe,setLocaleMessage:We,mergeLocaleMessage:Xe,getDateTimeFormat:Qe,setDateTimeFormat:mt,mergeDateTimeFormat:Ke,getNumberFormat:it,setNumberFormat:Ye,mergeNumberFormat:$t};function N(E){E.locale.value=i.value,E.fallbackLocale.value=l.value,Object.keys(c.value).forEach(K=>{E.mergeLocaleMessage(K,c.value[K])}),Object.keys(u.value).forEach(K=>{E.mergeDateTimeFormat(K,u.value[K])}),Object.keys(p.value).forEach(K=>{E.mergeNumberFormat(K,p.value[K])}),E.escapeParameter=v,E.fallbackFormat=h,E.fallbackRoot=w,E.fallbackWarn=x,E.missingWarn=g,E.warnHtmlMessage=k}return al(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ft(pt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const E=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=E.locale.value,l.value=E.fallbackLocale.value,c.value=E.messages.value,u.value=E.datetimeFormats.value,p.value=E.numberFormats.value):a&&N(E)}),A}const uy=["locale","fallbackLocale","availableLocales"],Su=["t","rt","d","n","tm","te"];function dy(e,t){const o=Object.create(null);return uy.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw ft(pt.UNEXPECTED_ERROR);const s=Je(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,Su.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw ft(pt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Su.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Kb(),__INTLIFY_JIT_COMPILATION__?jc(Ob):jc(Fb),Lb(ib),Cb(Rc),__INTLIFY_PROD_DEVTOOLS__){const e=xo();e.__INTLIFY__=!0,mb(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const py=Object.assign({"./locales/ar/aria.json":yf,"./locales/ar/buttons.json":_f,"./locales/ar/detail.json":vf,"./locales/ar/legend.json":kf,"./locales/ar/messages.json":wf,"./locales/ar/options.json":xf,"./locales/ar/prayerLaps.json":Sf,"./locales/ar/search.json":Af,"./locales/ar/tabs.json":$f,"./locales/de/aria.json":Lf,"./locales/de/buttons.json":Cf,"./locales/de/detail.json":Ef,"./locales/de/legend.json":Tf,"./locales/de/messages.json":Pf,"./locales/de/options.json":Mf,"./locales/de/prayerLaps.json":Nf,"./locales/de/search.json":If,"./locales/de/tabs.json":Rf,"./locales/en/aria.json":Ff,"./locales/en/buttons.json":Of,"./locales/en/detail.json":Df,"./locales/en/legend.json":Bf,"./locales/en/messages.json":jf,"./locales/en/options.json":Gf,"./locales/en/popup.json":Uf,"./locales/en/prayerLaps.json":Kf,"./locales/en/search.json":zf,"./locales/en/tabs.json":Hf,"./locales/es/aria.json":Vf,"./locales/es/buttons.json":Wf,"./locales/es/detail.json":Yf,"./locales/es/legend.json":qf,"./locales/es/messages.json":Jf,"./locales/es/options.json":Zf,"./locales/es/prayerLaps.json":Xf,"./locales/es/search.json":Qf,"./locales/es/tabs.json":eh,"./locales/fr/aria.json":th,"./locales/fr/buttons.json":oh,"./locales/fr/detail.json":nh,"./locales/fr/legend.json":ah,"./locales/fr/messages.json":rh,"./locales/fr/options.json":sh,"./locales/fr/popup.json":ih,"./locales/fr/prayerLaps.json":lh,"./locales/fr/search.json":ch,"./locales/fr/tabs.json":uh,"./locales/hi/aria.json":dh,"./locales/hi/buttons.json":ph,"./locales/hi/detail.json":gh,"./locales/hi/legend.json":fh,"./locales/hi/messages.json":hh,"./locales/hi/options.json":mh,"./locales/hi/prayerLaps.json":bh,"./locales/hi/search.json":yh,"./locales/it/aria.json":_h,"./locales/it/buttons.json":vh,"./locales/it/detail.json":kh,"./locales/it/legend.json":wh,"./locales/it/messages.json":xh,"./locales/it/options.json":Sh,"./locales/it/prayerLaps.json":Ah,"./locales/it/search.json":$h,"./locales/pt/aria.json":Lh,"./locales/pt/buttons.json":Ch,"./locales/pt/detail.json":Eh,"./locales/pt/legend.json":Th,"./locales/pt/messages.json":Ph,"./locales/pt/options.json":Mh,"./locales/pt/prayerLaps.json":Nh,"./locales/pt/search.json":Ih,"./locales/pt/tabs.json":Rh,"./locales/ro/aria.json":Fh,"./locales/ro/buttons.json":Oh,"./locales/ro/detail.json":Dh,"./locales/ro/legend.json":Bh,"./locales/ro/messages.json":jh,"./locales/ro/options.json":Gh,"./locales/ro/prayerLaps.json":Uh,"./locales/ro/search.json":Kh,"./locales/ru/aria.json":zh,"./locales/ru/buttons.json":Hh,"./locales/ru/detail.json":Vh,"./locales/ru/legend.json":Wh,"./locales/ru/messages.json":Yh,"./locales/ru/options.json":qh,"./locales/ru/prayerLaps.json":Jh,"./locales/ru/search.json":Zh,"./locales/ru/tabs.json":Xh,"./locales/zh/aria.json":Qh,"./locales/zh/buttons.json":em,"./locales/zh/detail.json":tm,"./locales/zh/legend.json":om,"./locales/zh/messages.json":nm,"./locales/zh/options.json":am,"./locales/zh/prayerLaps.json":rm,"./locales/zh/search.json":sm}),oa={};for(const[e,t]of Object.entries(py)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;oa[n]??(oa[n]={}),oa[n][a]=t}const Au=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function gy(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Au.includes(t)?t:"en"}function fy(){return ty({legacy:!1,globalInjection:!0,locale:gy(),fallbackLocale:"en",messages:oa,missingWarn:!1,fallbackWarn:!1})}function ht(e,t){const o=t||hy(e);to(()=>{var i;const n=ko();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function hy(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=ee(()=>{var d;return((d=o==null?void 0:o.value)==null?void 0:d.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=ue(!1),s=ue(null);let i=null,l=null,c=null,u=null,p=null;function g(){r.value=!1}function x(d,_){var v;let k=d==null?void 0:d.parentElement;for(let y=0;k&&y<12;y++,k=k.parentElement){if(k===_||(v=k.classList)!=null&&v.contains("profile-loader"))return null;let m="";try{m=getComputedStyle(k).position}catch{}if(m&&m!=="static"){const $=k.getBoundingClientRect();if($.height>=120&&$.width>=160)return k}}return null}function w(){const d=s.value;if(d)try{d.style.removeProperty("--pin-hint-lift");const _=d.getBoundingClientRect();if(!_.height)return;const k=Math.round(_.bottom-window.innerHeight);k>0&&d.style.setProperty("--pin-hint-lift",k+8+"px")}catch{}}function h(d){const _=s.value;if(!_||!(d!=null&&d.querySelector))return;let k=0;try{const y=d.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(y){const m=y.getBoundingClientRect(),$=_.parentElement,L=$?$.getBoundingClientRect():null;if(k=L?Math.max(m.height||0,L.bottom-m.top):m.height||0,p!==y&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=y,c=new ResizeObserver(()=>h(d)),c.observe(y)}}}catch{}const v=Math.min(Math.max(Math.ceil(k)||20,20),72);_.style.setProperty("--pin-hint-attrib-clear",v+"px"),w()}return to(()=>{var v,y,m;const d=ko(),_=(m=(y=(v=d==null?void 0:d.proxy)==null?void 0:v.$el)==null?void 0:y.getRootNode)==null?void 0:m.call(y);if(!_||typeof _.querySelector!="function")return;let k=0;i=setInterval(()=>{k++;const $=_.querySelector("canvas");$?(clearInterval(i),i=null,r.value=!0,mo(()=>{const L=x($,_),R=s.value;if(L&&R&&R.parentElement!==L)try{L.appendChild(R),l=L}catch{}h(_),w();try{const M=s.value&&s.value.offsetParent||null;if(M&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>w()),u.observe(M)}}catch{}})):k>40&&(clearInterval(i),i=null)},300)}),yo(()=>{var d;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((d=s.value)==null?void 0:d.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),ht(` + */const Ub="9.14.5";function Kb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(xo().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(xo().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(xo().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(xo().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(xo().__INTLIFY_PROD_DEVTOOLS__=!1)}const zb=kb.__EXTEND_POINT__,Ao=Ja(zb);Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao(),Ao();const su=Wt.__EXTEND_POINT__,Mt=Ja(su),pt={UNEXPECTED_RETURN_TYPE:su,INVALID_ARGUMENT:Mt(),MUST_BE_CALL_SETUP_TOP:Mt(),NOT_INSTALLED:Mt(),NOT_AVAILABLE_IN_LEGACY_MODE:Mt(),REQUIRED_VALUE:Mt(),INVALID_VALUE:Mt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Mt(),NOT_INSTALLED_WITH_PROVIDE:Mt(),UNEXPECTED_ERROR:Mt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Mt(),BRIDGE_SUPPORT_VUE_2_ONLY:Mt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Mt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Mt(),__EXTEND_POINT__:Mt()};function ft(e,...t){return hn(e,null,void 0)}const _s=Mo("__translateVNode"),vs=Mo("__datetimeParts"),ks=Mo("__numberParts"),iu=Mo("__setPluralRules"),lu=Mo("__injectWithOption"),ws=Mo("__dispose");function ta(e){if(!Ie(e)||ro(e))return e;for(const t in e)if(Ht(e,t))if(!t.includes("."))Ie(e[t])&&ta(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||Ge(),Xa(c,s[l])):Xa(c,s)}else pe(i)&&Xa(JSON.parse(i),s)}),a==null&&r)for(const i in s)Ht(s,i)&&ta(s[i]);return s}function cu(e){return e.type}function uu(e,t,o){let n=Ie(t.messages)?t.messages:Ge();"__i18nGlobal"in o&&(n=or(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Ie(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Ie(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function du(e){return je(zn,null,e,0)}const pu="__INTLIFY_META__",gu=()=>[],Hb=()=>!1;let fu=0;function hu(e){return(t,o,n,a)=>e(o,n,ko()||void 0,a)}const Vb=()=>{const e=ko();let t=null;return e&&(t=cu(e)[pu])?{[pu]:t}:null};function xs(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=Ya?ue:an,i=!!e.translateExistCompatible;let l=Te(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:pe(e.locale)?e.locale:yn),u=s(o&&l?o.fallbackLocale.value:pe(e.fallbackLocale)||Ze(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=s(or(c.value,e)),g=s(Se(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=s(Se(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=o?o.missingWarn:Te(e.missingWarn)||No(e.missingWarn)?e.missingWarn:!0,_=o?o.fallbackWarn:Te(e.fallbackWarn)||No(e.fallbackWarn)?e.fallbackWarn:!0,d=o?o.fallbackRoot:Te(e.fallbackRoot)?e.fallbackRoot:!0,m=!!e.fallbackFormat,v=Ve(e.missing)?e.missing:null,k=Ve(e.missing)?hu(e.missing):null,y=Ve(e.postTranslation)?e.postTranslation:null,h=o?o.warnHtmlMessage:Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,A=!!e.escapeParameter;const L=o?o.modifiers:Se(e.modifiers)?e.modifiers:{};let R=e.pluralRules||o&&o.pluralRules,M;M=(()=>{a&&Hc(null);const j={version:Ub,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:L,pluralRules:R,missing:k===null?void 0:k,missingWarn:w,fallbackWarn:_,fallbackFormat:m,unresolving:!0,postTranslation:y===null?void 0:y,warnHtmlMessage:h,escapeParameter:A,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};j.datetimeFormats=g.value,j.numberFormats=x.value,j.__datetimeFormatters=Se(M)?M.__datetimeFormatters:void 0,j.__numberFormatters=Se(M)?M.__numberFormatters:void 0;const S=Mb(j);return a&&Hc(S),S})(),ea(M,c.value,u.value);function C(){return[c.value,u.value,p.value,g.value,x.value]}const F=Z({get:()=>c.value,set:j=>{c.value=j,M.locale=c.value}}),H=Z({get:()=>u.value,set:j=>{u.value=j,M.fallbackLocale=u.value,ea(M,c.value,j)}}),G=Z(()=>p.value),U=Z(()=>g.value),B=Z(()=>x.value);function T(){return Ve(y)?y:null}function se(j){y=j,M.postTranslation=j}function ye(){return v}function ae(j){j!==null&&(k=hu(j)),v=j,M.missing=k}const oe=(j,S,O,ne,ce,ge)=>{C();let Le;try{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=o?Pb():void 0),Le=j(M)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(M.fallbackContext=void 0)}if(O!=="translate exists"&&st(Le)&&Le===tr||O==="translate exists"&&!Le){const[_e,ct]=S();return o&&d?ne(o):ce(_e)}else{if(ge(Le))return Le;throw ft(pt.UNEXPECTED_RETURN_TYPE)}};function fe(...j){return oe(S=>Reflect.apply(Zc,null,[S,...j]),()=>ms(...j),"translate",S=>Reflect.apply(S.t,S,[...j]),S=>S,S=>pe(S))}function Pe(...j){const[S,O,ne]=j;if(ne&&!Ie(ne))throw ft(pt.INVALID_ARGUMENT);return fe(S,O,kt({resolvedMessage:!0},ne||{}))}function We(...j){return oe(S=>Reflect.apply(eu,null,[S,...j]),()=>bs(...j),"datetime format",S=>Reflect.apply(S.d,S,[...j]),()=>Oc,S=>pe(S))}function Xe(...j){return oe(S=>Reflect.apply(nu,null,[S,...j]),()=>ys(...j),"number format",S=>Reflect.apply(S.n,S,[...j]),()=>Oc,S=>pe(S))}function Qe(j){return j.map(S=>pe(S)||st(S)||Te(S)?du(String(S)):S)}const Ke={normalize:Qe,interpolate:j=>j,type:"vnode"};function it(...j){return oe(S=>{let O;const ne=S;try{ne.processor=Ke,O=Reflect.apply(Zc,null,[ne,...j])}finally{ne.processor=null}return O},()=>ms(...j),"translate",S=>S[_s](...j),S=>[du(S)],S=>Ze(S))}function Ye(...j){return oe(S=>Reflect.apply(nu,null,[S,...j]),()=>ys(...j),"number format",S=>S[ks](...j),gu,S=>pe(S)||Ze(S))}function $t(...j){return oe(S=>Reflect.apply(eu,null,[S,...j]),()=>bs(...j),"datetime format",S=>S[vs](...j),gu,S=>pe(S)||Ze(S))}function $(j){R=j,M.pluralRules=R}function N(j,S){return oe(()=>{if(!j)return!1;const O=pe(S)?S:c.value,ne=Y(O),ce=M.messageResolver(ne,j);return i?ce!=null:ro(ce)||Gt(ce)||pe(ce)},()=>[j],"translate exists",O=>Reflect.apply(O.te,O,[j,S]),Hb,O=>Te(O))}function E(j){let S=null;const O=Rc(M,u.value,c.value);for(let ne=0;ne{l&&(c.value=j,M.locale=j,ea(M,c.value,u.value))}),nt(o.fallbackLocale,j=>{l&&(u.value=j,M.fallbackLocale=j,ea(M,c.value,u.value))}));const re={id:fu,locale:F,fallbackLocale:H,get inheritLocale(){return l},set inheritLocale(j){l=j,j&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,ea(M,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:G,get modifiers(){return L},get pluralRules(){return R||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(j){w=j,M.missingWarn=w},get fallbackWarn(){return _},set fallbackWarn(j){_=j,M.fallbackWarn=_},get fallbackRoot(){return d},set fallbackRoot(j){d=j},get fallbackFormat(){return m},set fallbackFormat(j){m=j,M.fallbackFormat=m},get warnHtmlMessage(){return h},set warnHtmlMessage(j){h=j,M.warnHtmlMessage=j},get escapeParameter(){return A},set escapeParameter(j){A=j,M.escapeParameter=j},t:fe,getLocaleMessage:Y,setLocaleMessage:X,mergeLocaleMessage:Q,getPostTranslationHandler:T,setPostTranslationHandler:se,getMissingHandler:ye,setMissingHandler:ae,[iu]:$};return re.datetimeFormats=U,re.numberFormats=B,re.rt=Pe,re.te=N,re.tm=K,re.d=We,re.n=Xe,re.getDateTimeFormat=q,re.setDateTimeFormat=f,re.mergeDateTimeFormat=b,re.getNumberFormat=D,re.setNumberFormat=V,re.mergeNumberFormat=ie,re[lu]=n,re[_s]=it,re[vs]=$t,re[ks]=Ye,re}function Wb(e){const t=pe(e.locale)?e.locale:yn,o=pe(e.fallbackLocale)||Ze(e.fallbackLocale)||Se(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Ve(e.missing)?e.missing:void 0,a=Te(e.silentTranslationWarn)||No(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Te(e.silentFallbackWarn)||No(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Te(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Se(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ve(e.postTranslation)?e.postTranslation:void 0,p=pe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,g=!!e.escapeParameterHtml,x=Te(e.sync)?e.sync:!0;let w=e.messages;if(Se(e.sharedMessages)){const A=e.sharedMessages;w=Object.keys(A).reduce((R,M)=>{const I=R[M]||(R[M]={});return kt(I,A[M]),R},w||{})}const{__i18n:_,__root:d,__injectWithOption:m}=e,v=e.datetimeFormats,k=e.numberFormats,y=e.flatJson,h=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:w,flatJson:y,datetimeFormats:v,numberFormats:k,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:g,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:h,__i18n:_,__root:d,__injectWithOption:m}}function Ss(e={},t){{const o=xs(Wb(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return Te(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Te(r)?!r:r},get silentFallbackWarn(){return Te(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Te(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,c={};let u=null,p=null;if(!pe(s))throw ft(pt.INVALID_ARGUMENT);const g=s;return pe(i)?c.locale=i:Ze(i)?u=i:Se(i)&&(p=i),Ze(l)?u=l:Se(l)&&(p=l),Reflect.apply(o.t,o,[g,u||p||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,p=null;if(!pe(s))throw ft(pt.INVALID_ARGUMENT);const g=s;return pe(i)?c.locale=i:st(i)?c.plural=i:Ze(i)?u=i:Se(i)&&(p=i),pe(l)?c.locale=l:Ze(l)?u=l:Se(l)&&(p=l),Reflect.apply(o.t,o,[g,u||p||{},c])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const As={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Yb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===$e?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Ge())}function mu(e){return $e}const bu=jn({name:"i18n-t",props:kt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>st(e)||!isNaN(e)}},As),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||wt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(p=>p!=="_"),s=Ge();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=pe(e.plural)?+e.plural:e.plural);const i=Yb(t,r),l=a[_s](e.keypath,i,s),c=kt(Ge(),n),u=pe(e.tag)||Ie(e.tag)?e.tag:mu();return Gl(u,c,l)}}});function qb(e){return Ze(e)&&!pe(e[0])}function yu(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Ge();e.locale&&(s.locale=e.locale),pe(e.format)?s.key=e.format:Ie(e.format)&&(pe(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((g,x)=>o.includes(x)?kt(Ge(),g,{[x]:e.format[x]}):g,Ge()));const l=n(e.value,s,i);let c=[s.key];Ze(l)?c=l.map((g,x)=>{const w=a[g.type],_=w?w({[g.type]:g.value,index:x,parts:l}):[g.value];return qb(_)&&(_[0].key=`${g.type}-${x}`),_}):pe(l)&&(c=[l]);const u=kt(Ge(),r),p=pe(e.tag)||Ie(e.tag)?e.tag:mu();return Gl(p,u,c)}}const _u=jn({name:"i18n-n",props:kt({value:{type:Number,required:!0},format:{type:[String,Object]}},As),setup(e,t){const o=e.i18n||wt({useScope:e.scope,__useComponent:!0});return yu(e,t,au,(...n)=>o[ks](...n))}}),vu=jn({name:"i18n-d",props:kt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},As),setup(e,t){const o=e.i18n||wt({useScope:e.scope,__useComponent:!0});return yu(e,t,tu,(...n)=>o[vs](...n))}});function Jb(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function Zb(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw ft(pt.UNEXPECTED_ERROR);const u=Jb(e,i.$),p=ku(c);return[Reflect.apply(u.t,u,[...wu(p)]),u]};return{created:(s,i)=>{const[l,c]=t(i);Ya&&e.global===c&&(s.__i18nWatcher=nt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{Ya&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=ku(i);s.textContent=Reflect.apply(l.t,l,[...wu(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function ku(e){if(pe(e))return{path:e};if(Se(e)){if(!("path"in e))throw ft(pt.REQUIRED_VALUE,"path");return e}else throw ft(pt.INVALID_VALUE)}function wu(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return pe(o)&&(s.locale=o),st(a)&&(s.plural=a),st(r)&&(s.plural=r),[t,i,s]}function Xb(e,t,...o){const n=Se(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Te(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":bu.name,"I18nT"].forEach(s=>e.component(s,bu)),[_u.name,"I18nN"].forEach(s=>e.component(s,_u)),[vu.name,"I18nD"].forEach(s=>e.component(s,vu))),e.directive("t",Zb(t))}function Qb(e,t,o){return{beforeCreate(){const n=ko();if(!n)throw ft(pt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=xu(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Ss(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=xu(e,a);else{this.$i18n=Ss({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&uu(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ko();if(!n)throw ft(pt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function xu(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[iu](t.pluralizationRules||e.pluralizationRules);const o=or(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const ey=Mo("global-vue-i18n");function ty(e={},t){const o=__VUE_I18N_LEGACY_API__&&Te(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Te(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=oy(e,o),l=Mo("");function c(g){return r.get(g)||null}function u(g,x){r.set(g,x)}function p(g){r.delete(g)}{const g={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(x,...w){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,g),Se(w[0])){const m=w[0];g.__composerExtend=m.__composerExtend,g.__vueI18nExtend=m.__vueI18nExtend}let _=null;!o&&n&&(_=dy(x,g.global)),__VUE_I18N_FULL_INSTALL__&&Xb(x,g,...w),__VUE_I18N_LEGACY_API__&&o&&x.mixin(Qb(i,i.__composer,g));const d=x.unmount;x.unmount=()=>{_&&_(),g.dispose(),d()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:p};return g}}function wt(e={}){const t=ko();if(t==null)throw ft(pt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw ft(pt.NOT_INSTALLED);const o=ny(t),n=ry(o),a=cu(t),r=ay(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw ft(pt.NOT_AVAILABLE_IN_LEGACY_MODE);return cy(t,r,n,e)}if(r==="global")return uu(n,e,a),n;if(r==="parent"){let l=sy(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=kt({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=xs(l),s.__composerExtend&&(i[ws]=s.__composerExtend(i)),ly(s,t,i),s.__setInstance(t,i)}return i}function oy(e,t,o){const n=vr();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ss(e)):n.run(()=>xs(e));if(a==null)throw ft(pt.UNEXPECTED_ERROR);return[n,a]}}function ny(e){{const t=Ee(e.isCE?ey:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw ft(e.isCE?pt.NOT_INSTALLED_WITH_PROVIDE:pt.UNEXPECTED_ERROR);return t}}function ay(e,t){return qa(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function ry(e){return e.mode==="composition"?e.global:e.global.__composer}function sy(e,t,o=!1){let n=null;const a=t.root;let r=iy(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[lu]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function iy(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function ly(e,t,o){to(()=>{},t),Fa(()=>{const n=o;e.__deleteInstance(t);const a=n[ws];a&&(a(),delete n[ws])},t)}function cy(e,t,o,n={}){const a=t==="local",r=an(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw ft(pt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Te(n.inheritLocale)?n.inheritLocale:!pe(n.locale),i=ue(!a||s?o.locale.value:pe(n.locale)?n.locale:yn),l=ue(!a||s?o.fallbackLocale.value:pe(n.fallbackLocale)||Ze(n.fallbackLocale)||Se(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=ue(or(i.value,n)),u=ue(Se(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),p=ue(Se(n.numberFormats)?n.numberFormats:{[i.value]:{}}),g=a?o.missingWarn:Te(n.missingWarn)||No(n.missingWarn)?n.missingWarn:!0,x=a?o.fallbackWarn:Te(n.fallbackWarn)||No(n.fallbackWarn)?n.fallbackWarn:!0,w=a?o.fallbackRoot:Te(n.fallbackRoot)?n.fallbackRoot:!0,_=!!n.fallbackFormat,d=Ve(n.missing)?n.missing:null,m=Ve(n.postTranslation)?n.postTranslation:null,v=a?o.warnHtmlMessage:Te(n.warnHtmlMessage)?n.warnHtmlMessage:!0,k=!!n.escapeParameter,y=a?o.modifiers:Se(n.modifiers)?n.modifiers:{},h=n.pluralRules||a&&o.pluralRules;function A(){return[i.value,l.value,c.value,u.value,p.value]}const L=Z({get:()=>r.value?r.value.locale.value:i.value,set:E=>{r.value&&(r.value.locale.value=E),i.value=E}}),R=Z({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:E=>{r.value&&(r.value.fallbackLocale.value=E),l.value=E}}),M=Z(()=>r.value?r.value.messages.value:c.value),I=Z(()=>u.value),C=Z(()=>p.value);function F(){return r.value?r.value.getPostTranslationHandler():m}function H(E){r.value&&r.value.setPostTranslationHandler(E)}function G(){return r.value?r.value.getMissingHandler():d}function U(E){r.value&&r.value.setMissingHandler(E)}function B(E){return A(),E()}function T(...E){return r.value?B(()=>Reflect.apply(r.value.t,null,[...E])):B(()=>"")}function se(...E){return r.value?Reflect.apply(r.value.rt,null,[...E]):""}function ye(...E){return r.value?B(()=>Reflect.apply(r.value.d,null,[...E])):B(()=>"")}function ae(...E){return r.value?B(()=>Reflect.apply(r.value.n,null,[...E])):B(()=>"")}function oe(E){return r.value?r.value.tm(E):{}}function fe(E,K){return r.value?r.value.te(E,K):!1}function Pe(E){return r.value?r.value.getLocaleMessage(E):{}}function We(E,K){r.value&&(r.value.setLocaleMessage(E,K),c.value[E]=K)}function Xe(E,K){r.value&&r.value.mergeLocaleMessage(E,K)}function Qe(E){return r.value?r.value.getDateTimeFormat(E):{}}function mt(E,K){r.value&&(r.value.setDateTimeFormat(E,K),u.value[E]=K)}function Ke(E,K){r.value&&r.value.mergeDateTimeFormat(E,K)}function it(E){return r.value?r.value.getNumberFormat(E):{}}function Ye(E,K){r.value&&(r.value.setNumberFormat(E,K),p.value[E]=K)}function $t(E,K){r.value&&r.value.mergeNumberFormat(E,K)}const $={get id(){return r.value?r.value.id:-1},locale:L,fallbackLocale:R,messages:M,datetimeFormats:I,numberFormats:C,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(E){r.value&&(r.value.inheritLocale=E)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:y},get pluralRules(){return r.value?r.value.pluralRules:h},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:g},set missingWarn(E){r.value&&(r.value.missingWarn=E)},get fallbackWarn(){return r.value?r.value.fallbackWarn:x},set fallbackWarn(E){r.value&&(r.value.missingWarn=E)},get fallbackRoot(){return r.value?r.value.fallbackRoot:w},set fallbackRoot(E){r.value&&(r.value.fallbackRoot=E)},get fallbackFormat(){return r.value?r.value.fallbackFormat:_},set fallbackFormat(E){r.value&&(r.value.fallbackFormat=E)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:v},set warnHtmlMessage(E){r.value&&(r.value.warnHtmlMessage=E)},get escapeParameter(){return r.value?r.value.escapeParameter:k},set escapeParameter(E){r.value&&(r.value.escapeParameter=E)},t:T,getPostTranslationHandler:F,setPostTranslationHandler:H,getMissingHandler:G,setMissingHandler:U,rt:se,d:ye,n:ae,tm:oe,te:fe,getLocaleMessage:Pe,setLocaleMessage:We,mergeLocaleMessage:Xe,getDateTimeFormat:Qe,setDateTimeFormat:mt,mergeDateTimeFormat:Ke,getNumberFormat:it,setNumberFormat:Ye,mergeNumberFormat:$t};function N(E){E.locale.value=i.value,E.fallbackLocale.value=l.value,Object.keys(c.value).forEach(K=>{E.mergeLocaleMessage(K,c.value[K])}),Object.keys(u.value).forEach(K=>{E.mergeDateTimeFormat(K,u.value[K])}),Object.keys(p.value).forEach(K=>{E.mergeNumberFormat(K,p.value[K])}),E.escapeParameter=k,E.fallbackFormat=_,E.fallbackRoot=w,E.fallbackWarn=x,E.missingWarn=g,E.warnHtmlMessage=v}return al(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw ft(pt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const E=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=E.locale.value,l.value=E.fallbackLocale.value,c.value=E.messages.value,u.value=E.datetimeFormats.value,p.value=E.numberFormats.value):a&&N(E)}),$}const uy=["locale","fallbackLocale","availableLocales"],Su=["t","rt","d","n","tm","te"];function dy(e,t){const o=Object.create(null);return uy.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw ft(pt.UNEXPECTED_ERROR);const s=Je(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,Su.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw ft(pt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,Su.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Kb(),__INTLIFY_JIT_COMPILATION__?jc(Ob):jc(Fb),Lb(ib),Cb(Rc),__INTLIFY_PROD_DEVTOOLS__){const e=xo();e.__INTLIFY__=!0,mb(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const py=Object.assign({"./locales/ar/aria.json":yf,"./locales/ar/buttons.json":_f,"./locales/ar/detail.json":vf,"./locales/ar/legend.json":kf,"./locales/ar/messages.json":wf,"./locales/ar/options.json":xf,"./locales/ar/prayerLaps.json":Sf,"./locales/ar/search.json":Af,"./locales/ar/tabs.json":$f,"./locales/de/aria.json":Lf,"./locales/de/buttons.json":Cf,"./locales/de/detail.json":Ef,"./locales/de/legend.json":Tf,"./locales/de/messages.json":Pf,"./locales/de/options.json":Mf,"./locales/de/prayerLaps.json":Nf,"./locales/de/search.json":If,"./locales/de/tabs.json":Rf,"./locales/en/aria.json":Ff,"./locales/en/buttons.json":Of,"./locales/en/detail.json":Df,"./locales/en/legend.json":Bf,"./locales/en/messages.json":jf,"./locales/en/options.json":Gf,"./locales/en/popup.json":Uf,"./locales/en/prayerLaps.json":Kf,"./locales/en/search.json":zf,"./locales/en/tabs.json":Hf,"./locales/es/aria.json":Vf,"./locales/es/buttons.json":Wf,"./locales/es/detail.json":Yf,"./locales/es/legend.json":qf,"./locales/es/messages.json":Jf,"./locales/es/options.json":Zf,"./locales/es/prayerLaps.json":Xf,"./locales/es/search.json":Qf,"./locales/es/tabs.json":eh,"./locales/fr/aria.json":th,"./locales/fr/buttons.json":oh,"./locales/fr/detail.json":nh,"./locales/fr/legend.json":ah,"./locales/fr/messages.json":rh,"./locales/fr/options.json":sh,"./locales/fr/popup.json":ih,"./locales/fr/prayerLaps.json":lh,"./locales/fr/search.json":ch,"./locales/fr/tabs.json":uh,"./locales/hi/aria.json":dh,"./locales/hi/buttons.json":ph,"./locales/hi/detail.json":gh,"./locales/hi/legend.json":fh,"./locales/hi/messages.json":hh,"./locales/hi/options.json":mh,"./locales/hi/prayerLaps.json":bh,"./locales/hi/search.json":yh,"./locales/it/aria.json":_h,"./locales/it/buttons.json":vh,"./locales/it/detail.json":kh,"./locales/it/legend.json":wh,"./locales/it/messages.json":xh,"./locales/it/options.json":Sh,"./locales/it/prayerLaps.json":Ah,"./locales/it/search.json":$h,"./locales/pt/aria.json":Lh,"./locales/pt/buttons.json":Ch,"./locales/pt/detail.json":Eh,"./locales/pt/legend.json":Th,"./locales/pt/messages.json":Ph,"./locales/pt/options.json":Mh,"./locales/pt/prayerLaps.json":Nh,"./locales/pt/search.json":Ih,"./locales/pt/tabs.json":Rh,"./locales/ro/aria.json":Fh,"./locales/ro/buttons.json":Oh,"./locales/ro/detail.json":Dh,"./locales/ro/legend.json":Bh,"./locales/ro/messages.json":jh,"./locales/ro/options.json":Gh,"./locales/ro/prayerLaps.json":Uh,"./locales/ro/search.json":Kh,"./locales/ru/aria.json":zh,"./locales/ru/buttons.json":Hh,"./locales/ru/detail.json":Vh,"./locales/ru/legend.json":Wh,"./locales/ru/messages.json":Yh,"./locales/ru/options.json":qh,"./locales/ru/prayerLaps.json":Jh,"./locales/ru/search.json":Zh,"./locales/ru/tabs.json":Xh,"./locales/zh/aria.json":Qh,"./locales/zh/buttons.json":em,"./locales/zh/detail.json":tm,"./locales/zh/legend.json":om,"./locales/zh/messages.json":nm,"./locales/zh/options.json":am,"./locales/zh/prayerLaps.json":rm,"./locales/zh/search.json":sm}),oa={};for(const[e,t]of Object.entries(py)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;oa[n]??(oa[n]={}),oa[n][a]=t}const Au=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function gy(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Au.includes(t)?t:"en"}function fy(){return ty({legacy:!1,globalInjection:!0,locale:gy(),fallbackLocale:"en",messages:oa,missingWarn:!1,fallbackWarn:!1})}function ht(e,t){const o=t||hy(e);to(()=>{var i;const n=ko();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function hy(e){let t=0;for(let o=0;o(t==null?void 0:t.theme)==="dark"),a=Z(()=>{var d;return((d=o==null?void 0:o.value)==null?void 0:d.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),r=ue(!1),s=ue(null);let i=null,l=null,c=null,u=null,p=null;function g(){r.value=!1}function x(d,m){var k;let v=d==null?void 0:d.parentElement;for(let y=0;v&&y<12;y++,v=v.parentElement){if(v===m||(k=v.classList)!=null&&k.contains("profile-loader"))return null;let h="";try{h=getComputedStyle(v).position}catch{}if(h&&h!=="static"){const A=v.getBoundingClientRect();if(A.height>=120&&A.width>=160)return v}}return null}function w(){const d=s.value;if(d)try{d.style.removeProperty("--pin-hint-lift");const m=d.getBoundingClientRect();if(!m.height)return;const v=Math.round(m.bottom-window.innerHeight);v>0&&d.style.setProperty("--pin-hint-lift",v+8+"px")}catch{}}function _(d){const m=s.value;if(!m||!(d!=null&&d.querySelector))return;let v=0;try{const y=d.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(y){const h=y.getBoundingClientRect(),A=m.parentElement,L=A?A.getBoundingClientRect():null;if(v=L?Math.max(h.height||0,L.bottom-h.top):h.height||0,p!==y&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=y,c=new ResizeObserver(()=>_(d)),c.observe(y)}}}catch{}const k=Math.min(Math.max(Math.ceil(v)||20,20),72);m.style.setProperty("--pin-hint-attrib-clear",k+"px"),w()}return to(()=>{var k,y,h;const d=ko(),m=(h=(y=(k=d==null?void 0:d.proxy)==null?void 0:k.$el)==null?void 0:y.getRootNode)==null?void 0:h.call(y);if(!m||typeof m.querySelector!="function")return;let v=0;i=setInterval(()=>{v++;const A=m.querySelector("canvas");A?(clearInterval(i),i=null,r.value=!0,mo(()=>{const L=x(A,m),R=s.value;if(L&&R&&R.parentElement!==L)try{L.appendChild(R),l=L}catch{}_(m),w();try{const M=s.value&&s.value.offsetParent||null;if(M&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>w()),u.observe(M)}}catch{}})):v>40&&(clearInterval(i),i=null)},300)}),yo(()=>{var d;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((d=s.value)==null?void 0:d.parentElement)===l)try{l.removeChild(s.value)}catch{}l=null}),ht(` .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,7 +69,7 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(d,_)=>r.value?(W(),Q("div",{key:0,ref_key:"hintEl",ref:s,class:Ae(["pin-hint",{dark:n.value}]),role:"status"},[P("span",my,[_[0]||(_[0]=P("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),dt(" "+de(a.value)+" ",1),P("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:g},"×")])],2)):me("",!0)}},yy=!1;let _y=0;const vy=ss("ui",{state:()=>({_storeInstanceId:++_y,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(o=>o.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 o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"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:o="info",duration:n=this.toastDuration,action:a=null,persistent:r=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:r,createdAt:Date.now()};return this.toasts.push(s),!r&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.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(o=>o.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(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),ky=ss("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,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(a=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,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()}}}),wy=ss("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=Uo({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Uo({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 o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),na={_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}}},xy=".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}",vn=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Sy={class:"profile-loader"},Ay={key:0,class:"profile-error"},$y={key:1,class:"profile-error"},Ly=vn({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var y;const o=e,n=Ee("profileConfig",null),a=ee(()=>{var $;if(!o.profileConfig)return null;let m;try{m=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(m&&m.assetsBase===void 0){const L=($=n==null?void 0:n.value)==null?void 0:$.assetsBase;typeof L=="string"&&L&&(m.assetsBase=L)}return m}),r=ee(()=>{var m;return((m=a.value)==null?void 0:m.profile)||null}),s=ee(()=>{var $;const m=($=a.value)==null?void 0:$.tk;return typeof m=="string"&&m?m:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=ee(()=>{var m;return((m=a.value)==null?void 0:m.dataSource)||na.activeSource}),l=ee(()=>{var m;return((m=a.value)==null?void 0:m.colorSet)||"default"}),c=ee(()=>!1),u=ee(()=>{var m;return((m=a.value)==null?void 0:m.pinHint)!==!1}),p=ee(()=>{var $,L;const m=((($=a.value)==null?void 0:$.locale)||((L=a.value)==null?void 0:L.lang)||"").split("-")[0].toLowerCase();return Au.includes(m)?m:""}),g=Ee("appI18n",null);Lp(()=>{p.value&&g&&(g.global.locale.value=p.value)});const x=ee(()=>{var m,$;return p.value||(($=(m=g==null?void 0:g.global)==null?void 0:m.locale)==null?void 0:$.value)||"en"}),w=ee(()=>{var m;return((m=a.value)==null?void 0:m.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),h=Ee("profileModules",null);if(!h)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const d=ee(()=>{if(!r.value)return null;const m=`./${r.value}.vue`;return h[m]?ol(h[m]):(console.error(`[ProfileLoader] Profile not found: "${r.value}". Available:`,Object.keys(h)),null)});Pt("mapboxToken",s),Pt("dataSource",i),Pt("colorSet",l),Pt("profileConfig",a),Pt("instanceId",w),Pt("lang",x);const _=vy(),k=ky(),v=wy();try{const m=typeof localStorage<"u"?localStorage.getItem("theme"):null;m&&((y=_.setTheme)==null||y.call(_,m))}catch{}return Pt("uiStore",_),Pt("mapStore",k),Pt("dataStore",v),(m,$)=>(W(),Q("div",Sy,[a.value?d.value?(W(),rt(sl(d.value),{key:2})):(W(),Q("div",$y,[P("p",null,[$[1]||($[1]=dt("⚠️ Profile ",-1)),P("strong",null,'"'+de(r.value)+'"',1),$[2]||($[2]=dt(" not found.",-1))])])):(W(),Q("div",Ay,[...$[0]||($[0]=[P("p",null,[dt("⚠️ "),P("strong",null,"doxa-map"),dt(": missing or invalid "),P("code",null,"profile-config"),dt(" prop.")],-1),P("p",null,[dt("Example: "),P("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),d.value&&c.value?(W(),rt(sl(be(null)),{key:3})):me("",!0),d.value&&u.value?(W(),rt(by,{key:4})):me("",!0)]))}},[["styles",[xy]],["__scopeId","data-v-931b414b"]]),Cy=Object.assign({"./poster-wall.vue":()=>Cn(()=>Promise.resolve().then(()=>c0),void 0),"./upg-100-list.vue":()=>Cn(()=>Promise.resolve().then(()=>Tk),void 0),"./upg-100-mfe.vue":()=>Cn(()=>Promise.resolve().then(()=>sw),void 0)});if(typeof window<"u"&&(($d=window.mapboxgl)!=null&&$d.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function Ey(){return ef(Ly,{configureApp(e){e.use(pf()),e.use(fy()),e.provide("profileModules",Cy)}})}const Ty=Ey();typeof customElements<"u"&&(customElements.get("my-upg-100-list-map")||customElements.define("my-upg-100-list-map",Ty));function Py(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const o=t.ownerDocument.createElement("div");o.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(o);const n=o.getBoundingClientRect();return o.remove(),{x:n.left,y:n.top}}function $u(e){const t=ue(null),o=an({position:"fixed",inset:"0"}),n=()=>{var u,p;const r=t.value;if(!r)return;const s=Py(r),i=r.ownerDocument||(typeof document<"u"?document:null),l=((u=i==null?void 0:i.documentElement)==null?void 0:u.clientWidth)||0,c=((p=i==null?void 0:i.documentElement)==null?void 0:p.clientHeight)||0;o.value={position:"fixed",top:`${-s.y}px`,left:`${-s.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${c}px`,boxSizing:"border-box"}};nt(e,r=>{r&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const a=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",a),yo(()=>{typeof window<"u"&&window.removeEventListener("resize",a)}),{scrimRef:t,scrimStyle:o}}const Lu=[{id:"west-africa",label:"West Africa",count:118,selector:{type:"wagf_block",value:"west_africa"},bbox:[-21.3926,4.2189,27.2705,17.4735]},{id:"sudan",label:"Sudan",count:105,selector:{type:"country_code",value:"SDN"},bbox:[20.1672,9.0707,39.723,20.499]},{id:"brazil",label:"Brazil",count:103,selector:{type:"country_code",value:"BRA"},bbox:[-77.9152,-25.4802,-32.2913,7.3352]},{id:"east-africa",label:"East Africa",count:96,selector:{type:"wagf_block",value:"east_africa"},bbox:[22.3455,-14.3059,47.7947,20.0984]},{id:"laos",label:"Laos",count:95,selector:{type:"country_code",value:"LAO"},bbox:[99.8741,13.6759,108.2843,23.2186]},{id:"middle-east-core",label:"Middle East Core",count:71,selector:{type:"country_codes",values:["IRN","YEM","IRQ","OMN","SYR","LBN","PSE","QAT","SAU","JOR","BHR","ARE","KWT"]},bbox:[31.1468,9.3265,63.7915,42.0085]},{id:"andean-caribbean",label:"Andean + Caribbean",count:63,selector:{type:"country_codes",values:["COL","PER","VEN","ECU","BOL","PRY","PAN","CUB","SUR","ATG","ABW","BHS","BRB","CYM","CUW","GRD","JAM","LCA","SXM","TCA","VCT","GUY"]},bbox:[-85.7034,-31.2233,-51.7537,31.0655]},{id:"central-africa",label:"Central Africa",count:61,selector:{type:"wagf_block",value:"central_africa"},bbox:[.6063,-11.2806,32.2325,15.7303]},{id:"europe",label:"Europe",count:55,selector:{type:"wagf_region",value:"europe"},bbox:[-42.2659,-27.2213,168.5645,85]},{id:"oceania-indonesia",label:"Oceania + Indonesia",count:53,selector:{type:"union",selectors:[{type:"wagf_region",value:"oceania"},{type:"country_code",value:"IDN"}]},bbox:[83.9392,-43.091,-136.017,21.4266]},{id:"mainland-se-asia-philippines",label:"Mainland SE Asia + Philippines",count:50,selector:{type:"country_codes",values:["VNM","MYS","THA","MMR","BRN","KHM","PHL"]},bbox:[88.6434,.084,129.7854,26.789]},{id:"maghreb-egypt",label:"Maghreb + Egypt",count:47,selector:{type:"country_codes",values:["DZA","LBY","MAR","MRT","ESH","EGY","TUN"]},bbox:[-21.8716,14.0878,37.0339,39.1426]},{id:"southern-africa-islands",label:"Southern Africa + Islands of East Africa",count:39,selector:{type:"union",selectors:[{type:"wagf_block",value:"southern_africa"},{type:"wagf_block",value:"islands_of_east_africa"}]},bbox:[.638,-38.0929,63.5885,4.4534]}],Cu=[{id:"asia-india-rajasthan",label:"Northwest India",count:116,selector:{type:"pg_slugs",values:["arain-dogri","arain-punjabi","badi-marwari","bania-dogri","bania-kashmiri","baret","bargi","bhand-kashmiri","bhojki","bhopa","bhutta","bomba","brukpa","budhan","campa","cejara","chadwa","cheintz","chheepi","chobdar","chopan","chungar","cudigar","dadupanthi","damami","daoli","daule","dhaki","dhobi-dogri","dhola","dhyar","dokhpa","domal","dosali","gagra","galwan","ganz","gardi","ghihara","gorkun","gosain-kangri","gosain-rajasthani","gurru","hadi","hajjam-haryanvi","hajjam-kashmiri","hesi","hiranbaj","kawoj","khadim","kharol","khatik-chambeali","khatik-punjabi","kraal","kriyagar","kucband","lakhera-haryanvi","laskari","lohar-dogri","malaneese","mangnyar-muslims","manhas","manjygur-muslims","masku","moghol-dogri","moghol-marwari","mogia","mon-india","murhid","nagbansi-dogri","nagda","nai-mewari","najjar","namdagur","naqqas","nar","nicar","nyaria","pajabgar","pakhimara","pangwal-buddhists","pangwala","pinjara-punjabi","pohul","purig-pa","racband","rajkumhar","rajpurohit","ratal","rath","rehar","runwalas","sain","sanchia","sanhai","sansoi","santia","saraogi","sayyid-pahari","seok","shaksaz","shikari","shina-india","singiwala","sofi","sorgars","sudhan","sunga","swangla","tak","thavi","usta","van-baoriya","ved","vijabargiya","waza"]},bbox:[69.9484,22.3586,79.972,35.9424],provinceLabel:"Rājasthān + Haryāna + Himāchal Pradesh + Jammu and Kashmīr + Punjab + Chandīgarh + Ladākh"},{id:"asia-india-andhra-pradesh",label:"South-Central India",count:107,selector:{type:"pg_slugs",values:["accukattavandlu","aguru","aiyarakulu","andhra-vaisnawa","ansari-momin-telugu","arakala","are-bondili","are-kapu","are-katika","atollu","attagara","bandollu","bania-agarwal-telegu","bayita-kammara","berad","bhatrajulu","bhondari","bindla","bolla","budakukkala","cakketakare","camadollu","cippollu","cundollu","dammali","dasari","gandalla","gandla","gangireddula","ganta-sayebulu","garadi","gavara","godagali","godari","gosangi","guddi-eluguwallu","gurika","hajjam-telugu","hatgar","jains-telugu","jakkula","jandra","jethi","kachi","kaikali","karnam","karnibhakthulu","katipamula","khatik-telugu","kommu-dasari","konda-kammara","kuliya","kurakula","lakkamari-kapu","madiga-dasu","majjula","mala-masti","malis","mandula","manna-dhora","matangi","medari","mitha-ayyalavar","moghal-telugu","mondivogula","muchi-chamar","muli","musti-chenchu","nagavamsam","nakhasa","neyyala","ontaris","padigarajulu","pagativeshagallu","paky","pambala","pamidi","pamula","pancaratra-srivaisnavas-brahmans","pariki-muggula","patkars","rajannalu","reddi-dora","reddika","runjalavallu","sadaru","sadhu-chetty","sakunapaksollu","samayavallu","saradagallu","senapathi","silavantulu","sindhollu","swakulasali-koshti","tamboli-telugu","thogataveera-kshatriya","tirugatigantla","tolakari","udupula","uppara","vaikhanasa-brahmans","verra-musti","vipravinodulu","yata","yatagiri","yatla","yite"]},bbox:[76.462,12.5091,84.8294,19.785],provinceLabel:"Andhra Pradesh + Telangāna"},{id:"asia-india-odisha",label:"East India",count:88,selector:{type:"pg_slugs",values:["badhai-chhattisgarhi","baha-i","bairagi-chhattisgarhi","bairagi-odia","bangti","banka","bargah","bari-odia","bauti","bavuri","beldar-chhattisgarhi","bhangi-chhattisgarhi","bharewa","bharia-bhumia-chhattisgarhi","bhattra-bhatri","bhoi-odia","bhunjia","bondo","brahman-jyoti","candhai-maru","chaikwa","chatarkheya","cherua","citrakar","daitapati","damla","darji-odia","dhakad-halbi","dhera","didayi","dom-chhattisgarhi","eneti-dora","ghadwa","ghantarghada","ghogia","ghusuria","godra","gosain-chhattisgarhi","guna","irika","janughanta","jogi-halbi","jogi-odia","kachchi-alia","kalal-sadri","kamila","kapasiya","kasar-odia","khadura","khairwar-chhattisgarhi","khandwal","khati-odia","khatik-chhattisgarhi","kobari","kol-chhattisgarhi","koraga","kuda","kuli","kurunga","kusta","liari","maghia","mahuria","malia","markande-kanjia","mundapotta","munnewar","nai-odia","naksia","noliya","oriya","panara","pando","panka-odia","parenga","radhi","rana","sabakhia","samasi","sanei","sayyid-chhattisgarhi","sayyid-odia","sinduria","son-koli","suda","thanapati","tharua","tula-vina"]},bbox:[80.3325,17.5357,87.6538,23.9578],provinceLabel:"Odisha + Chhattīsgarh"},{id:"asia-india-gujarat",label:"West India",count:90,selector:{type:"pg_slugs",values:["agaria","agri","anjana-patel-gujarati","bafan","bairagi-gujarati","baloch","bamcha","banjania","barot","barthari","bhodala","borpi","caki","champta","cunara","dafer","dangasiya","dasnami-bawa","depala","dudhwala","gadhai","galiara","garmatan","garvi","gavli","ghantiya","golarana","gosain-gujarati","hajjam-gujarati","halaypotra","hingora","hingorza","jat-muslim","juneja","kahar-gujarati","kamalia","kambodia-bhagat","kapadi","kasar-gujarati","kasbati","kathi","ker","khalpa","khaskeli","khatik-gujarati","langa","machhiyara","majothi","makrani","mandali-muslims","mer","mir","miyana","moghol-gujarati","mujavar","muslim-khatri","muslim-lakhera","muslim-patel","mutwa","narsinghpura","nayak-muslims","node","padhar","panar","paradhi","patanwadia","patni-jamat","patni-vankars","pomla","rathodia","raysipotra","royma","sagar","sandhai-muslims","saranias","sayyid-gujarati","shravan","siddi","sompura-salat","tai","targala","theba","tirgar","turi-barot","vadi","vahivanca-barot","vayati","vyapari","wagheri","wandharo"]},bbox:[68.1752,20.1033,74.3448,24.7906],provinceLabel:"Gujarāt"},{id:"asia-india-karnataka",label:"Southwest India",count:86,selector:{type:"pg_slugs",values:["adiyan","agasa","ansari-momin-kannada","arasu","ayri","bagga","baira","balasantoshi","bandi","bania-kannada","bania-konkani","batada","bayil-kammara","bayil-pattar","bellara","bestha","chaptegar","charodi","chenna-dasar","dombi-dasa","durga-murga","gabit","galada-kokani","ganti-chores","gatti","gauli","ghadi","godda","gomantak-maratha","gond-kannada","gudikara","guraw","hajjam-kannada","halleer","harkantra","hasalaru","helawa","holeya-dasari","jatigar","jaweri","jogi-telugu","jogi-tulu","khakar","kolari","komara-panta","koosa","koraga-korra","kottari","koyava","kudiya","kudubi","kummara-kumbara","kurahina-setti","ladar","maila","malaikudi","maleru","manser","meda","mhalo","mith-gauda","mogaveera","mundala","nadors","nai-kannada","nairy","natua","nawaiyat","padarthis","padiyar","pambada","pattegar","pendar","pinjara-kannada","rachavar","raddi","rajapuri","raneyar","raval","raya-rawat","sapalyas","sayyid-kannada","soligaru","sudir","thammadi","vilyagaras"]},bbox:[73.2695,11.4418,78.7305,18.4466],provinceLabel:"Karnātaka + Goa"},{id:"asia-india-kerala",label:"Malabar Coast",count:78,selector:{type:"pg_slugs",values:["allar","ambalavasi","anthur-nair","arayavati","ayyanavar","bakuda","bania-malayalam","bowis-mogeyar","cakkala","cakkyar-nambiyar","chakkiyar","chamar-muchi-malayalam","chengazhi-nambiar","cingatanmar","dheevara","erawallan","ezhavathi","ilayatu","indo-french","indo-vietnamese","kakkalan","kalanadies","kalladi","kallattu-kurup","karimpalan","kavara","kavuthiyan","kidaran","kocu-wellan","kollan","kootan","kumar-kshatriya","kummara-kusuvan","kunduvadian","kurukkal","laccadive","malai-pandaram","malayalar","maran-nairs","marasari","mavilan","moger-malayalam","moothan","mukkari","musari","muttatu","nalkadaya","nambutiris","narsanna","nasuvan","nayadi","otans","padannan","palakad-tandans","pandithar","pathinaickans","pathiyan","pisaroti","poduval","pulisari","puspakan-unni","reddi","samanthan","sonavar","thachanad-moopan","tiyattunni","urindavan","vadugan","valinjiyar","vetan","vettalaikarans","vettiyan","vilkurup","visavan","wainadan-cetti","wainadan-kader","wainadan-pulayan","wayanad-pathiyan"]},bbox:[72.8992,7.9875,80.5765,13.0102],provinceLabel:"Kerala + Puducherry + Lakshadweep"},{id:"asia-india-tamil-nadu",label:"Southeast India + Andaman Islands",count:73,selector:{type:"pg_slugs",values:["alavan","andamanese","ansari-momin-tamil","anuppan","aranadan","baig","bhatu-andamani","bondili","brahmin-andamani","cekkala","chamar-muchi-tamil","chayakkaran","coorgi-andamanese","dasa-palanjika","dayare","dhobi-tamil","gangawar","great-andamanese","gudugudupandi","gurukkal","jains-tamil","jarawas","jati-pillai","kambalattan","kambar","kannada-naicker","kannada-saineegar","karaiyar","karlar","karna-sale","katesar","kattiakaran","kayalar","kepmari","koliyan","kongu-vaisnawa","kongu-vellala-gounder","kota","krishnavaka","kudumi","kuluvan","kummara-kummari","kunnuva-vellalar","malai-vellala","maleyan","maniyattikkaran","mudugar","nakkala","namdeo-maratha","nanjil-mudali","onge","pannadi","panniandi","parkavakulam","parvatarajakulam","pattanavan","perumkollar","salivahanam","savalakkarar","sayyid-tamil","semman","senaithalaivar","sentinelese","siviar","tambiran","telengi","tholuva-naicker","thoraiyar","tondman","uppillian","urikkar-naicker","vellaiyan-kuppam-padaiyaci","vettaikkaran"]},bbox:[74.7588,7.4577,94.7701,13.968],provinceLabel:"Tamil Nādu + Andaman and Nicobar Islands"},{id:"asia-india-madhya-pradesh",label:"Central India",count:88,selector:{type:"pg_slugs",values:["anjana","attar-saibulu","baharupi","banchada","baraua","barda","bari-hindi","bari-marathi","basudeva","berar","bhanumati","bharwad","bhoi-marathi","bhurtia","chari","chitari","citrakathi","dhawad","dhed","dom-marathi","gachha","garodi","garpagari","gondhali","gopal","hajjam-hindi","hardas","hatkar","jadam","jains-hindi","jhadi","kachchi-kushwaha","kachera-bagheli","kaghzi","kandera","kapewar","kasar-hindi","kasikapadi","kathar","kharvi","khatik-marathi","kokaniz","kolhati","kudimahan","ladia","ladsi","lahangir","lajjhar","lodha-marathi","lonar","mana","manbhav","mankar","mitna","mondiwar","muskhan","muslim-gond","muslim-kachera","nahal","naikpod","naita","namdeo","nandiwala","naoda","nat-bagheli","neeli","nema","nilkanth","pangul","phularis","pinjara-marathi","pochammalollu","prabhu-patane","rujjhar","sagharias","sahi","sais","sanghar","sarodi","sikligar","sisgars","soria","sutar-mistry","takari","velip","waidu","yelmar","zamral"]},bbox:[69.6832,14.969,83.1757,26.995],provinceLabel:"Madhya Pradesh + Mahārāshtra + Dādra and Nagar Haveli and Damān and Diu"},{id:"asia-india-uttarakhand",label:"North India + Nepal",count:92,selector:{type:"pg_slugs",values:["ahmadiya","anwal","arain-kannauji","badhik","badi","balahar","banpar","bargala","bargujar","bhuiyar","bisati","camma","charwaha","chaudangsi","dhamin","dhekaro","gadhia","gadihar","gandharv","habura","hijra","hindu-santarash","jadupetia","jains-maithili","jarkhandi-hajjam","jarkhandi-julaha","jharkhandi-nai","jimdar","jogi-angika","kadar","kankali","khangar-bundeli","khatbune","kuthliya-bora","modaks","mujavir","mukeri","nagbansi","nalband","pankhiya","patari","puran","putliwale","rai-bhat-muslims","rajdhop","raji-india","rastogi","rave","sahisia","sayyid-garhwali","sheikhzade","shershabadia","sukiyar","tagewale","thakurai","tikulhara","tilli","turuk-pasi","baniya","barae","bhand","bhediyar","bodo","byangsi","chidmar","churaute","dhobi","dhunia","dura","gangai","gyasumdoba","halkhor","haluwai","jaine","kaike","kamar","kanu","kayastha","lodha","makalu-sherpa","mali","mallah","marwadi","nurang","pahari-nagarkotis","puma","rajbhar","raji-nepal","shaikh-bhojpuri","sudhi","surel","tseku"]},extraCountryCodes:["NPL"],bbox:[76.0644,22.1727,88.8858,31.2428],adm0:["NPL"],provinces:["Uttarākhand","Uttar Pradesh","Bihār","Jhārkhand","Delhi"],provinceLabel:"North India + Nepal"},{id:"asia-india-west-bengal",label:"Northeast India + Bangladesh + Bhutan",count:87,selector:{type:"pg_slugs",values:["aiton","angarok","ansari-momin-bengali","bagti","baida","baisya","bajandar","banai","banik-bania","barua","bhakta","bhalla","bhujel","bilaspuri","byadh","chamar-assamese","chunari","dalu-india","dhal-kstriya","dhimal","ghazi","hajjam-assamese","hajjam-bengali","haluadas","jains-bengali","kakmara","kanda","kapuria","kasar-bengali","khairwar-bengali","khalifa","khamba","khamyang","khatik-bengali","khowa","koiren","kumhar-assamese","kurol","lois","mahisyadas","malakar","man","maria-muslims","matak","mirshikar","momba","mukhi","na","nai-assamese","namasudra-assamese","paharia","pangans","pinjara-dhunia-bengali","sabar","saha","serdukpen","shabdakar","siyalgar","sudra-das","sunuwar","sutradhar","taiphake","tamboli-bengali","teli-assamese","thanga","tripuri-kumhar","tripuri-namasudra","turun","yakha","yatibi","zakhrin","brokkat","chali","dalu-bangladesh","deaf-bhutanese","doya","dzalakha","gongduk","koda","kurtop","lakha","lunape","matpa","nupbi","nyenpa","ole","ushoi"]},extraCountryCodes:["BGD","BTN"],bbox:[84.6438,21.028,98.3478,29.4168],provinceLabel:"West Bengal + Sikkim + Meghālaya + Assam + Arunāchal Pradesh + Manipur + Tripura + Bangladesh + Bhutan",adm0:["BGD","BTN"]},{id:"asia-china-yunnan-province",label:"Southern China",count:109,selector:{type:"pg_slugs",values:["a-ou","ai-cham","akeu","aling","alu","angku","ani","aoka","apu","baonuo","beidongnuo","bit-china","black-thai","bugan","buyang","cai","changpao","chesu","dianbao","diao","doupo","eastern-samadu","eastern-xiangxi-miao","ga-mong","gao","gelao","guaigun","ha-li","hagei","hongjin-tai","hu","huishui-miao","jiamao-li","jiasou","jino","khmu","kong-ge","kucong","laba","labapo","laowu","lati-china","lawu","liang-e","linghua","liping-baheng","liude","liujia","longjia","lu","lupanshui-miao","mang-china","manmet","mashan-miao","meifu-li","mengwu","mishaba-laluo","mo","mosuo","mozhihei","muda","muzi","naheng","nanjingren","northern-awu","northern-dong","northern-muji","numao","palyu","panxian-nasu","pingdi-yao","popei","pubiao","puman","pusha","qanu","qiubei-zhuang","qixingmin","rao","rumai-de-ang","sanda","sanqiao","shenzhou","sichuan-mongols","ta-er","tagu","tai-lu","tai-pong","tulao","tusu","wenma-zhuang","western-gaisu","western-samadu","wopu","wunai","xi","xialusi","xiaoliangshan-nosu","xijima","xinping-lalu","xuzhang-lalu","ya","yanghuang","yerong","yizi","youmai","younuo-bunu","yunnan-mongol","yunnan-shui"]},bbox:[96.3204,17.3374,113.2066,29.9169],provinceLabel:"Yunnan Province + Guizhou Province + Guangxi Zhuang Autonomous Region + Hunan Province + Hainan Province",provinces:["Yunnan Province","Guizhou Province","Guangxi Zhuang Autonomous Region","Hunan Province","Hainan Province"]},{id:"asia-china-tibet-autonomous-region",label:"Mainland China + Mongolia",count:53,selector:{type:"pg_slugs",values:["adi","ainu-china","alxa-mongols","bogar-lhoba","bogol","boyu-tibetans","bunan","buryat","butuo-nosu","cona-monba","darang-deng","enger-yugur","ersu","geman-deng","heishui","henan-mongols","keji","kyrgyz","luzu","manyak","medog-monba","miguba","ming","minyak","naju","namuyi","nghari-tibetans","olot","ongkor","puroik","saman","saragh-yugur","sarikoli-tajiks","shixing","suodi-nosu","tongren-bonan","uzbeks","wakhi-china","western-xibe","wutun","yidu-lhoba","yinuo-nosu","za"]},extraCountryCodes:["MNG","PRK","JPN"],bbox:[69.2237,24.2385,130.4094,51.3865],provinceLabel:"Tibet Autonomous Region + Sichuan Province + Xinjiang Uyghur Autonomous Region + Gansu Province + Inner Mongolia Autonomous Region + Qinghai Province + Heilongjiang Province + Mongolia + Japan + North Korea",provinces:["Tibet Autonomous Region","Sichuan Province","Xinjiang Uyghur Autonomous Region","Gansu Province","Inner Mongolia Autonomous Region","Qinghai Province","Heilongjiang Province"],adm0:["MNG"]}],Eu=[{id:"uncovered-scatter",label:"Scattered / Diaspora",count:8,contiguous:!1,contiguityExempt:!0,flag:"allowed non-contiguous bucket (S5-D3) — diaspora/island/micro-territory strays + 2 unstamped CHN border PGs",selector:{type:"country_codes",values:["AND","CCK","GUF","USA"]},extra_slugs:["jing","pana-china"],bbox:[-150.7534,-18.855,123.4288,50.0639]},{id:"uncovered-nas-a",label:"Central Asia + Pakistan",count:55,contiguous:!0,contiguityExempt:!1,flag:"NAS-A real frontier zone (09b-asia-contiguity-v2 N-D6): MERGE of the former uncovered-sa-west (AFG+PAK) + uncovered-central-asia (AZE/KGZ/TJK/UZB) into ONE zone owning BOTH the legend count AND the ADM0 render coverage. AFG-PAK-UZB-TJK-KGZ form one contiguous land-border core; AZE is the flagged Caspian-separated near-member (S5-D2). KAZ stays deaf-only (its only PG is deaf-kazakhstanis). Target coverage 55 (design directive; uncovered coverage counts are carried through, not recomputable from admin-membership — NOTE-COUNT). ID kept in the uncovered-* family (NOT asia-frontier-nas-a) because zone-geometry.isAsiaZone() routes any asia-*-prefixed id down the ADM1 listId path — an asia-* id would resolve 0 ADM0 polys and render NOTHING. uncovered-* keeps it on the country_codes/ADM0 render path; re-prefixing is the render-layer's NEXT slice, not this one.",selector:{type:"country_codes",values:["AFG","AZE","KGZ","PAK","TJK","UZB"]},bbox:[42.6538,23.2204,79.3424,44.9954],provinceLabel:"Pakistan + Afghanistan + Uzbekistan + Tajikistan + Kyrgyzstan + Kazakhstan + Azerbaijan"}],My=Qo&&Qo.tagName.toUpperCase()==="SCRIPT"&&Qo.src||new URL("my-upg-100-list.js",document.baseURI).href,Oo=e=>String(e||"").trim().replace(/\/+$/,"");function Tu(){try{const t=String(My||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function Ny(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Oo(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return Oo(o)}return Oo(Tu()||"")}function $s(e){const t=e==null?void 0:e.assetsBase;if(typeof t=="string"&&t.trim()){const n=Oo(t);if(/^https?:\/\//i.test(n)||n.startsWith("/"))return n}const o=Oo((e==null?void 0:e.treeBase)||"")||Oo(Tu()||"");if(o)try{const n=typeof document<"u"?document.baseURI:void 0;return Oo(new URL(o+"/../assets",n).href)}catch{return Oo(o.replace(/\/[^/]*$/,"")+"/assets")}return"./assets"}function Iy({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,a=typeof window<"u",r=e||(n==null?void 0:n.shareUrl);if(typeof r=="string"&&r.trim())return r.trim();const s=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(s){if(/^https?:\/\//i.test(s))return s;if(s.startsWith("/"))return a?window.location.origin+s:s;const i=Ny(n),l=s.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return a?window.location.origin+window.location.pathname:""}const Ry=["country_code","wagf_region","wagf_block","primary_language","religion"];function Fy(e){return e==null?{value:null,label:null}:typeof e=="object"?{value:e.value??null,label:e.label??null}:{value:e,label:null}}function Oy(e){if(e==null||typeof e!="object")return e;const t={...e};for(const o of Ry)if(o in t){const{value:n,label:a}=Fy(t[o]);t[o]=n,a!=null&&(t[`${o}_label`]=a)}return t}function Ls(e){return Array.isArray(e)?e.map(Oy):[]}function Cs(e){return Array.isArray(e)?e:e&&typeof e=="object"?e.posts||e.data||e.records||e.results||e.items||[]:[]}function kn(e){return e==null||typeof e!="object"?null:e.slug??null}function Pu(e){return typeof e=="string"&&e.toLowerCase().includes("deaf")}function Dy(e){const t=e==null?null:e.rop1;return t==null?null:typeof t=="object"?t.value??null:t}function wn(e,t){const o=new Set;if(e==null||typeof e!="object"||typeof e.type!="string")throw new Error(`selector-evaluator: malformed selector (expected an object with a string \`type\`), got: ${JSON.stringify(e)}`);const n=Array.isArray(t)?t:[];switch(e.type){case"country_code":{const a=e.value;for(const r of n)if(r&&r.country_code===a){const s=kn(r);s!=null&&o.add(s)}return o}case"country_codes":{const a=new Set(Array.isArray(e.values)?e.values:[]);for(const r of n)if(r&&a.has(r.country_code)){const s=kn(r);s!=null&&o.add(s)}return o}case"wagf_block":{const a=e.value;for(const r of n)if(r&&r.wagf_block===a){const s=kn(r);s!=null&&o.add(s)}return o}case"wagf_region":{const a=e.value;for(const r of n)if(r&&r.wagf_region===a){const s=kn(r);s!=null&&o.add(s)}return o}case"union":{const a=Array.isArray(e.selectors)?e.selectors:[];for(const r of a){const s=wn(r,n);for(const i of s)o.add(i)}return o}case"deaf_predicate":{const a=new Set(Array.isArray(e.regions)?e.regions:[]);for(const r of n){if(!r)continue;if((Pu(r.slug)||Pu(r.name))&&a.has(r.wagf_region)){const i=kn(r);i!=null&&o.add(i)}}return o}case"affinity_bloc":{const a=e.rop1;for(const r of n)if(r&&Dy(r)===a){const s=kn(r);s!=null&&o.add(s)}return o}default:throw new Error(`selector-evaluator: unknown selector type "${e.type}" (supported: country_code, country_codes, wagf_block, wagf_region, union, deaf_predicate, affinity_bloc)`)}}const By=Object.freeze(Object.defineProperty({__proto__:null,default:wn,evaluate:wn},Symbol.toStringTag,{value:"Module"})),jy={class:"sec-head"},Gy={class:"sec-name"},Uy={class:"sec-count"},Ky={class:"grid"},zy=["data-list-id"],Hy=["aria-label","onClick"],Vy={class:"hcount"},Wy={class:"main"},Yy=["src","alt","title","onClick","onKeydown","onError"],qy={key:1,class:"ph"},Jy={class:"ph-label"},Zy={key:0,class:"ph-count"},Xy={class:"tape pfs"},Qy=["onClick","aria-label"],e0=["onClick","aria-label"],t0=["onClick","aria-label"],o0={class:"modal",role:"dialog","aria-live":"polite"},n0={class:"modal-kind"},a0={class:"modal-title"},r0={class:"modal-err"},s0={class:"modal-soon"},i0={class:"bar"},l0={class:"modal-phase"},c0=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"poster-wall",setup(e){const t={lists:Lu,asia_lists:Cu,uncovered_lists:Eu},o=Ee("profileConfig",ue(null)),n=ee(()=>{var I;return((I=o.value)==null?void 0:I.instanceId)||"upg-100-wall"}),a=ee(()=>{var I;return((I=o.value)==null?void 0:I.isDark)===!0}),r=ee(()=>$s(o.value)),s=I=>`${r.value}/posters/${I}.webp`,i=typeof window<"u"&&window.MAP_APP_API_URL||"https://pray.doxa.life",l={"west-africa":"Africa",sudan:"Africa","east-africa":"Africa","central-africa":"Africa","southern-africa-islands":"Africa","maghreb-egypt":"Middle East","middle-east-core":"Middle East","uncovered-nas-a":"Central Asia",laos:"Southeast Asia + Oceania","oceania-indonesia":"Southeast Asia + Oceania","mainland-se-asia-philippines":"Southeast Asia + Oceania",brazil:"Americas","andean-caribbean":"Americas","uncovered-scatter":"Americas",europe:"Europe"},c=I=>l[I]?l[I]:I.startsWith("asia-india-")?"India":I.startsWith("asia-china-")?"China + Mongolia":"Other",u=ee(()=>[...t.lists||[],...t.asia_lists||[],...t.uncovered_lists||[]].filter(I=>I&&I.id)),p=ee(()=>{const I=new Map;for(const C of u.value){const F=c(C.id);I.has(F)||I.set(F,[]),I.get(F).push(C)}return[...I.entries()].map(([C,F])=>({name:C,items:F.slice().sort((H,G)=>(G.count||0)-(H.count||0)),total:F.reduce((H,G)=>H+(G.count||0),0)})).sort((C,F)=>F.total-C.total)}),g=ue(null);function x(I){const C=g.value===I.id;g.value=C?null:I.id,window.dispatchEvent(new CustomEvent("doxa-upg-100-list:show-on-map",{detail:{instanceId:n.value,listId:C?null:I.id,label:C?null:I.label}}))}const w=I=>`${r.value}/previews/${I}.webp`,h=ue({}),d=ue(null),{scrimRef:_,scrimStyle:k}=$u(d);function v(I,C,{autoprint:F=!1}={}){const H=window.open("","_blank","width=980,height=1100");return H?(H.document.open(),H.document.write(C),F&&H.document.write(' - + - + - + - + - + - + - + - + - + - + - + - + - +